diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a4020504f9c07..4c08469efa5d8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -740,6 +740,7 @@ import { isThisInitializedObjectBindingExpression, isThisInTypeQuery, isThisProperty, + isThisTypeNode, isThisTypeParameter, isThisTypePredicate, isTransientSymbol, @@ -5964,7 +5965,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function isClassInstanceSide(type: Type) { return !!type.symbol && !!(type.symbol.flags & SymbolFlags.Class) && (type === getDeclaredTypeOfClassOrInterface(type.symbol) || (!!(type.flags & TypeFlags.Object) && !!(getObjectFlags(type) & ObjectFlags.IsClassInstanceClone))); } - + /** + * Same as getTypeFromTypeNode, but for use in createNodeBuilder + * Inside createNodeBuilder we shadow getTypeFromTypeNode to make sure anyone using this function will call the local version that does type mapping if appropriate + * This function is used to still be able to call the original getTypeFromTypeNode from the local scope version of getTypeFromTypeNode + */ + function getTypeFromTypeNodeWithoutContext(node: TypeNode) { + return getTypeFromTypeNode(node); + } function createNodeBuilder() { return { typeToTypeNode: (type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => typeToTypeNodeHelper(type, context)), @@ -5983,6 +5991,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { symbolToNode: (symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => symbolToNode(symbol, context, meaning)), }; + function getTypeFromTypeNode(context: NodeBuilderContext, node: TypeNode, noMappedTypes?: false): Type; + function getTypeFromTypeNode(context: NodeBuilderContext, node: TypeNode, noMappedTypes: true): Type | undefined; + function getTypeFromTypeNode(context: NodeBuilderContext, node: TypeNode, noMappedTypes?: boolean): Type | undefined { + const type = getTypeFromTypeNodeWithoutContext(node); + if (!context.mapper) return type; + + const mappedType = instantiateType(type, context.mapper); + return noMappedTypes && mappedType !== type ? undefined : mappedType; + } + /** * Unlike the utilities `setTextRange`, this checks if the `location` we're trying to set on `range` is within the * same file as the active context. If not, the range is not applied. This prevents us from copying ranges across files, @@ -6052,7 +6070,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } const clone = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host); if (clone) { - if (addUndefined && !someType(getTypeFromTypeNode(typeNode), t => !!(t.flags & TypeFlags.Undefined))) { + if (addUndefined && !someType(getTypeFromTypeNode(context, typeNode), t => !!(t.flags & TypeFlags.Undefined))) { return factory.createUnionTypeNode([clone, factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)]); } return clone; @@ -6071,9 +6089,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { existing: TypeNode, type: Type, host = context.enclosingDeclaration, - annotationType?: Type, + annotationType = getTypeFromTypeNode(context, existing, /*noMappedTypes*/ true), ) { - if (typeNodeIsEquivalentToType(existing, host, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + if (annotationType && typeNodeIsEquivalentToType(host, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { const result = tryReuseExistingTypeNodeHelper(context, existing); if (result) { return result; @@ -6125,6 +6143,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { typeParameterNames: undefined, typeParameterNamesByText: undefined, typeParameterNamesByTextNextNameCount: undefined, + mapper: undefined, }; context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); @@ -6414,8 +6433,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { context.inferTypeParameters = type.root.inferTypeParameters; const extendsTypeNode = typeToTypeNodeHelper(instantiateType(type.root.extendsType, newMapper), context); context.inferTypeParameters = saveInferTypeParameters; - const trueTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(type.root.node.trueType), newMapper)); - const falseTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(type.root.node.falseType), newMapper)); + const trueTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(context, type.root.node.trueType), newMapper)); + const falseTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(context, type.root.node.falseType), newMapper)); // outermost conditional makes `T` a type parameter, allowing the inner conditionals to be distributive // second conditional makes `T` have `T & checkType` substitution, so it is correctly usable as the checkType @@ -6512,7 +6531,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // homomorphic mapped type with a non-homomorphic naive inlining // wrap it with a conditional like `SomeModifiersType extends infer U ? {..the mapped type...} : never` to ensure the resulting // type stays homomorphic - const originalConstraint = instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode((type.declaration.typeParameter.constraint! as TypeOperatorNode).type) as TypeParameter) || unknownType, type.mapper); + const originalConstraint = instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode(context, (type.declaration.typeParameter.constraint! as TypeOperatorNode).type) as TypeParameter) || unknownType, type.mapper); return factory.createConditionalTypeNode( typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), factory.createInferTypeNode(factory.createTypeParameterDeclaration(/*modifiers*/ undefined, factory.cloneNode(newTypeVariable!.typeName) as Identifier, originalConstraint.flags & TypeFlags.Unknown ? undefined : typeToTypeNodeHelper(originalConstraint, context))), @@ -7198,7 +7217,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { let typeArguments: TypeNode[] | undefined; const expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; - const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters, signature.parameters); + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters, signature.parameters, signature.mapper); context.approximateLength += 3; // Usually a signature contributes a few more characters than this, but 3 is the minimum if (context.flags & NodeBuilderFlags.WriteTypeArgumentsOfSignature && signature.target && signature.mapper && signature.target.typeParameters) { @@ -7278,6 +7297,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { expandedParams: readonly Symbol[] | undefined, typeParameters: readonly TypeParameter[] | undefined, originalParameters?: readonly Symbol[] | undefined, + mapper?: TypeMapper, ) { const cleanupContext = cloneNodeBuilderContext(context); // For regular function/method declarations, the enclosing declaration will already be signature.declaration, @@ -7295,6 +7315,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { let cleanupParams: (() => void) | undefined; let cleanupTypeParams: (() => void) | undefined; const oldEnclosingDecl = context.enclosingDeclaration; + const oldMapper = context.mapper; + if (mapper) { + context.mapper = mapper; + } if (context.enclosingDeclaration && declaration) { // As a performance optimization, reuse the same fake scope within this chain. // This is especially needed when we are working on an excessively deep type; @@ -7427,6 +7451,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { cleanupTypeParams?.(); cleanupContext(); context.enclosingDeclaration = oldEnclosingDecl; + context.mapper = oldMapper; }; } @@ -7442,7 +7467,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { /*dotDotDotToken*/ undefined, "this", /*questionToken*/ undefined, - typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context), + typeToTypeNodeHelper(getTypeFromTypeNode(context, thisTag.typeExpression), context), ); } } @@ -8137,7 +8162,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { }; } - function getDeclarationWithTypeAnnotation(symbol: Symbol, enclosingDeclaration: Node | undefined) { + function getDeclarationWithTypeAnnotation(symbol: Symbol, enclosingDeclaration?: Node | undefined) { return symbol.declarations && find(symbol.declarations, s => !!getNonlocalEffectiveTypeAnnotationNode(s) && (!enclosingDeclaration || !!findAncestor(s, n => n === enclosingDeclaration))); } @@ -8175,11 +8200,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (enclosingDeclaration && (!isErrorType(type) || (context.flags & NodeBuilderFlags.AllowUnresolvedNames))) { const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) ? declaration - : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); + : getDeclarationWithTypeAnnotation(symbol); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { // try to reuse the existing annotation const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation)!; - const result = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + const result = !isTypePredicateNode(existing) && tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); if (result) { return result; } @@ -8205,7 +8230,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return result; } - function typeNodeIsEquivalentToType(typeNode: TypeNode, annotatedDeclaration: Node | undefined, type: Type, typeFromTypeNode = getTypeFromTypeNode(typeNode)) { + function typeNodeIsEquivalentToType(annotatedDeclaration: Node | undefined, type: Type, typeFromTypeNode: Type) { if (typeFromTypeNode === type) { return true; } @@ -8238,13 +8263,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function serializeReturnTypeForSignatureWorker(context: NodeBuilderContext, signature: Signature) { const typePredicate = getTypePredicateOfSignature(signature); const type = getReturnTypeOfSignature(signature); - if (context.enclosingDeclaration && (!isErrorType(type) || (context.flags & NodeBuilderFlags.AllowUnresolvedNames))) { + if (context.enclosingDeclaration && (!isErrorType(type) || (context.flags & NodeBuilderFlags.AllowUnresolvedNames)) && signature.declaration && !nodeIsSynthesized(signature.declaration)) { const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); - const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); - if (!!findAncestor(annotation, n => n === enclosingDeclarationIgnoringFakeScope) && annotation) { - const annotated = getTypeFromTypeNode(annotation); - const thisInstantiated = annotated.flags & TypeFlags.TypeParameter && (annotated as TypeParameter).isThisType ? instantiateType(annotated, signature.mapper) : annotated; - const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + // Default constructor signatures inherited from base classes return the derived class but have the base class declaration + // To ensure we don't serialize the wrong type we check that that return type of the signature corresponds to the declaration return type signature + if (annotation && getTypeFromTypeNode(context, annotation) === type) { + const result = tryReuseExistingTypeNodeHelper(context, annotation); if (result) { return result; } @@ -8370,13 +8394,21 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } } + if (isThisTypeNode(existing)) { + if (context.mapper === undefined) return true; + const type = getTypeFromTypeNode(context, existing, /*noMappedTypes*/ true); + return !!type; + } if (isTypeReferenceNode(existing)) { if (isConstTypeReference(existing)) return false; const type = getTypeFromTypeReference(existing); const symbol = getNodeLinks(existing).resolvedSymbol; if (!symbol) return false; if (symbol.flags & SymbolFlags.TypeParameter) { - return true; + const type = getDeclaredTypeOfSymbol(symbol); + if (context.mapper && getMappedType(type, context.mapper) !== type) { + return false; + } } if (isInJSDoc(existing)) { return existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) @@ -8396,7 +8428,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function serializeExistingTypeNode(context: NodeBuilderContext, typeNode: TypeNode) { - const type = getTypeFromTypeNode(typeNode); + const type = getTypeFromTypeNode(context, typeNode); return typeToTypeNodeHelper(type, context); } @@ -8460,8 +8492,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, t => { const name = isIdentifier(t.name) ? t.name : t.name.right; - const typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(node), name.escapedText); - const overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined; + const typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(context, node), name.escapedText); + const overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(context, t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined; return factory.createPropertySignature( /*modifiers*/ undefined, @@ -8497,7 +8529,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, undefined) : factory.createParameterDeclaration( /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), - getNameForJSDocFunctionParameter(p, i), + setTextRange(context, factory.createIdentifier(getNameForJSDocFunctionParameter(p, i)), p), p.questionToken, visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), /*initializer*/ undefined, @@ -8512,7 +8544,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { factory.createParameterDeclaration( /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), - getNameForJSDocFunctionParameter(p, i), + setTextRange(context, factory.createIdentifier(getNameForJSDocFunctionParameter(p, i)), p), p.questionToken, visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), /*initializer*/ undefined, @@ -8521,6 +8553,21 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } } + if (isThisTypeNode(node)) { + if (canReuseTypeNode(context, node)) { + return node; + } + return serializeExistingTypeNode(context, node); + } + if (isTypeParameterDeclaration(node)) { + return factory.updateTypeParameterDeclaration( + node, + node.modifiers, + setTextRange(context, typeParameterToName(getDeclaredTypeOfSymbol(getSymbolOfDeclaration(node)), context), node), + visitNode(node.constraint, visitExistingNodeTreeSymbols, isTypeNode), + visitNode(node.default, visitExistingNodeTreeSymbols, isTypeNode), + ); + } if (isTypeReferenceNode(node)) { if (canReuseTypeNode(context, node)) { const { introducesError, node: newName } = trackExistingEntityName(node.typeName, context); @@ -8555,7 +8602,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { !(length(node.typeArguments) >= getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(nodeSymbol))) ) ) { - return setTextRange(context, typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node); + return setTextRange(context, typeToTypeNodeHelper(getTypeFromTypeNode(context, node), context), node); } return factory.updateImportTypeNode( node, @@ -8621,13 +8668,20 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return factory.updateComputedPropertyName(node, literal); } } - if (isTypePredicateNode(node) && isIdentifier(node.parameterName)) { - const { node: result, introducesError } = trackExistingEntityName(node.parameterName, context); - // Should not usually happen the only case is when a type predicate comes from a JSDoc type annotation with it's own parameter symbol definition. - // /** @type {(v: unknown) => v is undefined} */ - // const isUndef = v => v === undefined; - hadError = hadError || introducesError; - return factory.updateTypePredicateNode(node, node.assertsModifier, result, visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); + if (isTypePredicateNode(node)) { + let parameterName; + if (isIdentifier(node.parameterName)) { + const { node: result, introducesError } = trackExistingEntityName(node.parameterName, context); + // Should not usually happen the only case is when a type predicate comes from a JSDoc type annotation with it's own parameter symbol definition. + // /** @type {(v: unknown) => v is undefined} */ + // const isUndef = v => v === undefined; + hadError = hadError || introducesError; + parameterName = result; + } + else { + parameterName = node.parameterName; + } + return factory.updateTypePredicateNode(node, node.assertsModifier, parameterName, visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); } if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { @@ -9466,8 +9520,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return cleanup(factory.createExpressionWithTypeArguments( expr, map(e.typeArguments, a => - tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) - || typeToTypeNodeHelper(getTypeFromTypeNode(a), context)), + tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(context, a)) + || typeToTypeNodeHelper(getTypeFromTypeNode(context, a), context)), )); function cleanup(result: T): T { @@ -51620,6 +51674,7 @@ interface NodeBuilderContext { remappedSymbolReferences: Map | undefined; reverseMappedStack: ReverseMappedSymbol[] | undefined; bundled: boolean; + mapper: TypeMapper | undefined; } class SymbolTrackerImpl implements SymbolTracker { diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index 5a36b6b28fb37..5ba8170b17b32 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -557,7 +557,7 @@ function getSymbolDisplayPartsDocumentationAndSymbolKindWorker(typeChecker: Type typeChecker, resolvedSymbol, getSourceFileOfNode(resolvedNode), - resolvedNode, + enclosingDeclaration, declarationName, type, semanticMeaning, diff --git a/tests/baselines/reference/1.0lib-noErrors.types b/tests/baselines/reference/1.0lib-noErrors.types index b307b61b36de4..f7d94356d476b 100644 --- a/tests/baselines/reference/1.0lib-noErrors.types +++ b/tests/baselines/reference/1.0lib-noErrors.types @@ -532,7 +532,7 @@ interface String { */ match(regexp: string): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ @@ -542,7 +542,7 @@ interface String { */ match(regexp: RegExp): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -553,7 +553,7 @@ interface String { */ replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : string @@ -566,7 +566,7 @@ interface String { */ replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -583,7 +583,7 @@ interface String { */ replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : string @@ -596,7 +596,7 @@ interface String { */ replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -612,7 +612,7 @@ interface String { */ search(regexp: string): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ @@ -622,7 +622,7 @@ interface String { */ search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -647,7 +647,7 @@ interface String { */ split(separator: string, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : string > : ^^^^^^ >limit : number @@ -660,7 +660,7 @@ interface String { */ split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : RegExp > : ^^^^^^ >limit : number @@ -1590,13 +1590,13 @@ interface RegExpExecArray { splice(start: number): string[]; >splice : { (start: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ splice(start: number, deleteCount: number, ...items: string[]): string[]; >splice : { (start: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -1990,7 +1990,7 @@ interface JSON { */ stringify(value: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any /** @@ -2000,7 +2000,7 @@ interface JSON { */ stringify(value: any, replacer: (key: string, value: any) => any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : (key: string, value: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -2015,7 +2015,7 @@ interface JSON { */ stringify(value: any, replacer: any[]): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : any[] > : ^^^^^ @@ -2028,7 +2028,7 @@ interface JSON { */ stringify(value: any, replacer: (key: string, value: any) => any, space: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : (key: string, value: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -2045,7 +2045,7 @@ interface JSON { */ stringify(value: any, replacer: any[], space: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : any[] > : ^^^^^ @@ -2081,7 +2081,7 @@ interface Array { */ concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : U[] > : ^^^ @@ -2091,7 +2091,7 @@ interface Array { */ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ @@ -2169,7 +2169,7 @@ interface Array { */ splice(start: number): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ @@ -2181,7 +2181,7 @@ interface Array { */ splice(start: number, deleteCount: number, ...items: T[]): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -2322,7 +2322,7 @@ interface Array { */ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -2343,7 +2343,7 @@ interface Array { */ reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -2364,7 +2364,7 @@ interface Array { */ reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -2385,7 +2385,7 @@ interface Array { */ reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types index ce8614e1597ee..426d608a52f51 100644 --- a/tests/baselines/reference/2dArrays.types +++ b/tests/baselines/reference/2dArrays.types @@ -35,7 +35,7 @@ class Board { >this.ships.every(function (val) { return val.isSunk; }) : boolean > : ^^^^^^^ >this.ships.every : { (predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >this.ships : Ship[] > : ^^^^^^ >this : this @@ -43,7 +43,7 @@ class Board { >ships : Ship[] > : ^^^^^^ >every : { (predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function (val) { return val.isSunk; } : (val: Ship) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >val : Ship diff --git a/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types index 3c31779f833f1..39bd39b358535 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types @@ -34,19 +34,19 @@ var cl: { x: number; y: number; } var cl = Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point() : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point : typeof Point > : ^^^^^^^^^^^^ var cl = Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point : typeof Point > : ^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types index f0c2db329d517..9dfdfee91e6bc 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types @@ -60,9 +60,9 @@ var p: { x: number; y: number; } var p = A.Point.Origin; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point : typeof A.Point > : ^^^^^^^^^^^^^^ >A : typeof A @@ -70,11 +70,11 @@ var p = A.Point.Origin; >Point : typeof A.Point > : ^^^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p = new A.Point(0, 0); // unexpected error here, bug 840000 >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new A.Point(0, 0) : A.Point > : ^^^^^^^ >A.Point : typeof A.Point diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types index 2dd9fed3005bb..280e9ba03bb85 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types @@ -52,9 +52,9 @@ var p: { x: number; y: number; } var p = A.Point.Origin; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point : typeof A.Point > : ^^^^^^^^^^^^^^ >A : typeof A @@ -62,11 +62,11 @@ var p = A.Point.Origin; >Point : typeof A.Point > : ^^^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p = new A.Point(0, 0); // unexpected error here, bug 840000 >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new A.Point(0, 0) : A.Point > : ^^^^^^^ >A.Point : typeof A.Point diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types index 7dbc3f7669693..ab16963cf4100 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types @@ -43,7 +43,7 @@ var cl: { x: number; y: number; } var cl = Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point() : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Point : typeof Point @@ -51,11 +51,11 @@ var cl = Point(); var cl = Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point : typeof Point > : ^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/ES5For-of1.types b/tests/baselines/reference/ES5For-of1.types index 19c89e862f85b..2e769b3684013 100644 --- a/tests/baselines/reference/ES5For-of1.types +++ b/tests/baselines/reference/ES5For-of1.types @@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) { >console.log(v) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >v : string > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of22.types b/tests/baselines/reference/ES5For-of22.types index 31969c20e73ca..71e3820fee878 100644 --- a/tests/baselines/reference/ES5For-of22.types +++ b/tests/baselines/reference/ES5For-of22.types @@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of23.types b/tests/baselines/reference/ES5For-of23.types index 11c58f1a1fd2f..16e19d8fe6ff5 100644 --- a/tests/baselines/reference/ES5For-of23.types +++ b/tests/baselines/reference/ES5For-of23.types @@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of33.types b/tests/baselines/reference/ES5For-of33.types index 22515744ce282..f21f2292603bb 100644 --- a/tests/baselines/reference/ES5For-of33.types +++ b/tests/baselines/reference/ES5For-of33.types @@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) { >console.log(v) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >v : string > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of37.types b/tests/baselines/reference/ES5For-of37.types index 7b98595802d01..58c2d9689f3f5 100644 --- a/tests/baselines/reference/ES5For-of37.types +++ b/tests/baselines/reference/ES5For-of37.types @@ -54,11 +54,11 @@ for (const i of [0, 1, 2, 3, 4]) { >console.log(i) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >i : number > : ^^^^^^ @@ -69,11 +69,11 @@ for (const i of [0, 1, 2, 3, 4]) { >console.log('E %s %s', i, err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'E %s %s' : "E %s %s" > : ^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/ES5SymbolProperty4.types b/tests/baselines/reference/ES5SymbolProperty4.types index adf898424968b..7b02ee9fa6eb0 100644 --- a/tests/baselines/reference/ES5SymbolProperty4.types +++ b/tests/baselines/reference/ES5SymbolProperty4.types @@ -17,7 +17,7 @@ class C { >Symbol.iterator : string > : ^^^^^^ >Symbol : { iterator: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : string > : ^^^^^^ } @@ -33,7 +33,7 @@ class C { >Symbol.iterator : string > : ^^^^^^ >Symbol : { iterator: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : string > : ^^^^^^ diff --git a/tests/baselines/reference/ES5SymbolProperty5.types b/tests/baselines/reference/ES5SymbolProperty5.types index 244b173d284b6..1fba891c701c5 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.types +++ b/tests/baselines/reference/ES5SymbolProperty5.types @@ -17,7 +17,7 @@ class C { >Symbol.iterator : symbol > : ^^^^^^ >Symbol : { iterator: symbol; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : symbol > : ^^^^^^ } @@ -34,7 +34,7 @@ class C { >Symbol.iterator : symbol > : ^^^^^^ >Symbol : { iterator: symbol; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : symbol > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/ES5SymbolProperty7.types b/tests/baselines/reference/ES5SymbolProperty7.types index 5c501225dbbe7..324525e5ca3ca 100644 --- a/tests/baselines/reference/ES5SymbolProperty7.types +++ b/tests/baselines/reference/ES5SymbolProperty7.types @@ -15,7 +15,7 @@ class C { > : ^^^^^^^^^^ >Symbol.iterator : any >Symbol : { iterator: any; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : any > : ^^^ } @@ -30,7 +30,7 @@ class C { > : ^^^^^^^^ >Symbol.iterator : any >Symbol : { iterator: any; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : any > : ^^^ diff --git a/tests/baselines/reference/ES5SymbolType1.types b/tests/baselines/reference/ES5SymbolType1.types index a2daa7d66639c..a8c00932002b0 100644 --- a/tests/baselines/reference/ES5SymbolType1.types +++ b/tests/baselines/reference/ES5SymbolType1.types @@ -9,9 +9,9 @@ s.toString(); >s.toString() : string > : ^^^^^^ >s.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : symbol > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types index 5ef15456d81fa..6eb5814cd7d18 100644 --- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types @@ -52,7 +52,7 @@ var y: { x: number; y: number }; var y = new enumdule.Point(0, 0); >y : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new enumdule.Point(0, 0) : enumdule.Point > : ^^^^^^^^^^^^^^ >enumdule.Point : typeof enumdule.Point diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types index b04f7afd598d8..da0e9c66d64ba 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types @@ -59,7 +59,7 @@ var fn: () => { x: number; y: number }; var fn = A.Point; >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >A.Point : typeof A.Point > : ^^^^^^^^^^^^^^ >A : typeof A @@ -77,7 +77,7 @@ var cl: { x: number; y: number; } var cl = A.Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point() : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Point : typeof A.Point @@ -89,7 +89,7 @@ var cl = A.Point(); var cl = A.Point.Origin; // not expected to be an error. >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point.Origin : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Point : typeof A.Point @@ -146,7 +146,7 @@ module B { var fn: () => { x: number; y: number }; >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ >y : number @@ -154,7 +154,7 @@ var fn: () => { x: number; y: number }; var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Function of fundule not assignalbe as expected >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >B.Point : typeof B.Point > : ^^^^^^^^^^^^^^ >B : typeof B @@ -164,7 +164,7 @@ var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Functi var cl: { x: number; y: number; } >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : number > : ^^^^^^ >y : number @@ -172,7 +172,7 @@ var cl: { x: number; y: number; } var cl = B.Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B.Point() : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >B.Point : typeof B.Point @@ -184,7 +184,7 @@ var cl = B.Point(); var cl = B.Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B.Point.Origin : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >B.Point : typeof B.Point diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types index 270c5b36268cb..4e7b739d3199a 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types @@ -59,7 +59,7 @@ var fn: () => { x: number; y: number }; var fn = A.Point; >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >A.Point : () => { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A : typeof A @@ -77,7 +77,7 @@ var cl: { x: number; y: number; } var cl = B.Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B.Point.Origin : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >B.Point : typeof B.Point diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types index ffb222bf44319..86293d379a2ee 100644 --- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types @@ -52,7 +52,7 @@ var y: { x: number; y: number }; var y = new enumdule.Point(0, 0); >y : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new enumdule.Point(0, 0) : enumdule.Point > : ^^^^^^^^^^^^^^ >enumdule.Point : typeof enumdule.Point diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types index b45fc86067580..61f34242e1e08 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types @@ -69,7 +69,7 @@ var a: { id: number; name: string }; var a = new A.A(); >a : { id: number; name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ >new A.A() : A.A > : ^^^ >A.A : typeof A.A diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types index 1862adfdd7db7..73a4a2b513ba5 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types @@ -55,7 +55,7 @@ var fn: (s: string) => boolean; var fn = A.fn; >fn : (s: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A.fn : (s: string) => boolean > : ^ ^^ ^^^^^^^^^^^^ >A : typeof A @@ -71,13 +71,13 @@ var fng: (s: T) => U; var fng = A.fng; // bug 838015 >fng : (s: T) => U -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >A.fng : (s: T) => U -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >A : typeof A > : ^^^^^^^^ >fng : (s: T) => U -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // these should be errors since the functions are not exported var fn2 = A.fn2; diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types index 857318c63fd6d..2c9bcc56bbbf0 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types @@ -110,7 +110,7 @@ var p: { x: number; y: number }; var p: Geometry.Points.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Geometry : any > : ^^^ >Points : any @@ -118,7 +118,7 @@ var p: Geometry.Points.Point; var p = Geometry.Origin; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Geometry.Origin : A.Point > : ^^^^^^^ >Geometry : typeof Geometry @@ -144,7 +144,7 @@ var line: { start: { x: number; y: number }; end: { x: number; y: number; } }; var line = Geometry.Unit; >line : { start: { x: number; y: number; }; end: { x: number; y: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^ ^^^ >Geometry.Unit : B.Line > : ^^^^^^ >Geometry : typeof Geometry @@ -155,7 +155,7 @@ var line = Geometry.Unit; // not expected to work since non are exported var line = Geometry.Lines.Line; >line : { start: { x: number; y: number; }; end: { x: number; y: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^ ^^^ >Geometry.Lines.Line : any > : ^^^ >Geometry.Lines : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types index f6b972471f8a6..1fb48486d72bf 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types @@ -69,7 +69,7 @@ var p: { x: number; y: number; }; var p: A.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A : any > : ^^^ @@ -124,7 +124,7 @@ var l: { length: number; } var l: X.Y.Z.Line; >l : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types index b30a2f7115cb6..5ca61445d6af7 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types @@ -40,7 +40,7 @@ var p: { x: number; y: number; toCarth(): A.Point; }; var p: A.Point; >p : { x: number; y: number; toCarth(): A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >A : any > : ^^^ diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types index f7d4796804082..df868ced09330 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types @@ -103,13 +103,13 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A : any > : ^^^ var o = A.Origin; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Origin : A.Point > : ^^^^^^^ >A : typeof A @@ -119,7 +119,7 @@ var o = A.Origin; var o = A.Utils.mirror(o); >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Utils.mirror(o) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils.mirror : (p: T) => { x: number; y: number; } @@ -133,7 +133,7 @@ var o = A.Utils.mirror(o); >mirror : (p: T) => { x: number; y: number; } > : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p: { tl: A.Point; br: A.Point }; >p : { tl: A.Point; br: A.Point; } @@ -149,7 +149,7 @@ var p: { tl: A.Point; br: A.Point }; var p: A.Utils.Plane; >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >A : any > : ^^^ >Utils : any @@ -157,7 +157,7 @@ var p: A.Utils.Plane; var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane > : ^^^^^^^^^^^^^ >A.Utils.Plane : typeof A.Utils.Plane @@ -171,7 +171,7 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >Plane : typeof A.Utils.Plane > : ^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ x: 1, y: 1 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types index ccba346ff85f6..1c73ccbe6f35f 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types @@ -44,7 +44,7 @@ var p: { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }; var p: A.Point; >p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >A : any > : ^^^ @@ -103,7 +103,7 @@ var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); } var l: X.Y.Z.Line; >l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types index 4b9301e30d43d..79a22fc9fd1d7 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types @@ -96,7 +96,7 @@ var l: { length: number }; var l: X.Y.Z.Line; >l : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types index 9de6afabba006..2e2e43b4cc31d 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types @@ -97,13 +97,13 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A : any > : ^^^ var o = A.Origin; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Origin : A.Point > : ^^^^^^^ >A : typeof A @@ -113,7 +113,7 @@ var o = A.Origin; var o = A.Utils.mirror(o); >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Utils.mirror(o) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils.mirror : (p: T) => { x: number; y: number; } @@ -127,7 +127,7 @@ var o = A.Utils.mirror(o); >mirror : (p: T) => { x: number; y: number; } > : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p: { tl: A.Point; br: A.Point }; >p : { tl: A.Point; br: A.Point; } @@ -143,7 +143,7 @@ var p: { tl: A.Point; br: A.Point }; var p: A.Utils.Plane; >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >A : any > : ^^^ >Utils : any @@ -151,7 +151,7 @@ var p: A.Utils.Plane; var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane > : ^^^^^^^^^^^^^ >A.Utils.Plane : typeof A.Utils.Plane @@ -165,7 +165,7 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >Plane : typeof A.Utils.Plane > : ^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ x: 1, y: 1 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/abstractClassUnionInstantiation.types b/tests/baselines/reference/abstractClassUnionInstantiation.types index 7780977a92b52..b52d68489f555 100644 --- a/tests/baselines/reference/abstractClassUnionInstantiation.types +++ b/tests/baselines/reference/abstractClassUnionInstantiation.types @@ -75,7 +75,7 @@ new cls3(); // should work >[ConcreteA, AbstractA, AbstractB].map(cls => new cls()) : any[] > : ^^^^^ >[ConcreteA, AbstractA, AbstractB].map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[ConcreteA, AbstractA, AbstractB] : (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConcreteA : typeof ConcreteA @@ -85,7 +85,7 @@ new cls3(); // should work >AbstractB : typeof AbstractB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof ConcreteA | typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA | typeof AbstractA | typeof AbstractB @@ -99,7 +99,7 @@ new cls3(); // should work >[AbstractA, AbstractB, ConcreteA].map(cls => new cls()) : any[] > : ^^^^^ >[AbstractA, AbstractB, ConcreteA].map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[AbstractA, AbstractB, ConcreteA] : (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AbstractA : typeof AbstractA @@ -109,7 +109,7 @@ new cls3(); // should work >ConcreteA : typeof ConcreteA > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof ConcreteA | typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA | typeof AbstractA | typeof AbstractB @@ -123,7 +123,7 @@ new cls3(); // should work >[ConcreteA, ConcreteB].map(cls => new cls()) : ConcreteA[] > : ^^^^^^^^^^^ >[ConcreteA, ConcreteB].map : (callbackfn: (value: typeof ConcreteA, index: number, array: (typeof ConcreteA)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[ConcreteA, ConcreteB] : (typeof ConcreteA)[] > : ^^^^^^^^^^^^^^^^^^^^ >ConcreteA : typeof ConcreteA @@ -131,7 +131,7 @@ new cls3(); // should work >ConcreteB : typeof ConcreteB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA, index: number, array: (typeof ConcreteA)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof ConcreteA) => ConcreteA > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA @@ -145,7 +145,7 @@ new cls3(); // should work >[AbstractA, AbstractB].map(cls => new cls()) : any[] > : ^^^^^ >[AbstractA, AbstractB].map : (callbackfn: (value: typeof AbstractA | typeof AbstractB, index: number, array: (typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[AbstractA, AbstractB] : (typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AbstractA : typeof AbstractA @@ -153,7 +153,7 @@ new cls3(); // should work >AbstractB : typeof AbstractB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof AbstractA | typeof AbstractB, index: number, array: (typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof AbstractA | typeof AbstractB diff --git a/tests/baselines/reference/abstractProperty(target=es2015).types b/tests/baselines/reference/abstractProperty(target=es2015).types index eaf2ddcd5813b..9d21cf92730ff 100644 --- a/tests/baselines/reference/abstractProperty(target=es2015).types +++ b/tests/baselines/reference/abstractProperty(target=es2015).types @@ -17,11 +17,11 @@ abstract class A { >console.log(this.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.x : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/abstractProperty(target=esnext).types b/tests/baselines/reference/abstractProperty(target=esnext).types index eaf2ddcd5813b..9d21cf92730ff 100644 --- a/tests/baselines/reference/abstractProperty(target=esnext).types +++ b/tests/baselines/reference/abstractProperty(target=esnext).types @@ -17,11 +17,11 @@ abstract class A { >console.log(this.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.x : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/abstractPropertyInConstructor.types b/tests/baselines/reference/abstractPropertyInConstructor.types index 086f1eb7d8d80..ecea08864d6e3 100644 --- a/tests/baselines/reference/abstractPropertyInConstructor.types +++ b/tests/baselines/reference/abstractPropertyInConstructor.types @@ -15,15 +15,15 @@ abstract class AbstractClass { >this.method(parseInt(str)) : void > : ^^^^ >this.method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >parseInt(str) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ @@ -33,7 +33,7 @@ abstract class AbstractClass { >this.prop.toLowerCase() : string > : ^^^^^^ >this.prop.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.prop : string > : ^^^^^^ >this : this @@ -41,7 +41,7 @@ abstract class AbstractClass { >prop : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (!str) { >!str : boolean @@ -65,11 +65,11 @@ abstract class AbstractClass { >this.cb(str) : void > : ^^^^ >this.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ @@ -94,11 +94,11 @@ abstract class AbstractClass { >other.cb(other.prop) : void > : ^^^^ >other.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other.prop : string > : ^^^^^^ >other : AbstractClass @@ -216,7 +216,7 @@ abstract class DerivedAbstractClass extends AbstractClass { >this.prop.toLowerCase() : string > : ^^^^^^ >this.prop.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.prop : string > : ^^^^^^ >this : this @@ -224,17 +224,17 @@ abstract class DerivedAbstractClass extends AbstractClass { >prop : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.method(1); >this.method(1) : void > : ^^^^ >this.method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -243,11 +243,11 @@ abstract class DerivedAbstractClass extends AbstractClass { >other.cb(other.prop) : void > : ^^^^ >other.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other.prop : string > : ^^^^^^ >other : AbstractClass @@ -378,11 +378,11 @@ class User { >a.cb("hi") : void > : ^^^^ >a.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ @@ -390,11 +390,11 @@ class User { >a.method(12) : void > : ^^^^ >a.method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : AbstractClass > : ^^^^^^^^^^^^^ >method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/acceptSymbolAsWeakType.types b/tests/baselines/reference/acceptSymbolAsWeakType.types index f55e0cd439f2a..fb7de081382bc 100644 --- a/tests/baselines/reference/acceptSymbolAsWeakType.types +++ b/tests/baselines/reference/acceptSymbolAsWeakType.types @@ -39,11 +39,11 @@ ws.has(s); >ws.has(s) : boolean > : ^^^^^^^ >ws.has : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >has : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -51,11 +51,11 @@ ws.delete(s); >ws.delete(s) : boolean > : ^^^^^^^ >ws.delete : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >delete : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -93,11 +93,11 @@ wm.has(s); >wm.has(s) : boolean > : ^^^^^^^ >wm.has : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >has : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -105,11 +105,11 @@ wm.get(s); >wm.get(s) : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >wm.get : (key: symbol) => boolean | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >get : (key: symbol) => boolean | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -117,11 +117,11 @@ wm.delete(s); >wm.delete(s) : boolean > : ^^^^^^^ >wm.delete : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >delete : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -139,11 +139,11 @@ wr.deref(); >wr.deref() : symbol | undefined > : ^^^^^^^^^^^^^^^^^^ >wr.deref : () => symbol | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ >wr : WeakRef > : ^^^^^^^^^^^^^^^ >deref : () => symbol | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ const f = new FinalizationRegistry(() => {}); >f : FinalizationRegistry @@ -159,11 +159,11 @@ f.register(s, null); >f.register(s, null) : void > : ^^^^ >f.register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >s : symbol > : ^^^^^^ @@ -171,11 +171,11 @@ f.unregister(s); >f.unregister(s) : boolean > : ^^^^^^^ >f.unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : symbol > : ^^^^^^ diff --git a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types index 09e62e501fb9e..05c4f38258fa7 100644 --- a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types +++ b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types @@ -18,7 +18,7 @@ class C { get x() { >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return (x: string) => ""; >(x: string) => "" : (x: string) => string @@ -40,11 +40,11 @@ var r = c.x(''); // string >c.x('') : string > : ^^^^^^ >c.x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/accessorsOverrideProperty2.types b/tests/baselines/reference/accessorsOverrideProperty2.types index ff2232b1569db..c537421fde9cd 100644 --- a/tests/baselines/reference/accessorsOverrideProperty2.types +++ b/tests/baselines/reference/accessorsOverrideProperty2.types @@ -32,11 +32,11 @@ class Derived extends Base { >console.log(`x was set to ${value}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`x was set to ${value}` : string > : ^^^^^^ >value : number @@ -55,11 +55,11 @@ console.log(obj.x); // number >console.log(obj.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj.x : number > : ^^^^^^ >obj : Derived diff --git a/tests/baselines/reference/accessorsOverrideProperty8.types b/tests/baselines/reference/accessorsOverrideProperty8.types index 2da2e5833d5a2..33c2b8cf935d4 100644 --- a/tests/baselines/reference/accessorsOverrideProperty8.types +++ b/tests/baselines/reference/accessorsOverrideProperty8.types @@ -39,11 +39,11 @@ declare function classWithPropertiesBase : { new (): Base & Properties<{ readonly x: "boolean"; y: "string"; }>; prototype: Base & Properties<{ readonly x: "boolean"; y: "string"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >classWithProperties({ get x() { return 'boolean' as const }, y: 'string',}, class Base {}) : { new (): Base & Properties<{ readonly x: "boolean"; y: "string"; }>; prototype: Base & Properties<{ readonly x: "boolean"; y: "string"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >classWithProperties : (properties: T, klass: AnyCtor

) => { new (): P & Properties; prototype: P & Properties; } -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ get x() { return 'boolean' as const }, y: 'string',} : { readonly x: "boolean"; y: "string"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/accessorsOverrideProperty9.types b/tests/baselines/reference/accessorsOverrideProperty9.types index 4f46e46d2680d..c87f2cb1fda6a 100644 --- a/tests/baselines/reference/accessorsOverrideProperty9.types +++ b/tests/baselines/reference/accessorsOverrideProperty9.types @@ -102,7 +102,7 @@ export class ApiEnum extends ApiItemContainerMixin(ApiItem) { >ApiItemContainerMixin(ApiItem) : ApiItem & ApiItemContainerMixin > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ApiItemContainerMixin : (baseClass: TBaseClass) => TBaseClass & (new (...args: any[]) => ApiItemContainerMixin) -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ApiItem : typeof ApiItem > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types index e793e73e2490c..ee664f35f3f92 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types @@ -111,7 +111,7 @@ var r10 = null + foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r11 = null + (() => { }); >r11 : any diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types index 77c7f44d71659..d9bf840aa0695 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types @@ -131,7 +131,7 @@ var r10 = undefined + foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r11 = undefined + (() => { }); >r11 : any diff --git a/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types b/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types index c20cdd197f21c..955d897549428 100644 --- a/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types +++ b/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types @@ -26,22 +26,22 @@ declare module 'demoModule' { === user.ts === import { f } from 'demoModule'; >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Assign an incorrect type here to see the type of 'f'. let x1: string = demoNS.f; >x1 : string > : ^^^^^^ >demoNS.f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >demoNS : typeof demoNS > : ^^^^^^^^^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x2: string = f; >x2 : string > : ^^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types index 0ea9c2b1d0181..a5e42e379a797 100644 --- a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types +++ b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types @@ -20,7 +20,7 @@ type ErrAlias = typeof Err; >ErrAlias : { new (): ErrImpl; prototype: ErrImpl; } & (() => U) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Err : typeof ErrImpl & (() => T) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^ declare const e: ErrAlias; >e : { new (): ErrImpl; prototype: ErrImpl; } & (() => number) diff --git a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types index b10f0c4bbcaa6..6d3b00218874e 100644 --- a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types +++ b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types @@ -25,7 +25,7 @@ type FnAlias = typeof fn; >FnAlias : typeof fn > : >fn : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ type Wat = ClassAlias & FnAlias; >Wat : Wat diff --git a/tests/baselines/reference/aliasUsedAsNameValue.types b/tests/baselines/reference/aliasUsedAsNameValue.types index 998aa2f4cbf35..70b8b1c7b4ce9 100644 --- a/tests/baselines/reference/aliasUsedAsNameValue.types +++ b/tests/baselines/reference/aliasUsedAsNameValue.types @@ -21,11 +21,11 @@ export var a = function () { b.b(mod); >b.b(mod) : any >b.b : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >b : typeof b > : ^^^^^^^^ >b : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >mod : typeof mod > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/allowJsCrossMonorepoPackage.types b/tests/baselines/reference/allowJsCrossMonorepoPackage.types index 5beb89269562e..af4890eda25df 100644 --- a/tests/baselines/reference/allowJsCrossMonorepoPackage.types +++ b/tests/baselines/reference/allowJsCrossMonorepoPackage.types @@ -13,12 +13,12 @@ export declare function pkg(): "pkg"; === /packages/shared/utils.js === export { pkg } from "pkg"; >pkg : () => "pkg" -> : ^^^^^^^^^^^ +> : ^^^^^^ === /packages/shared/index.js === import { pkg } from "./utils.js"; >pkg : () => "pkg" -> : ^^^^^^^^^^^ +> : ^^^^^^ export const x = pkg(); >x : "pkg" @@ -26,5 +26,5 @@ export const x = pkg(); >pkg() : "pkg" > : ^^^^^ >pkg : () => "pkg" -> : ^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types index 80b92dc95232e..7904fc785a0f9 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types @@ -20,14 +20,14 @@ declare function extend(options: ComponentOptions<{}>): void; export var vextend = extend; >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >extend : (options: ComponentOptions<{}>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ === app.js === import {vextend} from './func'; >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hover on vextend export var a = vextend({ @@ -36,7 +36,7 @@ export var a = vextend({ >vextend({ watch: { data1(val) { this.data2 = 1; }, data2(val) { }, }}) : void > : ^^^^ >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ watch: { data1(val) { this.data2 = 1; }, data2(val) { }, }} : { watch: { data1(val: any): void; }; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -56,11 +56,11 @@ export var a = vextend({ >this.data2 = 1 : 1 > : ^ >this.data2 : (val: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : Record void> -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^ >data2 : (val: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types index 1f3072b0b9cb9..9f771a55b3ab4 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types +++ b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types @@ -22,7 +22,7 @@ export declare function styled(): Color; === file2.ts === import { styled } from "./file1"; >styled : () => import("color").default -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^^^ export const A = styled(); >A : import("color").default @@ -30,5 +30,5 @@ export const A = styled(); >styled() : import("color").default > : ^^^^^^^^^^^^^^^^^^^^^^^ >styled : () => import("color").default -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types index 5cda0d73e088f..fb986aca5652b 100644 --- a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types +++ b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types @@ -11,14 +11,14 @@ declare class C { foo(n: number): any; >foo : { (n: number): any; (n: number): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ } interface C { foo(n: number): any; >foo : { (n: number): any; (n: number): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/ambientConstLiterals.types b/tests/baselines/reference/ambientConstLiterals.types index 51a97feb3ef6a..50e0f36e70664 100644 --- a/tests/baselines/reference/ambientConstLiterals.types +++ b/tests/baselines/reference/ambientConstLiterals.types @@ -54,7 +54,7 @@ const c5 = f(123); >f(123) : 123 > : ^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -64,7 +64,7 @@ const c6 = f(-123); >f(-123) : -123 > : ^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >-123 : -123 > : ^^^^ >123 : 123 @@ -144,11 +144,11 @@ const c13 = Math.random() > 0.5 ? "abc" : "def"; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"abc" : "abc" @@ -166,11 +166,11 @@ const c14 = Math.random() > 0.5 ? 123 : 456; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >123 : 123 diff --git a/tests/baselines/reference/ambientDeclarations.types b/tests/baselines/reference/ambientDeclarations.types index 38fe3817b73a5..c403f220e083b 100644 --- a/tests/baselines/reference/ambientDeclarations.types +++ b/tests/baselines/reference/ambientDeclarations.types @@ -203,11 +203,11 @@ var q = M1.fn(); >M1.fn() : number > : ^^^^^^ >M1.fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >M1 : typeof M1 > : ^^^^^^^^^ >fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Ambient external module in the global module // Ambient external module with a string literal name that is a top level external module name diff --git a/tests/baselines/reference/ambientDeclarationsPatterns.types b/tests/baselines/reference/ambientDeclarationsPatterns.types index 28f2a55f26517..4c574a1a972d1 100644 --- a/tests/baselines/reference/ambientDeclarationsPatterns.types +++ b/tests/baselines/reference/ambientDeclarationsPatterns.types @@ -4,7 +4,7 @@ /// import {foo, baz} from "foobarbaz"; >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >baz : string > : ^^^^^^ @@ -12,7 +12,7 @@ foo(baz); >foo(baz) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >baz : string > : ^^^^^^ @@ -24,7 +24,7 @@ foo(foos); >foo(foos) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foos : string > : ^^^^^^ @@ -37,7 +37,7 @@ foo(fileText); >foo(fileText) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fileText : string > : ^^^^^^ diff --git a/tests/baselines/reference/ambientErrors.types b/tests/baselines/reference/ambientErrors.types index 322996ca194af..a6745844e6a5b 100644 --- a/tests/baselines/reference/ambientErrors.types +++ b/tests/baselines/reference/ambientErrors.types @@ -11,39 +11,39 @@ declare var x = 4; // Ambient functions with invalid overloads declare function fn(x: number): string; >fn : { (x: number): string; (x: "foo"): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function fn(x: 'foo'): number; >fn : { (x: number): string; (x: "foo"): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ // Ambient functions with duplicate signatures declare function fn1(x: number): string; >fn1 : { (x: number): string; (x: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function fn1(x: number): string; >fn1 : { (x: number): string; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ // Ambient function overloads that differ only by return type declare function fn2(x: number): string; >fn2 : { (x: number): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function fn2(x: number): number; >fn2 : { (x: number): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/ambientModuleExports.types b/tests/baselines/reference/ambientModuleExports.types index 1bc56049e92d7..526ec67c302cd 100644 --- a/tests/baselines/reference/ambientModuleExports.types +++ b/tests/baselines/reference/ambientModuleExports.types @@ -22,11 +22,11 @@ Foo.a(); >Foo.a() : void > : ^^^^ >Foo.a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Foo.b; >Foo.b : number @@ -69,11 +69,11 @@ Foo2.a(); >Foo2.a() : void > : ^^^^ >Foo2.a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo2 : typeof Foo2 > : ^^^^^^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Foo2.b; >Foo2.b : number diff --git a/tests/baselines/reference/ambientRequireFunction(module=commonjs).types b/tests/baselines/reference/ambientRequireFunction(module=commonjs).types index f27d70654b24d..008c0aeefccbf 100644 --- a/tests/baselines/reference/ambientRequireFunction(module=commonjs).types +++ b/tests/baselines/reference/ambientRequireFunction(module=commonjs).types @@ -9,7 +9,7 @@ const fs = require("fs"); >require("fs") : typeof fs > : ^^^^^^^^^ >require : (moduleName: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"fs" : "fs" > : ^^^^ @@ -19,11 +19,11 @@ const text = fs.readFileSync("/a/b/c"); >fs.readFileSync("/a/b/c") : string > : ^^^^^^ >fs.readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : typeof fs > : ^^^^^^^^^ >readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"/a/b/c" : "/a/b/c" > : ^^^^^^^^ diff --git a/tests/baselines/reference/ambientRequireFunction(module=preserve).types b/tests/baselines/reference/ambientRequireFunction(module=preserve).types index f27d70654b24d..008c0aeefccbf 100644 --- a/tests/baselines/reference/ambientRequireFunction(module=preserve).types +++ b/tests/baselines/reference/ambientRequireFunction(module=preserve).types @@ -9,7 +9,7 @@ const fs = require("fs"); >require("fs") : typeof fs > : ^^^^^^^^^ >require : (moduleName: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"fs" : "fs" > : ^^^^ @@ -19,11 +19,11 @@ const text = fs.readFileSync("/a/b/c"); >fs.readFileSync("/a/b/c") : string > : ^^^^^^ >fs.readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : typeof fs > : ^^^^^^^^^ >readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"/a/b/c" : "/a/b/c" > : ^^^^^^^^ diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types index 9878481124a34..05081200ce309 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types @@ -7,49 +7,49 @@ class TestClass { public bar(x: string): void; >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public bar(x: string[]): void; >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public bar(x: any): void { >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } public foo(x: string): void; >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public foo(x: string[]): void; >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public foo(x: any): void { >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any this.bar(x); // should not error >this.bar(x) : void > : ^^^^ >this.bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } } @@ -60,19 +60,19 @@ class TestClass2 { public bar(x: string): number; >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public bar(x: string[]): number; >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public bar(x: any): number { >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any return 0; @@ -82,30 +82,30 @@ class TestClass2 { public foo(x: string): number; >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public foo(x: string[]): number; >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public foo(x: any): number { >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any return this.bar(x); // should not error >this.bar(x) : number > : ^^^^^^ >this.bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } } diff --git a/tests/baselines/reference/ambiguousGenericAssertion1.types b/tests/baselines/reference/ambiguousGenericAssertion1.types index 662d5388041fa..605a874b06f6b 100644 --- a/tests/baselines/reference/ambiguousGenericAssertion1.types +++ b/tests/baselines/reference/ambiguousGenericAssertion1.types @@ -25,7 +25,7 @@ var r2 = < (x: T) => T>f; // valid >x : T > : ^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operation >r3 : boolean @@ -49,5 +49,5 @@ var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operatio >T : any > : ^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/ambiguousOverload.types b/tests/baselines/reference/ambiguousOverload.types index d840fe6a962e7..4b5d582073603 100644 --- a/tests/baselines/reference/ambiguousOverload.types +++ b/tests/baselines/reference/ambiguousOverload.types @@ -3,7 +3,7 @@ === ambiguousOverload.ts === function foof(bar: string, y): number; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >y : any @@ -11,7 +11,7 @@ function foof(bar: string, y): number; function foof(bar: string, x): string; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >x : any @@ -19,7 +19,7 @@ function foof(bar: string, x): string; function foof(bar: any): any { return bar }; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -31,7 +31,7 @@ var x: number = foof("s", null); >foof("s", null) : number > : ^^^^^^ >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ @@ -41,13 +41,13 @@ var y: string = foof("s", null); >foof("s", null) : number > : ^^^^^^ >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ function foof2(bar: string, x): string; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >x : any @@ -55,7 +55,7 @@ function foof2(bar: string, x): string; function foof2(bar: string, y): number; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >y : any @@ -63,7 +63,7 @@ function foof2(bar: string, y): number; function foof2(bar: any): any { return bar }; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -75,7 +75,7 @@ var x2: string = foof2("s", null); >foof2("s", null) : string > : ^^^^^^ >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ @@ -85,7 +85,7 @@ var y2: number = foof2("s", null); >foof2("s", null) : string > : ^^^^^^ >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ diff --git a/tests/baselines/reference/ambiguousOverloadResolution.types b/tests/baselines/reference/ambiguousOverloadResolution.types index 183c1cbdd851a..f70a1354d7409 100644 --- a/tests/baselines/reference/ambiguousOverloadResolution.types +++ b/tests/baselines/reference/ambiguousOverloadResolution.types @@ -15,7 +15,7 @@ class B extends A { x: number; } declare function f(p: A, q: B): number; >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >p : A > : ^ >q : B @@ -23,7 +23,7 @@ declare function f(p: A, q: B): number; declare function f(p: B, q: A): string; >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >p : B > : ^ >q : A @@ -39,7 +39,7 @@ var t: number = f(x, x); // Not an error >f(x, x) : number > : ^^^^^^ >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : B > : ^ >x : B diff --git a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types index 6a5fe29602410..298d9b7a59a76 100644 --- a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types +++ b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types @@ -3,7 +3,7 @@ === Class.ts === import { Configurable } from "./Configurable" >Configurable : >(base: T) => T -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ export class HiddenClass {} >HiddenClass : HiddenClass @@ -15,7 +15,7 @@ export class ActualClass extends Configurable(HiddenClass) {} >Configurable(HiddenClass) : HiddenClass > : ^^^^^^^^^^^ >Configurable : >(base: T) => T -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ >HiddenClass : typeof HiddenClass > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/amdLikeInputDeclarationEmit.types b/tests/baselines/reference/amdLikeInputDeclarationEmit.types index 999cfe55e0837..8c8e555cd2240 100644 --- a/tests/baselines/reference/amdLikeInputDeclarationEmit.types +++ b/tests/baselines/reference/amdLikeInputDeclarationEmit.types @@ -57,15 +57,15 @@ define("lib/ExtendedClass", ["deps/BaseClass"], const ExtendedClass = BaseClass.extends({ >ExtendedClass : new () => { f: () => "something"; } & import("deps/BaseClass") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >BaseClass.extends({ f: function() { return "something"; } }) : new () => { f: () => "something"; } & import("deps/BaseClass") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >BaseClass.extends : (a: A) => new () => A & import("deps/BaseClass") -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ >BaseClass : typeof import("deps/BaseClass") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extends : (a: A) => new () => A & import("deps/BaseClass") -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ >{ f: function() { return "something"; } } : { f: () => "something"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -96,7 +96,7 @@ define("lib/ExtendedClass", ["deps/BaseClass"], >exports : any > : ^^^ >ExtendedClass : new () => { f: () => "something"; } & import("deps/BaseClass") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ return module.exports; >module.exports : any diff --git a/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types b/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types index f69bab5888cc6..28dfac47372a5 100644 --- a/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types +++ b/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types @@ -46,11 +46,11 @@ export function Timestamped(Base: TBase) { >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ }; } diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types index 2c3dbfb07c97f..8ffba4e4acfac 100644 --- a/tests/baselines/reference/anonterface.types +++ b/tests/baselines/reference/anonterface.types @@ -23,7 +23,7 @@ module M { >fn(n2) : string > : ^^^^^^ >fn : (n: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n2 : number > : ^^^^^^ } @@ -46,11 +46,11 @@ c.m(function(n) { return "hello: "+n; },18); >c.m(function(n) { return "hello: "+n; },18) : string > : ^^^^^^ >c.m : (fn: { (n: number): string; }, n2: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : M.C > : ^^^ >m : (fn: { (n: number): string; }, n2: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n) { return "hello: "+n; } : (n: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index 42721203786c9..9d3dfd809172f 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -17,97 +17,97 @@ var a: any; declare function foo2(x: number): number; >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function foo2(x: any): any; >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo2(a); // any, not a subtype of number so it skips that overload, is a subtype of itself so it picks second (if truly ambiguous it would pick first overload) >r3 : any >foo2(a) : any >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo3(x: string): string; >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo3(x: any): any; >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo4(x: boolean): boolean; >foo4 : { (x: boolean): boolean; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ declare function foo4(x: any): any; >foo4 : { (x: boolean): boolean; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo5(x: Date): Date; >foo5 : { (x: Date): Date; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ declare function foo5(x: any): any; >foo5 : { (x: Date): Date; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo6(x: RegExp): RegExp; >foo6 : { (x: RegExp): RegExp; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : RegExp > : ^^^^^^ declare function foo6(x: any): any; >foo6 : { (x: RegExp): RegExp; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo7(x: { bar: number }): { bar: number }; >foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : { bar: number; } > : ^^^^^^^ ^^^ >bar : number @@ -117,32 +117,32 @@ declare function foo7(x: { bar: number }): { bar: number }; declare function foo7(x: any): any; >foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo8(x: number[]): number[]; >foo8 : { (x: number[]): number[]; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number[] > : ^^^^^^^^ declare function foo8(x: any): any; >foo8 : { (x: number[]): number[]; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any interface I8 { foo: string } @@ -151,20 +151,20 @@ interface I8 { foo: string } declare function foo9(x: I8): I8; >foo9 : { (x: I8): I8; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : I8 > : ^^ declare function foo9(x: any): any; >foo9 : { (x: I8): I8; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any class A { foo: number; } @@ -175,20 +175,20 @@ class A { foo: number; } declare function foo10(x: A): A; >foo10 : { (x: A): A; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A > : ^ declare function foo10(x: any): any; >foo10 : { (x: A): A; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any class A2 { foo: T; } @@ -199,25 +199,25 @@ class A2 { foo: T; } declare function foo11(x: A2): A2; >foo11 : { (x: A2): A2; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A2 > : ^^^^^^^^^^ declare function foo11(x: any): any; >foo11 : { (x: A2): A2; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo12(x: (x) => number): (x) => number; >foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: any) => number > : ^ ^^^^^^^^^^ >x : any @@ -225,19 +225,19 @@ declare function foo12(x: (x) => number): (x) => number; declare function foo12(x: any): any; >foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo13(x: (x: T) => T): (x: T) => T; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -247,14 +247,14 @@ declare function foo13(x: (x: T) => T): (x: T) => T; declare function foo13(x: any): any; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any enum E { A } @@ -265,20 +265,20 @@ enum E { A } declare function foo14(x: E): E; >foo14 : { (x: E): E; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ declare function foo14(x: any): any; >foo14 : { (x: E): E; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any function f() { } @@ -297,7 +297,7 @@ module f { } declare function foo15(x: typeof f): typeof f; >foo15 : { (x: typeof f): typeof f; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : typeof f > : ^^^^^^^^ >f : typeof f @@ -307,14 +307,14 @@ declare function foo15(x: typeof f): typeof f; declare function foo15(x: any): any; >foo15 : { (x: typeof f): typeof f; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any class CC { baz: string } @@ -335,55 +335,55 @@ module CC { } declare function foo16(x: CC): CC; >foo16 : { (x: CC): CC; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : CC > : ^^ declare function foo16(x: any): any; >foo16 : { (x: CC): CC; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo17(x: Object): Object; >foo17 : { (x: Object): Object; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Object > : ^^^^^^ declare function foo17(x: any): any; >foo17 : { (x: Object): Object; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo18(x: {}): {}; >foo18 : { (x: {}): {}; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : {} > : ^^ declare function foo18(x: any): any; >foo18 : { (x: {}): {}; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any diff --git a/tests/baselines/reference/anyInferenceAnonymousFunctions.types b/tests/baselines/reference/anyInferenceAnonymousFunctions.types index 77833f13ce3fc..8d06646fc9793 100644 --- a/tests/baselines/reference/anyInferenceAnonymousFunctions.types +++ b/tests/baselines/reference/anyInferenceAnonymousFunctions.types @@ -86,11 +86,11 @@ paired.map((c1) => c1.count); >paired.map((c1) => c1.count) : any[] > : ^^^^^ >paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >paired : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(c1) => c1.count : (c1: any) => any > : ^ ^^^^^^^^^^^^^ >c1 : any @@ -104,11 +104,11 @@ paired.map(function (c2) { return c2.count; }); >paired.map(function (c2) { return c2.count; }) : any[] > : ^^^^^ >paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >paired : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (c2) { return c2.count; } : (c2: any) => any > : ^ ^^^^^^^^^^^^^ >c2 : any diff --git a/tests/baselines/reference/argumentExpressionContextualTyping.types b/tests/baselines/reference/argumentExpressionContextualTyping.types index 58703910644b2..16a04fc21512e 100644 --- a/tests/baselines/reference/argumentExpressionContextualTyping.types +++ b/tests/baselines/reference/argumentExpressionContextualTyping.types @@ -128,7 +128,7 @@ foo(o1); // Not error since x has contextual type of tuple namely [string, numbe >foo : ({ x: [a, b], y: { c, d, e } }: { x: [any, any]; y: { c: any; d: any; e: any; }; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o1 : { x: [string, number]; y: { c: boolean; d: string; e: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ foo({ x: ["string", 1], y: { c: true, d: "world", e: 3 } }); // Not error >foo({ x: ["string", 1], y: { c: true, d: "world", e: 3 } }) : void diff --git a/tests/baselines/reference/argumentsAsPropertyName.types b/tests/baselines/reference/argumentsAsPropertyName.types index 034e8faa548ea..935c982c76a28 100644 --- a/tests/baselines/reference/argumentsAsPropertyName.types +++ b/tests/baselines/reference/argumentsAsPropertyName.types @@ -64,7 +64,7 @@ function myFunction(myType: MyType) { >[1, 2, 3].forEach(function(j) { use(x); }) : void > : ^^^^ >[1, 2, 3].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -74,7 +74,7 @@ function myFunction(myType: MyType) { >3 : 3 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(j) { use(x); } : (j: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >j : number diff --git a/tests/baselines/reference/argumentsAsPropertyName2.types b/tests/baselines/reference/argumentsAsPropertyName2.types index e3a1ccb1f3b58..f39170ff2cbef 100644 --- a/tests/baselines/reference/argumentsAsPropertyName2.types +++ b/tests/baselines/reference/argumentsAsPropertyName2.types @@ -31,11 +31,11 @@ function foo() { >[].forEach(function () { i }) : void > : ^^^^ >[].forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function () { i } : () => void > : ^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/argumentsObjectIterator01_ES5.types b/tests/baselines/reference/argumentsObjectIterator01_ES5.types index 76906071896ac..343bbec3a9a92 100644 --- a/tests/baselines/reference/argumentsObjectIterator01_ES5.types +++ b/tests/baselines/reference/argumentsObjectIterator01_ES5.types @@ -27,11 +27,11 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any > : ^^^ >arg : any diff --git a/tests/baselines/reference/argumentsObjectIterator01_ES6.types b/tests/baselines/reference/argumentsObjectIterator01_ES6.types index 70f37111b794e..b0d3bf5978267 100644 --- a/tests/baselines/reference/argumentsObjectIterator01_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator01_ES6.types @@ -26,11 +26,11 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any >arg : any >arg : any diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES5.types b/tests/baselines/reference/argumentsObjectIterator02_ES5.types index 9870101fa4b00..dccc4f075881d 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES5.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES5.types @@ -43,11 +43,11 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any > : ^^^ >arg : any diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES6.types b/tests/baselines/reference/argumentsObjectIterator02_ES6.types index eec7d223b7c9b..a2dd6ad1ecc2a 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES6.types @@ -13,9 +13,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe let blah = arguments[Symbol.iterator]; >blah : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >arguments[Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -36,17 +36,17 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >blah() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^ >blah : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ result.push(arg + arg); >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any >arg : any >arg : any diff --git a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types index 577b5f0270ea8..2d41b9e618782 100644 --- a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types +++ b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types @@ -93,11 +93,11 @@ const debuglog = function() { >format.apply(null, arguments) : string > : ^^^^^^ >format.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >format : (f: any, ...args: any[]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types index 64147a4e2557d..f6c3889ad00d4 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types @@ -69,7 +69,7 @@ const res1 = fn1(..."hello"); >fn1(..."hello") : readonly any[] > : ^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : any > : ^^^ >"hello" : "hello" @@ -81,7 +81,7 @@ const res2 = fn1(...itNum); >fn1(...itNum) : Iterable > : ^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : Iterable > : ^^^^^^^^^^^^^^^^ >itNum : Iterable @@ -93,7 +93,7 @@ const res3 = fn1(true, ..."hello"); >fn1(true, ..."hello") : readonly [true, ...any[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : any @@ -107,7 +107,7 @@ const res4 = fn1(true, ...itNum); >fn1(true, ...itNum) : readonly [true, ...Iterable[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : Iterable @@ -128,7 +128,7 @@ const p1 = foo(..."hello"); >foo(..."hello") : any[] > : ^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : any > : ^^^ >"hello" : "hello" @@ -140,7 +140,7 @@ const p2 = foo(...itNum); >foo(...itNum) : Iterable > : ^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : Iterable > : ^^^^^^^^^^^^^^^^ >itNum : Iterable @@ -152,7 +152,7 @@ const p3 = foo(true, ..."hello"); >foo(true, ..."hello") : [boolean, ...any[]] > : ^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : any @@ -166,7 +166,7 @@ const p4 = foo(true, ...itNum); >foo(true, ...itNum) : [boolean, ...Iterable[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : Iterable diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types index bde5cdabc0dd4..be4b8553796b9 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types @@ -69,7 +69,7 @@ const res1 = fn1(..."hello"); >fn1(..."hello") : readonly string[] > : ^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : string > : ^^^^^^ >"hello" : "hello" @@ -81,7 +81,7 @@ const res2 = fn1(...itNum); >fn1(...itNum) : readonly number[] > : ^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : number > : ^^^^^^ >itNum : Iterable @@ -93,7 +93,7 @@ const res3 = fn1(true, ..."hello"); >fn1(true, ..."hello") : readonly [true, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : string @@ -107,7 +107,7 @@ const res4 = fn1(true, ...itNum); >fn1(true, ...itNum) : readonly [true, ...number[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : number @@ -128,7 +128,7 @@ const p1 = foo(..."hello"); >foo(..."hello") : string[] > : ^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : string > : ^^^^^^ >"hello" : "hello" @@ -140,7 +140,7 @@ const p2 = foo(...itNum); >foo(...itNum) : number[] > : ^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : number > : ^^^^^^ >itNum : Iterable @@ -152,7 +152,7 @@ const p3 = foo(true, ..."hello"); >foo(true, ..."hello") : [boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : string @@ -166,7 +166,7 @@ const p4 = foo(true, ...itNum); >foo(true, ...itNum) : [boolean, ...number[]] > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : number diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types index 8528427431d93..f891e3ee4fbc7 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types @@ -89,7 +89,7 @@ var r1a5 = a * e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1a6 = a * f; >r1a6 : number @@ -149,7 +149,7 @@ var r1b5 = b * e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1b6 = b * f; >r1b6 : number @@ -209,7 +209,7 @@ var r1c5 = c * e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1c6 = c * f; >r1c6 : number @@ -269,7 +269,7 @@ var r1d5 = d * e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1d6 = d * f; >r1d6 : number @@ -287,7 +287,7 @@ var r1e1 = e * a; >e * a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -297,7 +297,7 @@ var r1e2 = e * b; >e * b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -307,7 +307,7 @@ var r1e3 = e * c; >e * c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -317,7 +317,7 @@ var r1e4 = e * d; >e * d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -327,9 +327,9 @@ var r1e5 = e * e; >e * e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1e6 = e * f; >r1e6 : number @@ -337,7 +337,7 @@ var r1e6 = e * f; >e * f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -389,7 +389,7 @@ var r1f5 = f * e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1f6 = f * f; >r1f6 : number @@ -469,7 +469,7 @@ var r1g5 = E.a * e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1g6 = E.a * f; >r1g6 : number @@ -547,7 +547,7 @@ var r1h5 = e * E.b; >e * E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -618,7 +618,7 @@ var r2a5 = a / e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2a6 = a / f; >r2a6 : number @@ -678,7 +678,7 @@ var r2b5 = b / e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2b6 = b / f; >r2b6 : number @@ -738,7 +738,7 @@ var r2c5 = c / e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2c6 = c / f; >r2c6 : number @@ -798,7 +798,7 @@ var r2d5 = d / e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2d6 = d / f; >r2d6 : number @@ -816,7 +816,7 @@ var r2e1 = e / a; >e / a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -826,7 +826,7 @@ var r2e2 = e / b; >e / b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -836,7 +836,7 @@ var r2e3 = e / c; >e / c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -846,7 +846,7 @@ var r2e4 = e / d; >e / d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -856,9 +856,9 @@ var r2e5 = e / e; >e / e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2e6 = e / f; >r2e6 : number @@ -866,7 +866,7 @@ var r2e6 = e / f; >e / f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -918,7 +918,7 @@ var r2f5 = f / e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2f6 = f / f; >r2f6 : number @@ -998,7 +998,7 @@ var r2g5 = E.a / e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2g6 = E.a / f; >r2g6 : number @@ -1076,7 +1076,7 @@ var r2h5 = e / E.b; >e / E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -1147,7 +1147,7 @@ var r3a5 = a % e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3a6 = a % f; >r3a6 : number @@ -1207,7 +1207,7 @@ var r3b5 = b % e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3b6 = b % f; >r3b6 : number @@ -1267,7 +1267,7 @@ var r3c5 = c % e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3c6 = c % f; >r3c6 : number @@ -1327,7 +1327,7 @@ var r3d5 = d % e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3d6 = d % f; >r3d6 : number @@ -1345,7 +1345,7 @@ var r3e1 = e % a; >e % a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -1355,7 +1355,7 @@ var r3e2 = e % b; >e % b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -1365,7 +1365,7 @@ var r3e3 = e % c; >e % c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -1375,7 +1375,7 @@ var r3e4 = e % d; >e % d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -1385,9 +1385,9 @@ var r3e5 = e % e; >e % e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3e6 = e % f; >r3e6 : number @@ -1395,7 +1395,7 @@ var r3e6 = e % f; >e % f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -1447,7 +1447,7 @@ var r3f5 = f % e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3f6 = f % f; >r3f6 : number @@ -1527,7 +1527,7 @@ var r3g5 = E.a % e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3g6 = E.a % f; >r3g6 : number @@ -1605,7 +1605,7 @@ var r3h5 = e % E.b; >e % E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -1676,7 +1676,7 @@ var r4a5 = a - e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4a6 = a - f; >r4a6 : number @@ -1736,7 +1736,7 @@ var r4b5 = b - e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4b6 = b - f; >r4b6 : number @@ -1796,7 +1796,7 @@ var r4c5 = c - e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4c6 = c - f; >r4c6 : number @@ -1856,7 +1856,7 @@ var r4d5 = d - e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4d6 = d - f; >r4d6 : number @@ -1874,7 +1874,7 @@ var r4e1 = e - a; >e - a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -1884,7 +1884,7 @@ var r4e2 = e - b; >e - b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -1894,7 +1894,7 @@ var r4e3 = e - c; >e - c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -1904,7 +1904,7 @@ var r4e4 = e - d; >e - d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -1914,9 +1914,9 @@ var r4e5 = e - e; >e - e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4e6 = e - f; >r4e6 : number @@ -1924,7 +1924,7 @@ var r4e6 = e - f; >e - f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -1976,7 +1976,7 @@ var r4f5 = f - e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4f6 = f - f; >r4f6 : number @@ -2056,7 +2056,7 @@ var r4g5 = E.a - e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4g6 = E.a - f; >r4g6 : number @@ -2134,7 +2134,7 @@ var r4h5 = e - E.b; >e - E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -2205,7 +2205,7 @@ var r5a5 = a << e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5a6 = a << f; >r5a6 : number @@ -2265,7 +2265,7 @@ var r5b5 = b << e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5b6 = b << f; >r5b6 : number @@ -2325,7 +2325,7 @@ var r5c5 = c << e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5c6 = c << f; >r5c6 : number @@ -2385,7 +2385,7 @@ var r5d5 = d << e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5d6 = d << f; >r5d6 : number @@ -2403,7 +2403,7 @@ var r5e1 = e << a; >e << a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -2413,7 +2413,7 @@ var r5e2 = e << b; >e << b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -2423,7 +2423,7 @@ var r5e3 = e << c; >e << c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -2433,7 +2433,7 @@ var r5e4 = e << d; >e << d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -2443,9 +2443,9 @@ var r5e5 = e << e; >e << e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5e6 = e << f; >r5e6 : number @@ -2453,7 +2453,7 @@ var r5e6 = e << f; >e << f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -2505,7 +2505,7 @@ var r5f5 = f << e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5f6 = f << f; >r5f6 : number @@ -2585,7 +2585,7 @@ var r5g5 = E.a << e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5g6 = E.a << f; >r5g6 : number @@ -2663,7 +2663,7 @@ var r5h5 = e << E.b; >e << E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -2734,7 +2734,7 @@ var r6a5 = a >> e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6a6 = a >> f; >r6a6 : number @@ -2794,7 +2794,7 @@ var r6b5 = b >> e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6b6 = b >> f; >r6b6 : number @@ -2854,7 +2854,7 @@ var r6c5 = c >> e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6c6 = c >> f; >r6c6 : number @@ -2914,7 +2914,7 @@ var r6d5 = d >> e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6d6 = d >> f; >r6d6 : number @@ -2932,7 +2932,7 @@ var r6e1 = e >> a; >e >> a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -2942,7 +2942,7 @@ var r6e2 = e >> b; >e >> b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -2952,7 +2952,7 @@ var r6e3 = e >> c; >e >> c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -2962,7 +2962,7 @@ var r6e4 = e >> d; >e >> d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -2972,9 +2972,9 @@ var r6e5 = e >> e; >e >> e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6e6 = e >> f; >r6e6 : number @@ -2982,7 +2982,7 @@ var r6e6 = e >> f; >e >> f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -3034,7 +3034,7 @@ var r6f5 = f >> e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6f6 = f >> f; >r6f6 : number @@ -3114,7 +3114,7 @@ var r6g5 = E.a >> e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6g6 = E.a >> f; >r6g6 : number @@ -3192,7 +3192,7 @@ var r6h5 = e >> E.b; >e >> E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -3263,7 +3263,7 @@ var r7a5 = a >>> e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7a6 = a >>> f; >r7a6 : number @@ -3323,7 +3323,7 @@ var r7b5 = b >>> e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7b6 = b >>> f; >r7b6 : number @@ -3383,7 +3383,7 @@ var r7c5 = c >>> e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7c6 = c >>> f; >r7c6 : number @@ -3443,7 +3443,7 @@ var r7d5 = d >>> e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7d6 = d >>> f; >r7d6 : number @@ -3461,7 +3461,7 @@ var r7e1 = e >>> a; >e >>> a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -3471,7 +3471,7 @@ var r7e2 = e >>> b; >e >>> b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -3481,7 +3481,7 @@ var r7e3 = e >>> c; >e >>> c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -3491,7 +3491,7 @@ var r7e4 = e >>> d; >e >>> d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -3501,9 +3501,9 @@ var r7e5 = e >>> e; >e >>> e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7e6 = e >>> f; >r7e6 : number @@ -3511,7 +3511,7 @@ var r7e6 = e >>> f; >e >>> f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -3563,7 +3563,7 @@ var r7f5 = f >>> e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7f6 = f >>> f; >r7f6 : number @@ -3643,7 +3643,7 @@ var r7g5 = E.a >>> e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7g6 = E.a >>> f; >r7g6 : number @@ -3721,7 +3721,7 @@ var r7h5 = e >>> E.b; >e >>> E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -3792,7 +3792,7 @@ var r8a5 = a & e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8a6 = a & f; >r8a6 : number @@ -3852,7 +3852,7 @@ var r8b5 = b & e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8b6 = b & f; >r8b6 : number @@ -3912,7 +3912,7 @@ var r8c5 = c & e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8c6 = c & f; >r8c6 : number @@ -3972,7 +3972,7 @@ var r8d5 = d & e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8d6 = d & f; >r8d6 : number @@ -3990,7 +3990,7 @@ var r8e1 = e & a; >e & a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -4000,7 +4000,7 @@ var r8e2 = e & b; >e & b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -4010,7 +4010,7 @@ var r8e3 = e & c; >e & c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -4020,7 +4020,7 @@ var r8e4 = e & d; >e & d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -4030,9 +4030,9 @@ var r8e5 = e & e; >e & e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8e6 = e & f; >r8e6 : number @@ -4040,7 +4040,7 @@ var r8e6 = e & f; >e & f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -4092,7 +4092,7 @@ var r8f5 = f & e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8f6 = f & f; >r8f6 : number @@ -4172,7 +4172,7 @@ var r8g5 = E.a & e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8g6 = E.a & f; >r8g6 : number @@ -4250,7 +4250,7 @@ var r8h5 = e & E.b; >e & E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -4321,7 +4321,7 @@ var r9a5 = a ^ e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9a6 = a ^ f; >r9a6 : number @@ -4381,7 +4381,7 @@ var r9b5 = b ^ e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9b6 = b ^ f; >r9b6 : number @@ -4441,7 +4441,7 @@ var r9c5 = c ^ e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9c6 = c ^ f; >r9c6 : number @@ -4501,7 +4501,7 @@ var r9d5 = d ^ e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9d6 = d ^ f; >r9d6 : number @@ -4519,7 +4519,7 @@ var r9e1 = e ^ a; >e ^ a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -4529,7 +4529,7 @@ var r9e2 = e ^ b; >e ^ b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -4539,7 +4539,7 @@ var r9e3 = e ^ c; >e ^ c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -4549,7 +4549,7 @@ var r9e4 = e ^ d; >e ^ d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -4559,9 +4559,9 @@ var r9e5 = e ^ e; >e ^ e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9e6 = e ^ f; >r9e6 : number @@ -4569,7 +4569,7 @@ var r9e6 = e ^ f; >e ^ f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -4621,7 +4621,7 @@ var r9f5 = f ^ e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9f6 = f ^ f; >r9f6 : number @@ -4701,7 +4701,7 @@ var r9g5 = E.a ^ e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9g6 = E.a ^ f; >r9g6 : number @@ -4779,7 +4779,7 @@ var r9h5 = e ^ E.b; >e ^ E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -4850,7 +4850,7 @@ var r10a5 = a | e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10a6 = a | f; >r10a6 : number @@ -4910,7 +4910,7 @@ var r10b5 = b | e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10b6 = b | f; >r10b6 : number @@ -4970,7 +4970,7 @@ var r10c5 = c | e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10c6 = c | f; >r10c6 : number @@ -5030,7 +5030,7 @@ var r10d5 = d | e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10d6 = d | f; >r10d6 : number @@ -5048,7 +5048,7 @@ var r10e1 = e | a; >e | a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -5058,7 +5058,7 @@ var r10e2 = e | b; >e | b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -5068,7 +5068,7 @@ var r10e3 = e | c; >e | c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -5078,7 +5078,7 @@ var r10e4 = e | d; >e | d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -5088,9 +5088,9 @@ var r10e5 = e | e; >e | e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10e6 = e | f; >r10e6 : number @@ -5098,7 +5098,7 @@ var r10e6 = e | f; >e | f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -5150,7 +5150,7 @@ var r10f5 = f | e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10f6 = f | f; >r10f6 : number @@ -5230,7 +5230,7 @@ var r10g5 = E.a | e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10g6 = E.a | f; >r10g6 : number @@ -5308,7 +5308,7 @@ var r10h5 = e | E.b; >e | E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.types b/tests/baselines/reference/arityAndOrderCompatibility01.types index 07e84187ced61..5c37248c3ebc0 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.types +++ b/tests/baselines/reference/arityAndOrderCompatibility01.types @@ -68,7 +68,7 @@ var [g, h, i] = z; >i : any > : ^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var j1: [number, number, number] = x; >j1 : [number, number, number] @@ -86,7 +86,7 @@ var j3: [number, number, number] = z; >j3 : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var k1: [string, number, number] = x; >k1 : [string, number, number] @@ -104,7 +104,7 @@ var k3: [string, number, number] = z; >k3 : [string, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var l1: [number] = x; >l1 : [number] @@ -122,7 +122,7 @@ var l3: [number] = z; >l3 : [number] > : ^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var m1: [string] = x; >m1 : [string] @@ -140,7 +140,7 @@ var m3: [string] = z; >m3 : [string] > : ^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var n1: [number, string] = x; >n1 : [number, string] @@ -158,7 +158,7 @@ var n3: [number, string] = z; >n3 : [number, string] > : ^^^^^^^^^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var o1: [string, number] = x; >o1 : [string, number] diff --git a/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types b/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types index f53b126aecd1a..076a3e981e2bb 100644 --- a/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types +++ b/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types @@ -25,7 +25,7 @@ foo("", 0); >foo("", 0) : void > : ^^^^ >foo : (a: any, b: any, { c }: { c: any; }) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ >"" : "" > : ^^ >0 : 0 @@ -35,7 +35,7 @@ bar("", 0); >bar("", 0) : void > : ^^^^ >bar : (a: any, b: any, [c]: [any]) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ >"" : "" > : ^^ >0 : 0 diff --git a/tests/baselines/reference/arrayAssignmentTest5.types b/tests/baselines/reference/arrayAssignmentTest5.types index 3a2ab9ce09abd..66d7ddf30c234 100644 --- a/tests/baselines/reference/arrayAssignmentTest5.types +++ b/tests/baselines/reference/arrayAssignmentTest5.types @@ -69,11 +69,11 @@ module Test { >this.tokenize(line, state, true) : ILineTokens > : ^^^^^^^^^^^ >this.tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >line : string > : ^^^^^^ >state : IState @@ -107,11 +107,11 @@ module Test { >this.onEnter(line, tokens, offset) : IAction > : ^^^^^^^ >this.onEnter : (line: string, state: IState, offset: number) => IAction -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >onEnter : (line: string, state: IState, offset: number) => IAction -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >line : string > : ^^^^^^ >tokens : IStateToken[] diff --git a/tests/baselines/reference/arrayAugment.types b/tests/baselines/reference/arrayAugment.types index d9d62a0a52481..6a91cbccca3cc 100644 --- a/tests/baselines/reference/arrayAugment.types +++ b/tests/baselines/reference/arrayAugment.types @@ -23,11 +23,11 @@ var y = x.split(4); >x.split(4) : string[][] > : ^^^^^^^^^^ >x.split : (parts: number) => string[][] -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x : string[] > : ^^^^^^^^ >split : (parts: number) => string[][] -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >4 : 4 > : ^ diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index 363b2e3a023ef..2ed7f2c9d8fa3 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -27,7 +27,7 @@ module EmptyTypes { public voidIfAny(x: boolean, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ >y : boolean @@ -35,7 +35,7 @@ module EmptyTypes { public voidIfAny(x: string, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : boolean @@ -43,7 +43,7 @@ module EmptyTypes { public voidIfAny(x: number, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : number > : ^^^^^^ >y : boolean @@ -51,7 +51,7 @@ module EmptyTypes { public voidIfAny(x: any, y = false): any { return null; } >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : any >y : boolean > : ^^^^^^^ @@ -70,11 +70,11 @@ module EmptyTypes { >this.voidIfAny([4, 2][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2][0] : number > : ^^^^^^ >[4, 2] : number[] @@ -94,11 +94,11 @@ module EmptyTypes { >this.voidIfAny([4, 2, undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2, undefined][0] : number > : ^^^^^^ >[4, 2, undefined] : number[] @@ -120,11 +120,11 @@ module EmptyTypes { >this.voidIfAny([undefined, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 2, 4][0] : number > : ^^^^^^ >[undefined, 2, 4] : number[] @@ -146,11 +146,11 @@ module EmptyTypes { >this.voidIfAny([null, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, 2, 4][0] : number > : ^^^^^^ >[null, 2, 4] : number[] @@ -170,11 +170,11 @@ module EmptyTypes { >this.voidIfAny([2, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[2, 4, null][0] : number > : ^^^^^^ >[2, 4, null] : number[] @@ -194,11 +194,11 @@ module EmptyTypes { >this.voidIfAny([undefined, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 4, null][0] : number > : ^^^^^^ >[undefined, 4, null] : number[] @@ -218,11 +218,11 @@ module EmptyTypes { >this.voidIfAny(['', "q"][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q"][0] : string > : ^^^^^^ >['', "q"] : string[] @@ -242,11 +242,11 @@ module EmptyTypes { >this.voidIfAny(['', "q", undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q", undefined][0] : string > : ^^^^^^ >['', "q", undefined] : string[] @@ -268,11 +268,11 @@ module EmptyTypes { >this.voidIfAny([undefined, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, "q", ''][0] : string > : ^^^^^^ >[undefined, "q", ''] : string[] @@ -294,11 +294,11 @@ module EmptyTypes { >this.voidIfAny([null, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, "q", ''][0] : string > : ^^^^^^ >[null, "q", ''] : string[] @@ -318,11 +318,11 @@ module EmptyTypes { >this.voidIfAny(["q", '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >["q", '', null][0] : string > : ^^^^^^ >["q", '', null] : string[] @@ -342,11 +342,11 @@ module EmptyTypes { >this.voidIfAny([undefined, '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, '', null][0] : string > : ^^^^^^ >[undefined, '', null] : string[] @@ -366,11 +366,11 @@ module EmptyTypes { >this.voidIfAny([[3, 4], [null]][0][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[[3, 4], [null]][0][0] : number > : ^^^^^^ >[[3, 4], [null]][0] : number[] @@ -709,7 +709,7 @@ module NonEmptyTypes { public voidIfAny(x: boolean, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ >y : boolean @@ -717,7 +717,7 @@ module NonEmptyTypes { public voidIfAny(x: string, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : boolean @@ -725,7 +725,7 @@ module NonEmptyTypes { public voidIfAny(x: number, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : number > : ^^^^^^ >y : boolean @@ -733,7 +733,7 @@ module NonEmptyTypes { public voidIfAny(x: any, y = false): any { return null; } >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : any >y : boolean > : ^^^^^^^ @@ -752,11 +752,11 @@ module NonEmptyTypes { >this.voidIfAny([4, 2][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2][0] : number > : ^^^^^^ >[4, 2] : number[] @@ -776,11 +776,11 @@ module NonEmptyTypes { >this.voidIfAny([4, 2, undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2, undefined][0] : number > : ^^^^^^ >[4, 2, undefined] : number[] @@ -802,11 +802,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 2, 4][0] : number > : ^^^^^^ >[undefined, 2, 4] : number[] @@ -828,11 +828,11 @@ module NonEmptyTypes { >this.voidIfAny([null, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, 2, 4][0] : number > : ^^^^^^ >[null, 2, 4] : number[] @@ -852,11 +852,11 @@ module NonEmptyTypes { >this.voidIfAny([2, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[2, 4, null][0] : number > : ^^^^^^ >[2, 4, null] : number[] @@ -876,11 +876,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 4, null][0] : number > : ^^^^^^ >[undefined, 4, null] : number[] @@ -900,11 +900,11 @@ module NonEmptyTypes { >this.voidIfAny(['', "q"][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q"][0] : string > : ^^^^^^ >['', "q"] : string[] @@ -924,11 +924,11 @@ module NonEmptyTypes { >this.voidIfAny(['', "q", undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q", undefined][0] : string > : ^^^^^^ >['', "q", undefined] : string[] @@ -950,11 +950,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, "q", ''][0] : string > : ^^^^^^ >[undefined, "q", ''] : string[] @@ -976,11 +976,11 @@ module NonEmptyTypes { >this.voidIfAny([null, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, "q", ''][0] : string > : ^^^^^^ >[null, "q", ''] : string[] @@ -1000,11 +1000,11 @@ module NonEmptyTypes { >this.voidIfAny(["q", '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >["q", '', null][0] : string > : ^^^^^^ >["q", '', null] : string[] @@ -1024,11 +1024,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, '', null][0] : string > : ^^^^^^ >[undefined, '', null] : string[] @@ -1048,11 +1048,11 @@ module NonEmptyTypes { >this.voidIfAny([[3, 4], [null]][0][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[[3, 4], [null]][0][0] : number > : ^^^^^^ >[[3, 4], [null]][0] : number[] diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types index 2edd398386eef..498a1e6e2a67c 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types @@ -9,11 +9,11 @@ if (ArrayBuffer.isView(obj)) { >ArrayBuffer.isView(obj) : boolean > : ^^^^^^^ >ArrayBuffer.isView : (arg: any) => arg is ArrayBufferView -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ArrayBuffer : ArrayBufferConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >isView : (arg: any) => arg is ArrayBufferView -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ diff --git a/tests/baselines/reference/arrayConcat2.types b/tests/baselines/reference/arrayConcat2.types index df756cdf2d284..b7eefc82f1c5f 100644 --- a/tests/baselines/reference/arrayConcat2.types +++ b/tests/baselines/reference/arrayConcat2.types @@ -11,11 +11,11 @@ a.concat("hello", 'world'); >a.concat("hello", 'world') : string[] > : ^^^^^^^^ >a.concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ >'world' : "world" @@ -25,11 +25,11 @@ a.concat('Hello'); >a.concat('Hello') : string[] > : ^^^^^^^^ >a.concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'Hello' : "Hello" > : ^^^^^^^ @@ -45,11 +45,11 @@ b.concat('hello'); >b.concat('hello') : string[] > : ^^^^^^^^ >b.concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : string[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'hello' : "hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/arrayConcat3.types b/tests/baselines/reference/arrayConcat3.types index 7903cd79dcbc9..74c353243d2fb 100644 --- a/tests/baselines/reference/arrayConcat3.types +++ b/tests/baselines/reference/arrayConcat3.types @@ -20,11 +20,11 @@ function doStuff(a: Array>, b: Arrayb.concat(a) : Fn[] > : ^^^^^^^^ >b.concat : { (...items: ConcatArray>[]): Fn[]; (...items: (Fn | ConcatArray>)[]): Fn[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : Fn[] > : ^^^^^^^^ >concat : { (...items: ConcatArray>[]): Fn[]; (...items: (Fn | ConcatArray>)[]): Fn[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : Fn[] > : ^^^^^^^ } diff --git a/tests/baselines/reference/arrayConcatMap.types b/tests/baselines/reference/arrayConcatMap.types index d769d1610ffc6..11c221cf3b470 100644 --- a/tests/baselines/reference/arrayConcatMap.types +++ b/tests/baselines/reference/arrayConcatMap.types @@ -7,15 +7,15 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) >[].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a) : any[] > : ^^^^^ >[].concat([{ a: 1 }], [{ a: 2 }]) .map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[].concat([{ a: 1 }], [{ a: 2 }]) : any[] > : ^^^^^ >[].concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >[{ a: 1 }] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{ a: 1 } : { a: number; } @@ -35,7 +35,7 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a); >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >b => b.a : (b: any) => any > : ^ ^^^^^^^^^^^^^ >b : any diff --git a/tests/baselines/reference/arrayDestructuringInSwitch1.types b/tests/baselines/reference/arrayDestructuringInSwitch1.types index 31d18e20991de..52ed83907bbb3 100644 --- a/tests/baselines/reference/arrayDestructuringInSwitch1.types +++ b/tests/baselines/reference/arrayDestructuringInSwitch1.types @@ -19,11 +19,11 @@ export function evaluate(expression: Expression): boolean { >Array.isArray(expression) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >expression : Expression > : ^^^^^^^^^^ @@ -47,11 +47,11 @@ export function evaluate(expression: Expression): boolean { >operands.every((child) => evaluate(child)) : boolean > : ^^^^^^^ >operands.every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >operands : Expression[] | [Expression] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >(child) => evaluate(child) : (child: Expression) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >child : Expression @@ -59,7 +59,7 @@ export function evaluate(expression: Expression): boolean { >evaluate(child) : boolean > : ^^^^^^^ >evaluate : (expression: Expression) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >child : Expression > : ^^^^^^^^^^ } @@ -73,7 +73,7 @@ export function evaluate(expression: Expression): boolean { >evaluate(operands[0]) : boolean > : ^^^^^^^ >evaluate : (expression: Expression) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >operands[0] : Expression > : ^^^^^^^^^^ >operands : Expression[] | [Expression] diff --git a/tests/baselines/reference/arrayEvery.types b/tests/baselines/reference/arrayEvery.types index 9920fb985d757..eef6d067bd2bc 100644 --- a/tests/baselines/reference/arrayEvery.types +++ b/tests/baselines/reference/arrayEvery.types @@ -29,19 +29,19 @@ if (foo.every(isString)) { >foo.every(isString) : boolean > : ^^^^^^^ >foo.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >foo : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >isString : (x: unknown) => x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ foo[0].slice(0); >foo[0].slice(0) : string > : ^^^^^^ >foo[0].slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >foo[0] : string > : ^^^^^^ >foo : string[] @@ -49,7 +49,7 @@ if (foo.every(isString)) { >0 : 0 > : ^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types index e5c77cb00c81d..166661165d34c 100644 --- a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types @@ -53,8 +53,8 @@ function foo(arr: T[], depth: number) { return flat(arr, depth); >flat(arr, depth) : (T | (T extends readonly (infer InnerArr)[] ? InnerArr | (InnerArr extends readonly (infer InnerArr)[] ? any : InnerArr) : T))[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->flat : (arr: A, depth?: D) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] ? T_10 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends infer T_11 ? T_11 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] ? T_11 extends -1 ? "done" : "recur" : never : never] : A; }[D extends -1 ? "done" : "recur"][] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flat : (arr: A, depth?: D) => BadFlatArray[] +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ >arr : T[] > : ^^^ >depth : number diff --git a/tests/baselines/reference/arrayFilter.types b/tests/baselines/reference/arrayFilter.types index 297c7e07c0d39..6d96955697ebc 100644 --- a/tests/baselines/reference/arrayFilter.types +++ b/tests/baselines/reference/arrayFilter.types @@ -35,11 +35,11 @@ foo.filter(x => x.name); //should accepted all possible types not only boolean! >foo.filter(x => x.name) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >foo.filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >foo : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >x => x.name : (x: { name: string; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; } diff --git a/tests/baselines/reference/arrayFind.types b/tests/baselines/reference/arrayFind.types index 73cde487ad800..8b225c6ccd1f6 100644 --- a/tests/baselines/reference/arrayFind.types +++ b/tests/baselines/reference/arrayFind.types @@ -40,14 +40,14 @@ const foundNumber: number | undefined = arrayOfStringsNumbersAndBooleans.find(is > : ^^^^^^ >arrayOfStringsNumbersAndBooleans.find(isNumber) : number > : ^^^^^^ ->arrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >arrayOfStringsNumbersAndBooleans : (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const readonlyArrayOfStringsNumbersAndBooleans = arrayOfStringsNumbersAndBooleans as ReadonlyArray; >readonlyArrayOfStringsNumbersAndBooleans : readonly (string | number | boolean)[] @@ -62,12 +62,12 @@ const readonlyFoundNumber: number | undefined = readonlyArrayOfStringsNumbersAnd > : ^^^^^^ >readonlyArrayOfStringsNumbersAndBooleans.find(isNumber) : number > : ^^^^^^ ->readonlyArrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>readonlyArrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyArrayOfStringsNumbersAndBooleans : readonly (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/arrayFlatMap.types b/tests/baselines/reference/arrayFlatMap.types index e83619d4144d0..fb09f50dd5682 100644 --- a/tests/baselines/reference/arrayFlatMap.types +++ b/tests/baselines/reference/arrayFlatMap.types @@ -16,12 +16,12 @@ const readonlyArray: ReadonlyArray = []; array.flatMap((): ReadonlyArray => []); // ok >array.flatMap((): ReadonlyArray => []) : number[] > : ^^^^^^^^ ->array.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>array.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >(): ReadonlyArray => [] : () => ReadonlyArray > : ^^^^^^ >[] : undefined[] @@ -30,12 +30,12 @@ array.flatMap((): ReadonlyArray => []); // ok readonlyArray.flatMap((): ReadonlyArray => []); // ok >readonlyArray.flatMap((): ReadonlyArray => []) : number[] > : ^^^^^^^^ ->readonlyArray.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>readonlyArray.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >readonlyArray : readonly number[] > : ^^^^^^^^^^^^^^^^^ ->flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >(): ReadonlyArray => [] : () => ReadonlyArray > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/arrayFlatNoCrashInference.types b/tests/baselines/reference/arrayFlatNoCrashInference.types index 8e01fa445141c..0d614732f87dc 100644 --- a/tests/baselines/reference/arrayFlatNoCrashInference.types +++ b/tests/baselines/reference/arrayFlatNoCrashInference.types @@ -13,11 +13,11 @@ function foo(arr: T[], depth: number) { >arr.flat(depth) : FlatArray[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr.flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >arr : T[] > : ^^^ >flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >depth : number > : ^^^^^^ } diff --git a/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types index 12a1958a001b1..e062190b0ff4e 100644 --- a/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types @@ -13,11 +13,11 @@ function foo(arr: T[], depth: number) { >arr.flat(depth) : FlatArray[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr.flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >arr : T[] > : ^^^ >flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >depth : number > : ^^^^^^ } diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index dc2651e7f45d9..dd4a41a176eb7 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -64,11 +64,11 @@ const result1: A[] = Array.from(inputA); >Array.from(inputA) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputA : A[] > : ^^^ @@ -78,19 +78,19 @@ const result2: A[] = Array.from(inputA.values()); >Array.from(inputA.values()) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputA.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ >inputA.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ >inputA : A[] > : ^^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] @@ -98,19 +98,19 @@ const result3: B[] = Array.from(inputA.values()); // expect error >Array.from(inputA.values()) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputA.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ >inputA.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ >inputA : A[] > : ^^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] @@ -118,11 +118,11 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >Array.from(inputB, ({ b }): A => ({ a: b })) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputB : B[] > : ^^^ >({ b }): A => ({ a: b }) : ({ b }: B) => A @@ -144,11 +144,11 @@ const result5: A[] = Array.from(inputALike); >Array.from(inputALike) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ @@ -158,11 +158,11 @@ const result6: B[] = Array.from(inputALike); // expect error >Array.from(inputALike) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ @@ -172,11 +172,11 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >Array.from(inputALike, ({ a }): B => ({ b: a })) : B[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -198,11 +198,11 @@ const result8: A[] = Array.from(inputARand); >Array.from(inputARand) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputARand : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -212,11 +212,11 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >Array.from(inputARand, ({ a }): B => ({ b: a })) : B[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputARand : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -238,11 +238,11 @@ const result10: A[] = Array.from(new Set()); >Array.from(new Set()) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >new Set() : Set > : ^^^^^^ >Set : SetConstructor @@ -254,11 +254,11 @@ const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); >Array.from(inputASet, ({ a }): B => ({ b: a })) : B[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputASet : Set > : ^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -293,11 +293,11 @@ function getEither (in1: Iterable, in2: ArrayLike) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >in1 : Iterable diff --git a/tests/baselines/reference/arrayFromAsync.types b/tests/baselines/reference/arrayFromAsync.types index c84d9bab59f8d..abea2cbd32d8d 100644 --- a/tests/baselines/reference/arrayFromAsync.types +++ b/tests/baselines/reference/arrayFromAsync.types @@ -57,11 +57,11 @@ function * genPromises (n) { >Promise.resolve(i * 2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >i * 2 : number > : ^^^^^^ >i : number @@ -83,11 +83,11 @@ const arrLike = { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -97,11 +97,11 @@ const arrLike = { >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -111,11 +111,11 @@ const arrLike = { >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -125,11 +125,11 @@ const arrLike = { >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >6 : 6 > : ^ @@ -160,11 +160,11 @@ for await (const v of asyncGen(4)) { >arr.push(v) : number > : ^^^^^^ >arr.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >v : number > : ^^^^^^ } @@ -177,11 +177,11 @@ const sameArr1 = await Array.fromAsync(arrLike); >Array.fromAsync(arrLike) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arrLike : { 0: Promise; 1: Promise; 2: Promise; 3: Promise; length: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -193,51 +193,51 @@ const sameArr2 = await Array.fromAsync([Promise.resolve(0), Promise.resolve(2), >Array.fromAsync([Promise.resolve(0), Promise.resolve(2), Promise.resolve(4), Promise.resolve(6)]) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[Promise.resolve(0), Promise.resolve(2), Promise.resolve(4), Promise.resolve(6)] : Promise[] > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >6 : 6 > : ^ @@ -249,11 +249,11 @@ const sameArr3 = await Array.fromAsync(genPromises(4)); >Array.fromAsync(genPromises(4)) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >genPromises(4) : Generator, void, unknown> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >genPromises : (n: any) => Generator, void, unknown> @@ -269,11 +269,11 @@ const sameArr4 = await Array.fromAsync(asyncGen(4)); >Array.fromAsync(asyncGen(4)) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -288,19 +288,19 @@ function Data (n) {} Data.fromAsync = Array.fromAsync; >Data.fromAsync = Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Data : typeof Data > : ^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ const sameArr5 = await Data.fromAsync(asyncGen(4)); >sameArr5 : number[] @@ -310,11 +310,11 @@ const sameArr5 = await Data.fromAsync(asyncGen(4)); >Data.fromAsync(asyncGen(4)) : Promise > : ^^^^^^^^^^^^^^^^^ >Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Data : typeof Data > : ^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -330,11 +330,11 @@ const mapArr1 = await Array.fromAsync(asyncGen(4), v => v ** 2); >Array.fromAsync(asyncGen(4), v => v ** 2) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -360,11 +360,11 @@ const mapArr2 = await Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)); >Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[0,2,4,6] : number[] > : ^^^^^^^^ >0 : 0 @@ -382,11 +382,11 @@ const mapArr2 = await Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)); >Promise.resolve(v ** 2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v ** 2 : number > : ^^^^^^ >v : number @@ -402,11 +402,11 @@ const mapArr3 = await Array.fromAsync([0,2,4,6], v => v ** 2); >Array.fromAsync([0,2,4,6], v => v ** 2) : Promise > : ^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[0,2,4,6] : number[] > : ^^^^^^^^ >0 : 0 @@ -461,11 +461,11 @@ const badArray = await Array.fromAsync(badIterable); >Array.fromAsync(badIterable) : Promise > : ^^^^^^^^^^^^^^^^^^ >Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >badIterable : { [Symbol.iterator](): never; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayLiteralInference.types b/tests/baselines/reference/arrayLiteralInference.types index ad1819964faef..6520794bbf907 100644 --- a/tests/baselines/reference/arrayLiteralInference.types +++ b/tests/baselines/reference/arrayLiteralInference.types @@ -193,7 +193,7 @@ let b1: { x: boolean }[] = foo({ x: true }, { x: false }); >foo({ x: true }, { x: false }) : ({ x: true; } | { x: false; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{ x: true } : { x: true; } > : ^^^^^^^^^^^^ >x : true @@ -213,7 +213,7 @@ let b2: boolean[][] = foo([true], [false]); >foo([true], [false]) : (true[] | false[])[] > : ^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >[true] : true[] > : ^^^^^^ >true : true diff --git a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types index 7674ca28aca6d..1030c5783fd7a 100644 --- a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types +++ b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types @@ -29,35 +29,35 @@ var c: { x: number; a?: number }; var as = [a, b]; // { x: number; y?: number };[] >as : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[a, b] : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var bs = [b, a]; // { x: number; z?: number };[] >bs : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[b, a] : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var cs = [a, b, c]; // { x: number; y?: number };[] >cs : ({ x: number; y?: number; } | { x: number; z?: number; } | { x: number; a?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[a, b, c] : ({ x: number; y?: number; } | { x: number; z?: number; } | { x: number; a?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >c : { x: number; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var ds = [(x: Object) => 1, (x: string) => 2]; // { (x:Object) => number }[] >ds : ((x: Object) => number)[] diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.types b/tests/baselines/reference/arrayOfFunctionTypes3.types index beb895cfac17b..fc811643c30ce 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.types +++ b/tests/baselines/reference/arrayOfFunctionTypes3.types @@ -82,23 +82,23 @@ var c: { (x: number): number; (x: any): any; }; var z = [a, b, c]; >z : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^ >[a, b, c] : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^ >a : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r4 = z[0]; >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >z[0] : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >z : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -106,7 +106,7 @@ var r5 = r4(''); // any not string >r5 : any >r4('') : any >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'' : "" > : ^^ @@ -116,7 +116,7 @@ var r5b = r4(1); >r4(1) : number > : ^^^^^^ >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -146,23 +146,23 @@ var c2: { (x: number): number; (x: T): any; }; var z2 = [a2, b2, c2]; >z2 : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^ >[a2, b2, c2] : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^ >a2 : { (x: T): number; (x: string): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b2 : { (x: T): number; (x: string): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c2 : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ var r6 = z2[0]; >r6 : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >z2[0] : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >z2 : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -170,7 +170,7 @@ var r7 = r6(''); // any not string >r7 : any >r6('') : any >r6 : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/arraySigChecking.types b/tests/baselines/reference/arraySigChecking.types index 225f346d482fc..0161cac12d147 100644 --- a/tests/baselines/reference/arraySigChecking.types +++ b/tests/baselines/reference/arraySigChecking.types @@ -48,11 +48,11 @@ var strArray: string[] = [myVar.voidFn()]; >myVar.voidFn() : void > : ^^^^ >myVar.voidFn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >myVar : myInt > : ^^^^^ >voidFn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var myArray: number[][][]; @@ -87,7 +87,7 @@ function isEmpty(l: { length: number }) { >l.length : number > : ^^^^^^ >l : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/arraySlice.types b/tests/baselines/reference/arraySlice.types index afa95b1d8db89..cb3db625c8856 100644 --- a/tests/baselines/reference/arraySlice.types +++ b/tests/baselines/reference/arraySlice.types @@ -9,11 +9,11 @@ arr.splice(1, 1); >arr.splice(1, 1) : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >arr.splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >arr : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >1 : 1 > : ^ >1 : 1 diff --git a/tests/baselines/reference/arraySpreadInCall.types b/tests/baselines/reference/arraySpreadInCall.types index 55fbaaf5f15d4..5bded461fc933 100644 --- a/tests/baselines/reference/arraySpreadInCall.types +++ b/tests/baselines/reference/arraySpreadInCall.types @@ -21,7 +21,7 @@ f1(1, 2, 3, 4, ...[5, 6]); >f1(1, 2, 3, 4, ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -43,7 +43,7 @@ f1(...[1], 2, 3, 4, 5, 6); >f1(...[1], 2, 3, 4, 5, 6) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...[1] : number > : ^^^^^^ >[1] : [number] @@ -65,7 +65,7 @@ f1(1, 2, ...[3, 4], 5, 6); >f1(1, 2, ...[3, 4], 5, 6) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -87,7 +87,7 @@ f1(1, 2, ...[3], 4, ...[5, 6]); >f1(1, 2, ...[3], 4, ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -113,7 +113,7 @@ f1(...[1, 2], ...[3, 4], ...[5, 6]); >f1(...[1, 2], ...[3, 4], ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -143,7 +143,7 @@ f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])); >f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...(([1, 2])) : number > : ^^^^^^ >(([1, 2])) : [number, number] @@ -195,7 +195,7 @@ const x21 = f2(...[1, 'foo']) >f2(...[1, 'foo']) : [number, string] > : ^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -211,7 +211,7 @@ const x22 = f2(true, ...[1, 'foo']) >f2(true, ...[1, 'foo']) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -229,7 +229,7 @@ const x23 = f2(...([1, 'foo'])) >f2(...([1, 'foo'])) : [number, string] > : ^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -247,7 +247,7 @@ const x24 = f2(true, ...([1, 'foo'])) >f2(true, ...([1, 'foo'])) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -273,7 +273,7 @@ const x31 = f3(...[1, 'foo']) >f3(...[1, 'foo']) : [number, string] > : ^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -289,7 +289,7 @@ const x32 = f3(true, ...[1, 'foo']) >f3(true, ...[1, 'foo']) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -307,7 +307,7 @@ const x33 = f3(...([1, 'foo'])) >f3(...([1, 'foo'])) : [number, string] > : ^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -325,7 +325,7 @@ const x34 = f3(true, ...([1, 'foo'])) >f3(true, ...([1, 'foo'])) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -351,7 +351,7 @@ const x41 = f4(...[1, 'foo']) >f4(...[1, 'foo']) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -367,7 +367,7 @@ const x42 = f4(true, ...[1, 'foo']) >f4(true, ...[1, 'foo']) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -385,7 +385,7 @@ const x43 = f4(...([1, 'foo'])) >f4(...([1, 'foo'])) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -403,7 +403,7 @@ const x44 = f4(true, ...([1, 'foo'])) >f4(true, ...([1, 'foo'])) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -433,11 +433,11 @@ action.run(...[100, 'foo']) // error >action.run(...[100, 'foo']) : unknown > : ^^^^^^^ >action.run : (event?: unknown) => unknown -> : ^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >action : IAction > : ^^^^^^^ >run : (event?: unknown) => unknown -> : ^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >...[100, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[100, 'foo'] : [number, string] diff --git a/tests/baselines/reference/arrayToLocaleStringES2015.types b/tests/baselines/reference/arrayToLocaleStringES2015.types index 35edce161032b..20ef91c8aec44 100644 --- a/tests/baselines/reference/arrayToLocaleStringES2015.types +++ b/tests/baselines/reference/arrayToLocaleStringES2015.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = arr.toLocaleString('en-US'); // OK >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // OK >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // OK >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = dates.toLocaleString('fr'); // OK >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // OK >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // OK >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -165,11 +165,11 @@ str = mixed.toLocaleString(); // OK >mixed.toLocaleString() : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = mixed.toLocaleString('fr'); // OK >str = mixed.toLocaleString('fr') : string @@ -179,11 +179,11 @@ str = mixed.toLocaleString('fr'); // OK >mixed.toLocaleString('fr') : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ @@ -195,11 +195,11 @@ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -221,7 +221,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >(mixed as ReadonlyArray).toLocaleString('de', { currency: 'EUR', style: 'currency', timeZone: 'UTC' }) : string > : ^^^^^^ >(mixed as ReadonlyArray).toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(mixed as ReadonlyArray) : readonly (number | Date)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixed as ReadonlyArray : readonly (number | Date)[] @@ -229,7 +229,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ currency: 'EUR', style: 'currency', timeZone: 'UTC' } : { currency: string; style: "currency"; timeZone: string; } @@ -265,11 +265,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int8Array.toLocaleString('en-US'); // OK >str = int8Array.toLocaleString('en-US') : string @@ -279,11 +279,11 @@ str = int8Array.toLocaleString('en-US'); // OK >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -295,11 +295,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -331,11 +331,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8Array.toLocaleString('en-US'); // OK >str = uint8Array.toLocaleString('en-US') : string @@ -345,11 +345,11 @@ str = uint8Array.toLocaleString('en-US'); // OK >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -361,11 +361,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -397,11 +397,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8ClampedArray.toLocaleString('en-US'); // OK >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -411,11 +411,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // OK >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -427,11 +427,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -463,11 +463,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int16Array.toLocaleString('en-US'); // OK >str = int16Array.toLocaleString('en-US') : string @@ -477,11 +477,11 @@ str = int16Array.toLocaleString('en-US'); // OK >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -493,11 +493,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -529,11 +529,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint16Array.toLocaleString('en-US'); // OK >str = uint16Array.toLocaleString('en-US') : string @@ -543,11 +543,11 @@ str = uint16Array.toLocaleString('en-US'); // OK >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -559,11 +559,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -595,11 +595,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int32Array.toLocaleString('en-US'); // OK >str = int32Array.toLocaleString('en-US') : string @@ -609,11 +609,11 @@ str = int32Array.toLocaleString('en-US'); // OK >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -625,11 +625,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -661,11 +661,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint32Array.toLocaleString('en-US'); // OK >str = uint32Array.toLocaleString('en-US') : string @@ -675,11 +675,11 @@ str = uint32Array.toLocaleString('en-US'); // OK >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -691,11 +691,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -727,11 +727,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float32Array.toLocaleString('en-US'); // OK >str = float32Array.toLocaleString('en-US') : string @@ -741,11 +741,11 @@ str = float32Array.toLocaleString('en-US'); // OK >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -757,11 +757,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -793,11 +793,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float64Array.toLocaleString('en-US'); // OK >str = float64Array.toLocaleString('en-US') : string @@ -807,11 +807,11 @@ str = float64Array.toLocaleString('en-US'); // OK >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -823,11 +823,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } diff --git a/tests/baselines/reference/arrayToLocaleStringES2020.types b/tests/baselines/reference/arrayToLocaleStringES2020.types index 48dc3a6b311b3..1fcd2b0d6195a 100644 --- a/tests/baselines/reference/arrayToLocaleStringES2020.types +++ b/tests/baselines/reference/arrayToLocaleStringES2020.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = arr.toLocaleString('en-US'); // OK >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // OK >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // OK >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = dates.toLocaleString('fr'); // OK >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // OK >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // OK >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -165,11 +165,11 @@ str = mixed.toLocaleString(); // OK >mixed.toLocaleString() : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string @@ -179,11 +179,11 @@ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -205,7 +205,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >(mixed as ReadonlyArray).toLocaleString('de', { currency: 'EUR', style: 'currency', timeZone: 'UTC' }) : string > : ^^^^^^ >(mixed as ReadonlyArray).toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(mixed as ReadonlyArray) : readonly (number | Date)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixed as ReadonlyArray : readonly (number | Date)[] @@ -213,7 +213,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ currency: 'EUR', style: 'currency', timeZone: 'UTC' } : { currency: string; style: "currency"; timeZone: string; } @@ -263,11 +263,11 @@ str = bigInts.toLocaleString(); // OK >bigInts.toLocaleString() : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = bigInts.toLocaleString('en-US'); // OK >str = bigInts.toLocaleString('en-US') : string @@ -277,11 +277,11 @@ str = bigInts.toLocaleString('en-US'); // OK >bigInts.toLocaleString('en-US') : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -293,11 +293,11 @@ str = bigInts.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); / >bigInts.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -329,11 +329,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int8Array.toLocaleString('en-US'); // OK >str = int8Array.toLocaleString('en-US') : string @@ -343,11 +343,11 @@ str = int8Array.toLocaleString('en-US'); // OK >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -359,11 +359,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -395,11 +395,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8Array.toLocaleString('en-US'); // OK >str = uint8Array.toLocaleString('en-US') : string @@ -409,11 +409,11 @@ str = uint8Array.toLocaleString('en-US'); // OK >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -425,11 +425,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -461,11 +461,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8ClampedArray.toLocaleString('en-US'); // OK >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -475,11 +475,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // OK >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -491,11 +491,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -527,11 +527,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int16Array.toLocaleString('en-US'); // OK >str = int16Array.toLocaleString('en-US') : string @@ -541,11 +541,11 @@ str = int16Array.toLocaleString('en-US'); // OK >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -557,11 +557,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -593,11 +593,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint16Array.toLocaleString('en-US'); // OK >str = uint16Array.toLocaleString('en-US') : string @@ -607,11 +607,11 @@ str = uint16Array.toLocaleString('en-US'); // OK >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -623,11 +623,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -659,11 +659,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int32Array.toLocaleString('en-US'); // OK >str = int32Array.toLocaleString('en-US') : string @@ -673,11 +673,11 @@ str = int32Array.toLocaleString('en-US'); // OK >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -689,11 +689,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -725,11 +725,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint32Array.toLocaleString('en-US'); // OK >str = uint32Array.toLocaleString('en-US') : string @@ -739,11 +739,11 @@ str = uint32Array.toLocaleString('en-US'); // OK >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -755,11 +755,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -791,11 +791,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float32Array.toLocaleString('en-US'); // OK >str = float32Array.toLocaleString('en-US') : string @@ -805,11 +805,11 @@ str = float32Array.toLocaleString('en-US'); // OK >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -821,11 +821,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -857,11 +857,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float64Array.toLocaleString('en-US'); // OK >str = float64Array.toLocaleString('en-US') : string @@ -871,11 +871,11 @@ str = float64Array.toLocaleString('en-US'); // OK >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -887,11 +887,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -923,11 +923,11 @@ str = bigInt64Array.toLocaleString(); // OK >bigInt64Array.toLocaleString() : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ str = bigInt64Array.toLocaleString('en-US'); // OK >str = bigInt64Array.toLocaleString('en-US') : string @@ -937,11 +937,11 @@ str = bigInt64Array.toLocaleString('en-US'); // OK >bigInt64Array.toLocaleString('en-US') : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -953,11 +953,11 @@ str = bigInt64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >bigInt64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -989,11 +989,11 @@ str = bigIntUint64Array.toLocaleString(); // OK >bigIntUint64Array.toLocaleString() : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ str = bigIntUint64Array.toLocaleString('en-US'); // OK >str = bigIntUint64Array.toLocaleString('en-US') : string @@ -1003,11 +1003,11 @@ str = bigIntUint64Array.toLocaleString('en-US'); // OK >bigIntUint64Array.toLocaleString('en-US') : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -1019,11 +1019,11 @@ str = bigIntUint64Array.toLocaleString('en-US', { style: 'currency', currency: ' >bigIntUint64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } diff --git a/tests/baselines/reference/arrayToLocaleStringES5.types b/tests/baselines/reference/arrayToLocaleStringES5.types index d3b979714f01b..1ecc6c27e373e 100644 --- a/tests/baselines/reference/arrayToLocaleStringES5.types +++ b/tests/baselines/reference/arrayToLocaleStringES5.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = arr.toLocaleString('en-US'); // should be error >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // should be error >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // sh >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = dates.toLocaleString('fr'); // should be error >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // should be error >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // should be error >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -157,11 +157,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = int8Array.toLocaleString('en-US'); // should be error >str = int8Array.toLocaleString('en-US') : string @@ -171,11 +171,11 @@ str = int8Array.toLocaleString('en-US'); // should be error >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -187,11 +187,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -223,11 +223,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint8Array.toLocaleString('en-US'); // should be error >str = uint8Array.toLocaleString('en-US') : string @@ -237,11 +237,11 @@ str = uint8Array.toLocaleString('en-US'); // should be error >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -253,11 +253,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -289,11 +289,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint8ClampedArray.toLocaleString('en-US'); // should be error >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -303,11 +303,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // should be error >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -319,11 +319,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -355,11 +355,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = int16Array.toLocaleString('en-US'); // should be error >str = int16Array.toLocaleString('en-US') : string @@ -369,11 +369,11 @@ str = int16Array.toLocaleString('en-US'); // should be error >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -385,11 +385,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -421,11 +421,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint16Array.toLocaleString('en-US'); // should be error >str = uint16Array.toLocaleString('en-US') : string @@ -435,11 +435,11 @@ str = uint16Array.toLocaleString('en-US'); // should be error >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -451,11 +451,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -487,11 +487,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = int32Array.toLocaleString('en-US'); // should be error >str = int32Array.toLocaleString('en-US') : string @@ -501,11 +501,11 @@ str = int32Array.toLocaleString('en-US'); // should be error >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -517,11 +517,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -553,11 +553,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint32Array.toLocaleString('en-US'); // should be error >str = uint32Array.toLocaleString('en-US') : string @@ -567,11 +567,11 @@ str = uint32Array.toLocaleString('en-US'); // should be error >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -583,11 +583,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -619,11 +619,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = float32Array.toLocaleString('en-US'); // should be error >str = float32Array.toLocaleString('en-US') : string @@ -633,11 +633,11 @@ str = float32Array.toLocaleString('en-US'); // should be error >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -649,11 +649,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -685,11 +685,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = float64Array.toLocaleString('en-US'); // should be error >str = float64Array.toLocaleString('en-US') : string @@ -699,11 +699,11 @@ str = float64Array.toLocaleString('en-US'); // should be error >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -715,11 +715,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes.types b/tests/baselines/reference/arrayTypeOfFunctionTypes.types index ef1b8c37c9b35..b54f47ff407e1 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes.types +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes.types @@ -13,7 +13,7 @@ var r = x[1]; >x[1] : any > : ^^^ >x : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -39,11 +39,11 @@ var x2: { (): string }[]; var r3 = x2[1]; >r3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2[1] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2 : (() => string)[] -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -53,7 +53,7 @@ var r4 = r3(); >r3() : string > : ^^^^^^ >r3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r4b = new r3(); // error >r4b : any @@ -61,7 +61,7 @@ var r4b = new r3(); // error >new r3() : any > : ^^^ >r3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var x3: Array<() => string>; >x3 : (() => string)[] @@ -69,11 +69,11 @@ var x3: Array<() => string>; var r5 = x2[1]; >r5 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2[1] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2 : (() => string)[] -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -83,7 +83,7 @@ var r6 = r5(); >r5() : string > : ^^^^^^ >r5 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r6b = new r5(); // error >r6b : any @@ -91,5 +91,5 @@ var r6b = new r5(); // error >new r5() : any > : ^^^ >r5 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes2.types b/tests/baselines/reference/arrayTypeOfFunctionTypes2.types index 752d2a844ed93..c86b7e79aff22 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes2.types +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes2.types @@ -13,7 +13,7 @@ var r = x[1]; >x[1] : any > : ^^^ >x : new () => string[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >1 : 1 > : ^ @@ -43,7 +43,7 @@ var r3 = x[1]; >x[1] : any > : ^^^ >x : new () => string[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >1 : 1 > : ^ @@ -69,11 +69,11 @@ var x3: Array string>; var r5 = x2[1]; >r5 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >x2[1] : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >x2 : (new () => string)[] -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >1 : 1 > : ^ @@ -83,7 +83,7 @@ var r6 = new r5(); >new r5() : string > : ^^^^^^ >r5 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b = r5(); >r6b : any @@ -91,5 +91,5 @@ var r6b = r5(); >r5() : any > : ^^^ >r5 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index 79e18e83d8965..6cdcb06d06a7f 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -57,7 +57,7 @@ class parser { >this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] > : ^^^^^^^^^^ >this.options.sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] -> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.options : IOptions[] > : ^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class parser { >options : IOptions[] > : ^^^^^^^^^^ >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] -> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => 1 | -1 | 0 > : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : IOptions @@ -79,7 +79,7 @@ class parser { >a.name.toLowerCase() : string > : ^^^^^^ >a.name.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.name : string > : ^^^^^^ >a : IOptions @@ -87,7 +87,7 @@ class parser { >name : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var bName = b.name.toLowerCase(); >bName : string @@ -95,7 +95,7 @@ class parser { >b.name.toLowerCase() : string > : ^^^^^^ >b.name.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.name : string > : ^^^^^^ >b : IOptions @@ -103,7 +103,7 @@ class parser { >name : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (aName > bName) { >aName > bName : boolean diff --git a/tests/baselines/reference/arrowFunctionContexts.types b/tests/baselines/reference/arrowFunctionContexts.types index b1d0eca2c8b87..d9b147d2034c8 100644 --- a/tests/baselines/reference/arrowFunctionContexts.types +++ b/tests/baselines/reference/arrowFunctionContexts.types @@ -49,11 +49,11 @@ window.setTimeout(() => null, 100); >window.setTimeout(() => null, 100) : number > : ^^^^^^ >window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >() => null : () => any > : ^^^^^^^^^ >100 : 100 @@ -202,11 +202,11 @@ module M2 { >window.setTimeout(() => null, 100) : number > : ^^^^^^ >window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >() => null : () => any > : ^^^^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index d1bb3035b7a4c..8bf8f07feb260 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -314,7 +314,7 @@ function someFn() { >arr(3)(4).toExponential() : string > : ^^^^^^ >arr(3)(4).toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arr(3)(4) : number > : ^^^^^^ >arr(3) : (p: number) => number @@ -326,7 +326,7 @@ function someFn() { >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // Arrow function used in function @@ -352,7 +352,7 @@ function someOtherFn() { >arr(4).charAt(0) : string > : ^^^^^^ >arr(4).charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arr(4) : string > : ^^^^^^ >arr : (n: number) => string @@ -360,7 +360,7 @@ function someOtherFn() { >4 : 4 > : ^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } @@ -499,11 +499,11 @@ h.toExponential(); >h.toExponential() : string > : ^^^^^^ >h.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >h : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Arrow function used in try/catch/finally in function function tryCatchFn() { diff --git a/tests/baselines/reference/asOperator3.types b/tests/baselines/reference/asOperator3.types index 3aa9f17b2c7e4..d74ba8200ccb7 100644 --- a/tests/baselines/reference/asOperator3.types +++ b/tests/baselines/reference/asOperator3.types @@ -88,7 +88,7 @@ var g = tag `Hello ${123} World` as string; > : ^^^^^^ >tag `Hello ${123} World` : any >tag : (...x: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Hello ${123} World` : string > : ^^^^^^ >123 : 123 @@ -101,7 +101,7 @@ var h = tag `Hello` as string; > : ^^^^^^ >tag `Hello` : any >tag : (...x: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Hello` : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/assertionFunctionWildcardImport1.types b/tests/baselines/reference/assertionFunctionWildcardImport1.types index edcbefa024299..8bc549710481e 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport1.types +++ b/tests/baselines/reference/assertionFunctionWildcardImport1.types @@ -30,7 +30,7 @@ ts.Debug.assert(true); >ts.Debug.assert(true) : void > : ^^^^ >ts.Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ts.Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >ts : typeof ts @@ -38,7 +38,7 @@ ts.Debug.assert(true); >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ @@ -46,11 +46,11 @@ Debug.assert(true); >Debug.assert(true) : void > : ^^^^ >Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ @@ -73,7 +73,7 @@ ts.Debug.assert(true); >ts.Debug.assert(true) : void > : ^^^^ >ts.Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ts.Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >ts : typeof ts @@ -81,7 +81,7 @@ ts.Debug.assert(true); >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ @@ -89,11 +89,11 @@ Debug.assert(true); >Debug.assert(true) : void > : ^^^^ >Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ diff --git a/tests/baselines/reference/assertionFunctionWildcardImport2.types b/tests/baselines/reference/assertionFunctionWildcardImport2.types index b74240fbf1d94..bf742e7e4de48 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport2.types +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.types @@ -34,7 +34,7 @@ function isNonNullable(obj: T): asserts obj is NonNullable { export { isNonNullable >isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ }; @@ -53,11 +53,11 @@ function test(obj: string | null): void { >asserts.isNonNullable(obj) : void > : ^^^^ >asserts.isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >asserts : typeof asserts > : ^^^^^^^^^^^^^^ >isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : string | null > : ^^^^^^^^^^^^^ @@ -65,10 +65,10 @@ function test(obj: string | null): void { >obj.trim() : string > : ^^^^^^ >obj.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types index deb93da51bc93..cac49b5bdf977 100644 --- a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types +++ b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types @@ -56,7 +56,7 @@ assertEqual(animal.type, 'cat' as const); >assertEqual(animal.type, 'cat' as const) : void > : ^^^^ >assertEqual : (value: any, type: T) => asserts value is T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >animal.type : "cat" | "dog" > : ^^^^^^^^^^^^^ >animal : Animal @@ -96,7 +96,7 @@ assertEqual(animalOrUndef?.type, 'cat' as const); >assertEqual(animalOrUndef?.type, 'cat' as const) : void > : ^^^^ >assertEqual : (value: any, type: T) => asserts value is T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >animalOrUndef?.type : "cat" | "dog" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >animalOrUndef : Animal | undefined diff --git a/tests/baselines/reference/assertionTypePredicates1.types b/tests/baselines/reference/assertionTypePredicates1.types index e1670c5b5822f..079224ba5369b 100644 --- a/tests/baselines/reference/assertionTypePredicates1.types +++ b/tests/baselines/reference/assertionTypePredicates1.types @@ -59,7 +59,7 @@ function f01(x: unknown) { >assert(typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -89,7 +89,7 @@ function f01(x: unknown) { >assert(x instanceof Error) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x instanceof Error : boolean > : ^^^^^^^ >x : unknown @@ -117,7 +117,7 @@ function f01(x: unknown) { >assert(typeof x === "boolean" || typeof x === "number") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "boolean" || typeof x === "number" : boolean > : ^^^^^^^ >typeof x === "boolean" : boolean @@ -139,11 +139,11 @@ function f01(x: unknown) { x.toLocaleString; >x.toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^ >x : number | boolean > : ^^^^^^^^^^^^^^^^ >toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^ } if (!!true) { >!!true : true @@ -157,11 +157,11 @@ function f01(x: unknown) { >assert(isArrayOfStrings(x)) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isArrayOfStrings(x) : boolean > : ^^^^^^^ >isArrayOfStrings : (value: unknown) => value is string[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -189,7 +189,7 @@ function f01(x: unknown) { >assertIsArrayOfStrings(x) : void > : ^^^^ >assertIsArrayOfStrings : (value: unknown) => asserts value is string[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -217,7 +217,7 @@ function f01(x: unknown) { >assertIsArrayOfStrings(false) : void > : ^^^^ >assertIsArrayOfStrings : (value: unknown) => asserts value is string[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -237,7 +237,7 @@ function f01(x: unknown) { >assert(x === undefined || typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x === undefined || typeof x === "string" : boolean > : ^^^^^^^ >x === undefined : boolean @@ -263,7 +263,7 @@ function f01(x: unknown) { >assertDefined(x) : void > : ^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -283,7 +283,7 @@ function f01(x: unknown) { >assert(false) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -303,7 +303,7 @@ function f01(x: unknown) { >assert(false && x === undefined) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false && x === undefined : false > : ^^^^^ >false : false @@ -339,7 +339,7 @@ function f02(x: string | undefined) { >assert(x) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -363,7 +363,7 @@ function f02(x: string | undefined) { >assert(x !== undefined) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x !== undefined : boolean > : ^^^^^^^ >x : string | undefined @@ -391,7 +391,7 @@ function f02(x: string | undefined) { >assertDefined(x) : void > : ^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -419,7 +419,7 @@ function f03(x: string | undefined, assert: (value: unknown) => asserts value) { >assert(x) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -469,11 +469,11 @@ function f10(x: string | undefined) { >Debug.assert(x) : void > : ^^^^ >Debug.assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -497,11 +497,11 @@ function f10(x: string | undefined) { >Debug.assert(x !== undefined) : void > : ^^^^ >Debug.assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x !== undefined : boolean > : ^^^^^^^ >x : string | undefined @@ -529,11 +529,11 @@ function f10(x: string | undefined) { >Debug.assertDefined(x) : void > : ^^^^ >Debug.assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -557,11 +557,11 @@ function f10(x: string | undefined) { >Debug.assert(false) : void > : ^^^^ >Debug.assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >false : false > : ^^^^^ @@ -645,11 +645,11 @@ class Test { >this.assertThis() : void > : ^^^^ >this.assertThis : () => asserts this -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >assertThis : () => asserts this -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this; >this : this @@ -665,11 +665,11 @@ class Test { >this.assert(typeof x === "string") : void > : ^^^^ >this.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -691,11 +691,11 @@ class Test { >this.isTest2() : boolean > : ^^^^^^^ >this.isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this.z; >this.z : number @@ -709,11 +709,11 @@ class Test { >this.assertIsTest2() : void > : ^^^^ >this.assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this.z; >this.z : number @@ -733,11 +733,11 @@ class Test { >this.assert(false) : void > : ^^^^ >this.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -776,11 +776,11 @@ class Derived extends Test { >super.assert(typeof x === "string") : void > : ^^^^ >super.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -808,11 +808,11 @@ class Derived extends Test { >super.assert(false) : void > : ^^^^ >super.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -838,11 +838,11 @@ function f11(items: Test[]) { >item.isTest2() : boolean > : ^^^^^^^ >item.isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >item : Test > : ^^^^ >isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ item.z; >item.z : number @@ -856,11 +856,11 @@ function f11(items: Test[]) { >item.assertIsTest2() : void > : ^^^^ >item.assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >item : Test > : ^^^^ >assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ item.z; >item.z : number @@ -935,7 +935,7 @@ function f20(x: unknown) { >assert(typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -947,19 +947,19 @@ function f20(x: unknown) { const a = [assert]; >a : ((value: unknown) => asserts value)[] -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >[assert] : ((value: unknown) => asserts value)[] -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a[0](typeof x === "string"); // Error >a[0](typeof x === "string") : void > : ^^^^ >a[0] : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : ((value: unknown) => asserts value)[] -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >0 : 0 > : ^ >typeof x === "string" : boolean @@ -983,11 +983,11 @@ function f20(x: unknown) { >t1.assert(typeof x === "string") : void > : ^^^^ >t1.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >t1 : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -1009,11 +1009,11 @@ function f20(x: unknown) { >t2.assert(typeof x === "string") : void > : ^^^^ >t2.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >t2 : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -1060,11 +1060,11 @@ function example1(things: Thing[]) { >thing.isGood() : void > : ^^^^ >thing.isGood : () => asserts this is GoodThing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >thing : Thing > : ^^^^^ >isGood : () => asserts this is GoodThing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ thing.good; >thing.good : true diff --git a/tests/baselines/reference/assertionTypePredicates2.types b/tests/baselines/reference/assertionTypePredicates2.types index cf01c392eeebe..98abaa14e2dd0 100644 --- a/tests/baselines/reference/assertionTypePredicates2.types +++ b/tests/baselines/reference/assertionTypePredicates2.types @@ -15,9 +15,9 @@ */ const foo = (a) => { >foo : (a: A) => asserts a is B -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a) => { if (/** @type { B } */ (a).y !== 0) throw TypeError(); return undefined;} : (a: A) => asserts a is B -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -66,7 +66,7 @@ export const main = () => { >foo(a) : void > : ^^^^ >foo : (a: A) => asserts a is B -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ diff --git a/tests/baselines/reference/assertionsAndNonReturningFunctions.types b/tests/baselines/reference/assertionsAndNonReturningFunctions.types index 4cbad34aa450f..e5913a73415b5 100644 --- a/tests/baselines/reference/assertionsAndNonReturningFunctions.types +++ b/tests/baselines/reference/assertionsAndNonReturningFunctions.types @@ -135,7 +135,7 @@ function f1(x) { >assert2(typeof x === "string") : void > : ^^^^ >assert2 : (check: boolean) => asserts check -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -165,7 +165,7 @@ function f1(x) { >assertIsString(x) : void > : ^^^^ >assertIsString : (x: unknown) => asserts x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -189,7 +189,7 @@ function f1(x) { >fail() : never > : ^^^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ x; // Unreachable >x : any diff --git a/tests/baselines/reference/assignEveryTypeToAny.types b/tests/baselines/reference/assignEveryTypeToAny.types index 77c023dea7081..42e00f5bc6df7 100644 --- a/tests/baselines/reference/assignEveryTypeToAny.types +++ b/tests/baselines/reference/assignEveryTypeToAny.types @@ -177,10 +177,10 @@ var i: { (): string }; x = i; >x = i : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : any >i : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ x = { f() { return 1; } } >x = { f() { return 1; } } : { f(): number; } diff --git a/tests/baselines/reference/assignFromStringInterface2.types b/tests/baselines/reference/assignFromStringInterface2.types index 089fb85d63604..ad5e66cff4334 100644 --- a/tests/baselines/reference/assignFromStringInterface2.types +++ b/tests/baselines/reference/assignFromStringInterface2.types @@ -58,19 +58,19 @@ interface NotString { match(regexp: string): RegExpMatchArray; >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ match(regexp: RegExp): RegExpMatchArray; >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : string @@ -78,7 +78,7 @@ interface NotString { replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -90,7 +90,7 @@ interface NotString { replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : string @@ -98,7 +98,7 @@ interface NotString { replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -110,13 +110,13 @@ interface NotString { search(regexp: string): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -130,7 +130,7 @@ interface NotString { split(separator: string, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : string > : ^^^^^^ >limit : number @@ -138,7 +138,7 @@ interface NotString { split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : RegExp > : ^^^^^^ >limit : number diff --git a/tests/baselines/reference/assignToFn.types b/tests/baselines/reference/assignToFn.types index 906b9befd887e..937706d252e55 100644 --- a/tests/baselines/reference/assignToFn.types +++ b/tests/baselines/reference/assignToFn.types @@ -31,11 +31,11 @@ module M { >x.f="hello" : "hello" > : ^^^^^^^ >x.f : (n: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : I > : ^ >f : (n: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/assignToPrototype1.types b/tests/baselines/reference/assignToPrototype1.types index c211672b50570..967841c756dbd 100644 --- a/tests/baselines/reference/assignToPrototype1.types +++ b/tests/baselines/reference/assignToPrototype1.types @@ -18,7 +18,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) {} : (dx: number, dy: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -26,7 +26,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(dx, dy) {} : (dx: number, dy: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.types b/tests/baselines/reference/assigningFromObjectToAnythingElse.types index feb99b14d4c4d..ac2b3e1d33cb6 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.types +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.types @@ -23,11 +23,11 @@ var a: String = Object.create(""); >Object.create("") : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ @@ -37,11 +37,11 @@ var c: String = Object.create(1); >Object.create(1) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/assigningFunctionToTupleIssuesError.types b/tests/baselines/reference/assigningFunctionToTupleIssuesError.types index 6a8fc0594708d..194cfd3e6d470 100644 --- a/tests/baselines/reference/assigningFunctionToTupleIssuesError.types +++ b/tests/baselines/reference/assigningFunctionToTupleIssuesError.types @@ -9,5 +9,5 @@ let b: [string] = a; >b : [string] > : ^^^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatBug2.types b/tests/baselines/reference/assignmentCompatBug2.types index 151378596fd36..acaf0e92847ce 100644 --- a/tests/baselines/reference/assignmentCompatBug2.types +++ b/tests/baselines/reference/assignmentCompatBug2.types @@ -17,7 +17,7 @@ b2 = { a: 0 }; // error >b2 = { a: 0 } : { a: number; } > : ^^^^^^^^^^^^^^ >b2 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 0 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -29,7 +29,7 @@ b2 = {b: 0, a: 0 }; >b2 = {b: 0, a: 0 } : { b: number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >b2 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{b: 0, a: 0 } : { b: number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >b : number @@ -65,7 +65,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -101,7 +101,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -131,7 +131,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -157,7 +157,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ @@ -207,7 +207,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatBug3.types b/tests/baselines/reference/assignmentCompatBug3.types index 5a92f186580f4..e37a02c7de116 100644 --- a/tests/baselines/reference/assignmentCompatBug3.types +++ b/tests/baselines/reference/assignmentCompatBug3.types @@ -37,11 +37,11 @@ function makePoint(x: number, y: number) { >Math.sqrt(x*x+y*y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x*x+y*y : number > : ^^^^^^ >x*x : number diff --git a/tests/baselines/reference/assignmentCompatForEnums.types b/tests/baselines/reference/assignmentCompatForEnums.types index f93c64196e872..725eccec49696 100644 --- a/tests/baselines/reference/assignmentCompatForEnums.types +++ b/tests/baselines/reference/assignmentCompatForEnums.types @@ -30,7 +30,7 @@ function foo() { >returnType() : TokenType > : ^^^^^^^^^ >returnType : () => TokenType -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ var x: TokenType = list['one']; >x : TokenType diff --git a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types index 4ff88697136bf..10d8a830b9cb8 100644 --- a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types +++ b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types @@ -15,7 +15,7 @@ foo({ id: 1234 }); // Ok >foo({ id: 1234 }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ id: 1234 } : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number @@ -27,7 +27,7 @@ foo({ id: 1234, name: "hello" }); // Ok >foo({ id: 1234, name: "hello" }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ id: 1234, name: "hello" } : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number @@ -43,7 +43,7 @@ foo({ id: 1234, name: false }); // Error, name of wrong type >foo({ id: 1234, name: false }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ id: 1234, name: false } : { id: number; name: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number @@ -59,7 +59,7 @@ foo({ name: "hello" }); // Error, id required but missing >foo({ name: "hello" }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ name: "hello" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.types b/tests/baselines/reference/assignmentCompatWithCallSignatures.types index 67f18805a814b..ebe2000df48b2 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.types @@ -20,17 +20,17 @@ var a: { (x: number): void }; t = a; >t = a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ a = t; >a = t : T > : ^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ @@ -59,27 +59,27 @@ t = s; t = a2; >t = a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = s; >a = s : S > : ^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : S > : ^ a = a2; >a = a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ t = (x: T) => 1; >t = (x: T) => 1 : (x: T) => number @@ -119,7 +119,7 @@ a = (x: T) => 1; >a = (x: T) => 1 : (x: T) => number > : ^ ^^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: T) => 1 : (x: T) => number > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -131,7 +131,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -141,7 +141,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -175,11 +175,11 @@ t = s2; t = a3; >t = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -209,23 +209,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -237,7 +237,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types index 47c5ac41f03a3..1da1324ee7c3f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types @@ -24,17 +24,17 @@ var a: { f(x: number): void }; t = a; >t = a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = t; >a = t : T > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ @@ -67,27 +67,27 @@ t = s; t = a2; >t = a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = s; >a = s : S > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >s : S > : ^ a = a2; >a = a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ t = { f: () => 1 }; >t = { f: () => 1 } : { f: () => number; } @@ -153,7 +153,7 @@ a = { f: () => 1 } >a = { f: () => 1 } : { f: () => number; } > : ^^^^^^^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >{ f: () => 1 } : { f: () => number; } > : ^^^^^^^^^^^^^^^^^^^^ >f : () => number @@ -167,7 +167,7 @@ a = { f: (x: T) => 1 }; >a = { f: (x: T) => 1 } : { f: (x: T) => number; } > : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >{ f: (x: T) => 1 } : { f: (x: T) => number; } > : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >f : (x: T) => number @@ -183,7 +183,7 @@ a = { f: function (x: number) { return ''; } } >a = { f: function (x: number) { return ''; } } : { f: (x: number) => string; } > : ^^^^^^ ^^ ^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >{ f: function (x: number) { return ''; } } : { f: (x: number) => string; } > : ^^^^^^ ^^ ^^^^^^^^^^^^^^ >f : (x: number) => string @@ -222,7 +222,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -232,7 +232,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -270,11 +270,11 @@ t = s2; t = a3; >t = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -304,23 +304,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -332,7 +332,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types index 99f9739c55823..225a7032edf1a 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types @@ -240,19 +240,19 @@ var b: (x: T) => T[]; a = b; // ok >a = b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b = a; // ok >b = a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -262,19 +262,19 @@ var b2: (x: T) => string[]; a2 = b2; // ok >a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -284,19 +284,19 @@ var b3: (x: T) => T; a3 = b3; // ok >a3 = b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ var b4: (x: T, y: U) => T; >b4 : (x: T, y: U) => T @@ -308,19 +308,19 @@ var b4: (x: T, y: U) => T; a4 = b4; // ok >a4 = b4 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -332,19 +332,19 @@ var b5: (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T @@ -356,19 +356,19 @@ var b6: (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ var b7: (x: (arg: T) => U) => (r: T) => U; >b7 : (x: (arg: T) => U) => (r: T) => U @@ -382,19 +382,19 @@ var b7: (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok >a7 = b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; // ok >b7 = a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U @@ -412,19 +412,19 @@ var b8: (x: (arg: T) => U, y: (arg2: T) => U) a8 = b8; // ok >a8 = b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // ok >b8 = a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U @@ -446,19 +446,19 @@ var b9: (x: (arg: T) => U, y: (arg2: { foo: s a9 = b9; // ok >a9 = b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b9 = a9; // ok >b9 = a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T @@ -468,19 +468,19 @@ var b10: (...x: T[]) => T; a10 = b10; // ok >a10 = b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; // ok >b10 = a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T @@ -492,19 +492,19 @@ var b11: (x: T, y: T) => T; a11 = b11; // ok >a11 = b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b12: >(x: Array, y: T) => Array; >b12 : >(x: Array, y: T) => Array @@ -515,20 +515,20 @@ var b12: >(x: Array, y: T) => Array; > : ^ a12 = b12; // ok ->a12 = b12 : >(x: Array, y: T) => Derived[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : >(x: Array, y: T) => Derived[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 = b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; // ok ->b12 = a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : >(x: Array, y: T) => Derived[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ var b13: >(x: Array, y: T) => T; >b13 : >(x: Array, y: T) => T @@ -540,19 +540,19 @@ var b13: >(x: Array, y: T) => T; a13 = b13; // ok >a13 = b13 : >(x: Array, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ >b13 : >(x: Array, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b13 = a13; // ok ->b13 = a13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 = a13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ >b13 : >(x: Array, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ var b14: (x: { a: T; b: T }) => T; >b14 : (x: { a: T; b: T; }) => T @@ -566,19 +566,19 @@ var b14: (x: { a: T; b: T }) => T; a14 = b14; // ok >a14 = b14 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b14 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b14 = a14; // ok >b14 = a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b14 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b15: (x: T) => T[]; >b15 : (x: T) => T[] @@ -588,19 +588,19 @@ var b15: (x: T) => T[]; a15 = b15; // ok >a15 = b15 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b15 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b15 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b16: (x: T) => number[]; >b16 : (x: T) => number[] @@ -610,19 +610,19 @@ var b16: (x: T) => number[]; a16 = b16; // ok >a16 = b16 : (x: T) => number[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : (x: T) => number[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ b16 = a16; // ok >b16 = a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : (x: T) => number[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b17: (x: (a: T) => T) => T[]; // ok >b17 : (x: (a: T) => T) => T[] @@ -634,19 +634,19 @@ var b17: (x: (a: T) => T) => T[]; // ok a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b17 = a17; // ok >b17 = a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b18: (x: (a: T) => T) => T[]; >b18 : (x: (a: T) => T) => T[] @@ -658,17 +658,17 @@ var b18: (x: (a: T) => T) => T[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index c4e0eca4b5293..e351d651a975b 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -194,19 +194,19 @@ module Errors { a2 = b2; >a2 = b2 : (x: T) => U[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => U[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b2 = a2; >b2 = a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => U[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b7: (x: (arg: T) => U) => (r: T) => V; >b7 : (x: (arg: T) => U) => (r: T) => V @@ -220,19 +220,19 @@ module Errors { a7 = b7; >a7 = b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; >b7 = a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -252,19 +252,19 @@ module Errors { a8 = b8; // error, { foo: number } and Base are incompatible >a8 = b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // error, { foo: number } and Base are incompatible >b8 = a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b10: (...x: T[]) => T; @@ -275,19 +275,19 @@ module Errors { a10 = b10; >a10 = b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; >b10 = a10 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T @@ -299,19 +299,19 @@ module Errors { a11 = b11; >a11 = b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; >b11 = a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b12: >(x: Array, y: Array) => T; >b12 : >(x: Array, y: Array) => T @@ -323,19 +323,19 @@ module Errors { a12 = b12; >a12 = b12 : >(x: Array, y: Array) => T -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ >b12 : >(x: Array, y: Array) => T -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; ->b12 = a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ >b12 : >(x: Array, y: Array) => T -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ var b15: (x: { a: T; b: T }) => T; >b15 : (x: { a: T; b: T; }) => T @@ -349,19 +349,19 @@ module Errors { a15 = b15; >a15 = b15 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b15 = a15; >b15 = a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b15a: (x: { a: T; b: T }) => number; >b15a : (x: { a: T; b: T; }) => number @@ -375,19 +375,19 @@ module Errors { a15 = b15a; >a15 = b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ b15a = a15; >b15a = a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b16: (x: (a: T) => T) => T[]; >b16 : (x: (a: T) => T) => T[] @@ -399,19 +399,19 @@ module Errors { a16 = b16; >a16 = b16 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b16 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b16 = a16; >b16 = a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b16 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b17: (x: (a: T) => T) => any[]; >b17 : (x: (a: T) => T) => any[] @@ -423,19 +423,19 @@ module Errors { a17 = b17; >a17 = b17 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b17 = a17; >b17 = a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } module WithGenericSignaturesInBaseType { @@ -457,19 +457,19 @@ module Errors { a2 = b2; >a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = a2; >b2 = a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ // target type has generic call signature var a3: (x: T) => string[]; @@ -486,18 +486,18 @@ module Errors { a3 = b3; >a3 = b3 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = a3; >b3 = a3 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types index 14a57893efcb4..911c4db793b3f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types @@ -166,19 +166,19 @@ var b: (x: T) => T[]; a = b; // ok >a = b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b = a; // ok >b = a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -188,19 +188,19 @@ var b2: (x: T) => string[]; a2 = b2; // ok >a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -210,19 +210,19 @@ var b3: (x: T) => T; a3 = b3; // ok >a3 = b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string @@ -234,19 +234,19 @@ var b4: (x: T, y: U) => string; a4 = b4; // ok >a4 = b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -258,19 +258,19 @@ var b5: (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T @@ -282,19 +282,19 @@ var b6: (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -312,19 +312,19 @@ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok >a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b15: (x: { a: U; b: V; }) => U[]; >b15 : (x: { a: U; b: V; }) => U[] @@ -338,19 +338,19 @@ var b15: (x: { a: U; b: V; }) => U[]; a15 = b15; // ok, T = U, T = V >a15 = b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] @@ -364,19 +364,19 @@ var b16: (x: { a: T; b: T }) => T[]; a15 = b16; // ok >a15 = b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b15 = a16; // ok >b15 = a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b17: (x: (a: T) => T) => T[]; >b17 : (x: (a: T) => T) => T[] @@ -388,19 +388,19 @@ var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b17 = a17; // ok >b17 = a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b18: (x: (a: T) => T) => any[]; >b18 : (x: (a: T) => T) => any[] @@ -412,17 +412,17 @@ var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types index 144abcac39d8a..0fecc27a18058 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types @@ -123,27 +123,27 @@ var b: (x: T) => T[]; x.a = b; >x.a = b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b = x.a; >b = x.a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -153,27 +153,27 @@ var b2: (x: T) => string[]; x.a2 = b2; >x.a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = x.a2; >b2 = x.a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -183,27 +183,27 @@ var b3: (x: T) => T; x.a3 = b3; >x.a3 = b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = x.a3; >b3 = x.a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string @@ -215,27 +215,27 @@ var b4: (x: T, y: U) => string; x.a4 = b4; >x.a4 = b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = x.a4; >b4 = x.a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -247,27 +247,27 @@ var b5: (x: (arg: T) => U) => T; x.a5 = b5; >x.a5 = b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x.a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b5 = x.a5; >b5 = x.a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x.a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -285,27 +285,27 @@ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; >x.a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = x.a11; >b11 = x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] @@ -319,25 +319,25 @@ var b16: (x: { a: T; b: T }) => T[]; x.a16 = b16; >x.a16 = b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b16 = x.a16; >b16 = x.a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types index 8b69f63655466..d8155c6bf4f84 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types @@ -56,7 +56,7 @@ var a: () => number; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -66,7 +66,7 @@ var a: () => number; >a = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -78,7 +78,7 @@ var a: () => number; >a = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -88,75 +88,75 @@ var a: () => number; a = b.a; // ok >a = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a = b.a2; // ok >a = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a = b.a3; // error >a = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b.a4; // error >a = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a = b.a5; // ok >a = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a = b.a6; // error >a = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a2: (x?: number) => number; >a2 : (x?: number) => number @@ -168,7 +168,7 @@ var a2: (x?: number) => number; >a2 = () => 1 : () => number > : ^^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -178,7 +178,7 @@ var a2: (x?: number) => number; >a2 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -190,7 +190,7 @@ var a2: (x?: number) => number; >a2 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -200,75 +200,75 @@ var a2: (x?: number) => number; a2 = b.a; // ok >a2 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a2 = b.a2; // ok >a2 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a2 = b.a3; // ok, same number of params >a2 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a2 = b.a4; // ok, excess params are optional in b.a3 >a2 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a2 = b.a5; // ok >a2 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a2 = b.a6; // error >a2 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a3: (x: number) => number; >a3 : (x: number) => number @@ -280,7 +280,7 @@ var a3: (x: number) => number; >a3 = () => 1 : () => number > : ^^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -290,7 +290,7 @@ var a3: (x: number) => number; >a3 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -302,7 +302,7 @@ var a3: (x: number) => number; >a3 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -314,7 +314,7 @@ var a3: (x: number) => number; >a3 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -326,75 +326,75 @@ var a3: (x: number) => number; a3 = b.a; // ok >a3 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a3 = b.a2; // ok >a3 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a3 = b.a3; // ok >a3 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a3 = b.a4; // ok >a3 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a3 = b.a5; // ok >a3 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a3 = b.a6; // error >a3 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a4: (x: number, y?: number) => number; >a4 : (x: number, y?: number) => number @@ -408,7 +408,7 @@ var a4: (x: number, y?: number) => number; >a4 = () => 1 : () => number > : ^^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -418,7 +418,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -432,7 +432,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -444,7 +444,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -456,75 +456,75 @@ var a4: (x: number, y?: number) => number; a4 = b.a; // ok >a4 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a4 = b.a2; // ok >a4 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a4 = b.a3; // ok >a4 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a4 = b.a4; // ok >a4 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a4 = b.a5; // ok >a4 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a4 = b.a6; // ok, same number of params >a4 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a5: (x?: number, y?: number) => number; >a5 : (x?: number, y?: number) => number @@ -538,7 +538,7 @@ var a5: (x?: number, y?: number) => number; >a5 = () => 1 : () => number > : ^^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -548,7 +548,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -562,7 +562,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -574,7 +574,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -586,73 +586,73 @@ var a5: (x?: number, y?: number) => number; a5 = b.a; // ok >a5 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a5 = b.a2; // ok >a5 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a5 = b.a3; // ok, fewer params in b.a3 >a5 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a5 = b.a4; // ok, same number of params >a5 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a5 = b.a5; // ok >a5 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a5 = b.a6; // ok, same number of params >a5 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types index fd6cb626730c5..8dcf803b0f347 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types @@ -49,7 +49,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -59,7 +59,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : number[] @@ -71,7 +71,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (...args: string[]) => 1 : (...args: string[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(...args: string[]) => 1 : (...args: string[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : string[] @@ -83,7 +83,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -95,7 +95,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: number, y?: number, z?: number) => 1 : (x?: number, y?: number, z?: number) => number > : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x?: number, y?: number, z?: number) => 1 : (x?: number, y?: number, z?: number) => number > : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -111,7 +111,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -123,7 +123,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: string) => 1 : (x?: string) => number > : ^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x?: string) => 1 : (x?: string) => number > : ^ ^^^ ^^^^^^^^^^^ >x : string @@ -144,7 +144,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = () => 1 : () => number > : ^^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : number[] @@ -166,7 +166,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -178,7 +178,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -190,7 +190,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, ...args: number[]) => 1 : (x: number, ...args: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, ...args: number[]) => 1 : (x: number, ...args: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -204,7 +204,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -218,7 +218,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -232,7 +232,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -256,7 +256,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = () => 1 : () => number > : ^^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -266,7 +266,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -278,7 +278,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -290,7 +290,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, y: string) => 1 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, y: string) => 1 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -304,7 +304,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, y?: number, z?: number) => 1 : (x: number, y?: number, z?: number) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, y?: number, z?: number) => 1 : (x: number, y?: number, z?: number) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -320,7 +320,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, ...z: number[]) => 1 : (x: number, ...z: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, ...z: number[]) => 1 : (x: number, ...z: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -334,7 +334,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: string, y?: string, z?: string) => 1 : (x: string, y?: string, z?: string) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: string, y?: string, z?: string) => 1 : (x: string, y?: string, z?: string) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : string @@ -360,7 +360,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = () => 1 : () => number > : ^^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -370,7 +370,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -384,7 +384,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -396,7 +396,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -410,7 +410,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x?: number, y?: string) => 1 : (x?: number, y?: string) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x?: number, y?: string) => 1 : (x?: number, y?: string) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -424,7 +424,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types index dbb556a024263..d804a060bf046 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types @@ -20,17 +20,17 @@ var a: { new (x: number): void }; t = a; >t = a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >t : T > : ^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a = t; >a = t : T > : ^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >t : T > : ^ @@ -59,27 +59,27 @@ t = s; t = a2; >t = a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >t : T > : ^ >a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a = s; >a = s : S > : ^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >s : S > : ^ a = a2; >a = a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ interface S2 { (x: string): void; @@ -107,11 +107,11 @@ t = s2; t = a3; >t = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -141,23 +141,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -169,7 +169,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types index 6e735aa9c151e..fe21cb472e55d 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types @@ -24,17 +24,17 @@ var a: { f: new (x: number) => void }; t = a; >t = a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ a = t; >a = t : T > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -67,27 +67,27 @@ t = s; t = a2; >t = a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ >a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >s : S > : ^ a = a2; >a = a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ // errors t = () => 1; @@ -116,7 +116,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -126,7 +126,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -164,11 +164,11 @@ t = s2; t = a3; >t = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -198,23 +198,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -226,7 +226,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types index 4be78c548981c..db13d8160940d 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types @@ -240,19 +240,19 @@ var b: new (x: T) => T[]; a = b; // ok >a = b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b = a; // ok >b = a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -262,19 +262,19 @@ var b2: new (x: T) => string[]; a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -284,19 +284,19 @@ var b3: new (x: T) => T; a3 = b3; // ok >a3 = b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b4: new (x: T, y: U) => T; >b4 : new (x: T, y: U) => T @@ -308,19 +308,19 @@ var b4: new (x: T, y: U) => T; a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T @@ -332,19 +332,19 @@ var b5: new (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b6: new (x: (arg: T) => U) => T; >b6 : new (x: (arg: T) => U) => T @@ -356,19 +356,19 @@ var b6: new (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b7: new (x: (arg: T) => U) => (r: T) => U; >b7 : new (x: (arg: T) => U) => (r: T) => U @@ -382,19 +382,19 @@ var b7: new (x: (arg: T) => U) => (r: T) => U a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; // ok >b7 = a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U @@ -412,19 +412,19 @@ var b8: new (x: (arg: T) => U, y: (arg2: T) = a8 = b8; // ok >a8 = b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // ok >b8 = a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U @@ -446,19 +446,19 @@ var b9: new (x: (arg: T) => U, y: (arg2: { fo a9 = b9; // ok >a9 = b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b9 = a9; // ok >b9 = a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T @@ -468,19 +468,19 @@ var b10: new (...x: T[]) => T; a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; // ok >b10 = a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T @@ -492,19 +492,19 @@ var b11: new (x: T, y: T) => T; a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b12: new >(x: Array, y: T) => Array; >b12 : new >(x: Array, y: T) => Array @@ -515,20 +515,20 @@ var b12: new >(x: Array, y: T) => Array; > : ^ a12 = b12; // ok ->a12 = b12 : new >(x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : new >(x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 = b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; // ok ->b12 = a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : new >(x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b13: new >(x: Array, y: T) => T; >b13 : new >(x: Array, y: T) => T @@ -540,19 +540,19 @@ var b13: new >(x: Array, y: T) => T; a13 = b13; // ok >a13 = b13 : new >(x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b13 : new >(x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b13 = a13; // ok ->b13 = a13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 = a13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b13 : new >(x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b14: new (x: { a: T; b: T }) => T; >b14 : new (x: { a: T; b: T; }) => T @@ -566,19 +566,19 @@ var b14: new (x: { a: T; b: T }) => T; a14 = b14; // ok >a14 = b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b14 = a14; // ok >b14 = a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b15: new (x: T) => T[]; >b15 : new (x: T) => T[] @@ -588,19 +588,19 @@ var b15: new (x: T) => T[]; a15 = b15; // ok >a15 = b15 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b15 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b15 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b16: new (x: T) => number[]; >b16 : new (x: T) => number[] @@ -610,19 +610,19 @@ var b16: new (x: T) => number[]; a16 = b16; // ok >a16 = b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b16 = a16; // ok >b16 = a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b17: new (x: new (a: T) => T) => T[]; // ok >b17 : new (x: new (a: T) => T) => T[] @@ -634,19 +634,19 @@ var b17: new (x: new (a: T) => T) => T[]; // ok a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b17 = a17; // ok >b17 = a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b18: new (x: new (a: T) => T) => T[]; >b18 : new (x: new (a: T) => T) => T[] @@ -658,17 +658,17 @@ var b18: new (x: new (a: T) => T) => T[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index d627e1ff5d8b2..c6660acd5d6b5 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -194,19 +194,19 @@ module Errors { a2 = b2; // ok >a2 = b2 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b7: new (x: (arg: T) => U) => (r: T) => V; >b7 : new (x: (arg: T) => U) => (r: T) => V @@ -220,19 +220,19 @@ module Errors { a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; // ok >b7 = a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U @@ -252,19 +252,19 @@ module Errors { a8 = b8; // error, type mismatch >a8 = b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // error >b8 = a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b10: new (...x: T[]) => T; @@ -275,19 +275,19 @@ module Errors { a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; // ok >b10 = a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T @@ -299,19 +299,19 @@ module Errors { a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b12: new >(x: Array, y: Array) => T; >b12 : new >(x: Array, y: Array) => T @@ -323,19 +323,19 @@ module Errors { a12 = b12; // ok >a12 = b12 : new >(x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b12 : new >(x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; // ok ->b12 = a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b12 : new >(x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b15: new (x: { a: T; b: T }) => T; >b15 : new (x: { a: T; b: T; }) => T @@ -349,19 +349,19 @@ module Errors { a15 = b15; // ok >a15 = b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b15a: new (x: { a: T; b: T }) => number; >b15a : new (x: { a: T; b: T; }) => number @@ -375,19 +375,19 @@ module Errors { a15 = b15a; // ok >a15 = b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b15a = a15; // ok >b15a = a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b16: new (x: (a: T) => T) => T[]; >b16 : new (x: (a: T) => T) => T[] @@ -399,19 +399,19 @@ module Errors { a16 = b16; // error >a16 = b16 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b16 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b16 = a16; // error >b16 = a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b16 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b17: new (x: (a: T) => T) => any[]; >b17 : new (x: (a: T) => T) => any[] @@ -423,19 +423,19 @@ module Errors { a17 = b17; // error >a17 = b17 : new (x: (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b17 = a17; // error >b17 = a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } module WithGenericSignaturesInBaseType { @@ -457,19 +457,19 @@ module Errors { a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // target type has generic call signature var a3: new (x: T) => string[]; @@ -486,18 +486,18 @@ module Errors { a3 = b3; // ok >a3 = b3 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types index 48f47ee8d7360..9d799dad6853c 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types @@ -166,19 +166,19 @@ var b: new (x: T) => T[]; a = b; // ok >a = b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b = a; // ok >b = a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -188,19 +188,19 @@ var b2: new (x: T) => string[]; a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -210,19 +210,19 @@ var b3: new (x: T) => T; a3 = b3; // ok >a3 = b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string @@ -234,19 +234,19 @@ var b4: new (x: T, y: U) => string; a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: new (x: new (arg: T) => U) => T; >b5 : new (x: new (arg: T) => U) => T @@ -258,19 +258,19 @@ var b5: new (x: new (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b6: new (x: new (arg: T) => U) => T; >b6 : new (x: new (arg: T) => U) => T @@ -282,19 +282,19 @@ var b6: new (x: new (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -312,19 +312,19 @@ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok >a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var b15: new (x: { a: U; b: V; }) => U[]; >b15 : new (x: { a: U; b: V; }) => U[] @@ -338,19 +338,19 @@ var b15: new (x: { a: U; b: V; }) => U[]; a15 = b15; // ok >a15 = b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] @@ -364,19 +364,19 @@ var b16: new (x: { a: T; b: T }) => T[]; a15 = b16; // ok >a15 = b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b15 = a16; // ok >b15 = a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b17: new (x: new (a: T) => T) => T[]; >b17 : new (x: new (a: T) => T) => T[] @@ -388,19 +388,19 @@ var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b17 = a17; // ok >b17 = a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b18: new (x: new (a: T) => T) => any[]; >b18 : new (x: new (a: T) => T) => any[] @@ -412,17 +412,17 @@ var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types index cac1cdb6e9296..49e305196573a 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types @@ -123,27 +123,27 @@ var b: new (x: T) => T[]; x.a = b; >x.a = b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b = x.a; >b = x.a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -153,27 +153,27 @@ var b2: new (x: T) => string[]; x.a2 = b2; >x.a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = x.a2; >b2 = x.a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -183,27 +183,27 @@ var b3: new (x: T) => T; x.a3 = b3; >x.a3 = b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = x.a3; >b3 = x.a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string @@ -215,27 +215,27 @@ var b4: new (x: T, y: U) => string; x.a4 = b4; >x.a4 = b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = x.a4; >b4 = x.a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T @@ -247,27 +247,27 @@ var b5: new (x: (arg: T) => U) => T; x.a5 = b5; >x.a5 = b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b5 = x.a5; >b5 = x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -285,27 +285,27 @@ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; >x.a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = x.a11; >b11 = x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] @@ -319,25 +319,25 @@ var b16: new (x: { a: T; b: T }) => T[]; x.a16 = b16; >x.a16 = b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b16 = x.a16; >b16 = x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types index d165a50f6c9dc..aa239f7b8fc06 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types @@ -54,75 +54,75 @@ var a: new () => number; a = b.a; // ok >a = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a = b.a2; // ok >a = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a = b.a3; // error >a = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a = b.a4; // error >a = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a = b.a5; // ok >a = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a = b.a6; // error >a = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a2: new (x?: number) => number; >a2 : new (x?: number) => number @@ -132,75 +132,75 @@ var a2: new (x?: number) => number; a2 = b.a; // ok >a2 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a2 = b.a2; // ok >a2 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a2 = b.a3; // ok >a2 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a2 = b.a4; // ok >a2 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a2 = b.a5; // ok >a2 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a2 = b.a6; // error >a2 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a3: new (x: number) => number; >a3 : new (x: number) => number @@ -210,75 +210,75 @@ var a3: new (x: number) => number; a3 = b.a; // ok >a3 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a3 = b.a2; // ok >a3 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a3 = b.a3; // ok >a3 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a3 = b.a4; // ok >a3 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a3 = b.a5; // ok >a3 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a3 = b.a6; // error >a3 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a4: new (x: number, y?: number) => number; >a4 : new (x: number, y?: number) => number @@ -290,75 +290,75 @@ var a4: new (x: number, y?: number) => number; a4 = b.a; // ok >a4 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a4 = b.a2; // ok >a4 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a4 = b.a3; // ok >a4 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a4 = b.a4; // ok >a4 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a4 = b.a5; // ok >a4 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a4 = b.a6; // ok >a4 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a5: new (x?: number, y?: number) => number; >a5 : new (x?: number, y?: number) => number @@ -370,73 +370,73 @@ var a5: new (x?: number, y?: number) => number; a5 = b.a; // ok >a5 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a5 = b.a2; // ok >a5 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a5 = b.a3; // ok >a5 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a5 = b.a4; // ok >a5 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a5 = b.a5; // ok >a5 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a5 = b.a6; // ok >a5 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types index 5c2e6e12f5905..ae1f923e573f2 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types @@ -508,7 +508,7 @@ namespace GH12052 { >getAxisType() : IAxisType > : ^^^^^^^^^ >getAxisType : () => IAxisType -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ const good: IAxis = { type: undefined }; >good : IAxis @@ -532,7 +532,7 @@ namespace GH12052 { >getAxisType() : IAxisType > : ^^^^^^^^^ >getAxisType : () => IAxisType -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ } // https://github.com/Microsoft/TypeScript/issues/18421 @@ -611,7 +611,7 @@ namespace GH15907 { >dispatchAction({ type : (active? 'disactivate' : 'activate') }) : void > : ^^^^ >dispatchAction : (action: Action) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type : (active? 'disactivate' : 'activate') } : { type: "activate" | "disactivate"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "activate" | "disactivate" diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types index 763113fe2604e..60456125156cd 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types @@ -21,17 +21,17 @@ var g: (x: T[]) => void f = g; // ok >f = g : (x: T[]) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f : (x: S) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (x: T[]) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ g = f; // ok >g = f : (x: S) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (x: T[]) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f : (x: S) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types index 9058f3e31b128..e5b13acfec9e1 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types @@ -36,10 +36,10 @@ var h: (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U } > : ^ g = h // ok ->g = h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ +>g = h : (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U; } +> : ^ ^^ ^^ ^^^^^ >g : (x: T) => (y: S) => I -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>h : (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U; } +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types index bfab99c61ffd2..c80be1723f5eb 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types @@ -24,17 +24,17 @@ var y: >>(z: T) => void // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y >x = y : >>(z: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : >(z: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : >>(z: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ y = x >y = x : >(z: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : >>(z: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : >(z: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types index e54b042a08b15..b274d669d6272 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types @@ -53,11 +53,11 @@ module ClassTypeParam { >this.a = () => null : () => any > : ^^^^^^^^^ >this.a : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^ +> : ^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -65,11 +65,11 @@ module ClassTypeParam { >this.a = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^ +> : ^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -79,11 +79,11 @@ module ClassTypeParam { >this.a = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^ +> : ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -93,11 +93,11 @@ module ClassTypeParam { >this.a2 = () => null : () => any > : ^^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -105,11 +105,11 @@ module ClassTypeParam { >this.a2 = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -119,11 +119,11 @@ module ClassTypeParam { >this.a2 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -133,11 +133,11 @@ module ClassTypeParam { >this.a3 = () => null : () => any > : ^^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -145,11 +145,11 @@ module ClassTypeParam { >this.a3 = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -159,11 +159,11 @@ module ClassTypeParam { >this.a3 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -173,11 +173,11 @@ module ClassTypeParam { >this.a3 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -189,11 +189,11 @@ module ClassTypeParam { >this.a4 = () => null : () => any > : ^^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -201,11 +201,11 @@ module ClassTypeParam { >this.a4 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -217,11 +217,11 @@ module ClassTypeParam { >this.a4 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -231,11 +231,11 @@ module ClassTypeParam { >this.a4 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -248,11 +248,11 @@ module ClassTypeParam { >this.a5 = () => null : () => any > : ^^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -260,11 +260,11 @@ module ClassTypeParam { >this.a5 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -276,11 +276,11 @@ module ClassTypeParam { >this.a5 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -290,11 +290,11 @@ module ClassTypeParam { >this.a5 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -401,11 +401,11 @@ module GenericSignaturesInvalid { >b.a = t.a : () => T > : ^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -417,11 +417,11 @@ module GenericSignaturesInvalid { >b.a = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -433,11 +433,11 @@ module GenericSignaturesInvalid { >b.a = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -449,11 +449,11 @@ module GenericSignaturesInvalid { >b.a = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -465,11 +465,11 @@ module GenericSignaturesInvalid { >b.a = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -481,11 +481,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a : () => T > : ^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -497,11 +497,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -513,11 +513,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -529,11 +529,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -545,11 +545,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -561,11 +561,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a : () => T > : ^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -577,11 +577,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -593,11 +593,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -609,11 +609,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -625,11 +625,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -641,11 +641,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a : () => T > : ^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -657,11 +657,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -673,11 +673,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -689,11 +689,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -705,11 +705,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -721,11 +721,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a : () => T > : ^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -737,11 +737,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -753,11 +753,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -769,11 +769,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -785,11 +785,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -849,11 +849,11 @@ module GenericSignaturesValid { >this.a = () => null : () => any > : ^^^^^^^^^^^^ >this.a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -861,11 +861,11 @@ module GenericSignaturesValid { >this.a = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -875,11 +875,11 @@ module GenericSignaturesValid { >this.a = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -889,11 +889,11 @@ module GenericSignaturesValid { >this.a2 = () => null : () => any > : ^^^^^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -901,11 +901,11 @@ module GenericSignaturesValid { >this.a2 = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -915,11 +915,11 @@ module GenericSignaturesValid { >this.a2 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -929,11 +929,11 @@ module GenericSignaturesValid { >this.a3 = () => null : () => any > : ^^^^^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -941,11 +941,11 @@ module GenericSignaturesValid { >this.a3 = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -955,11 +955,11 @@ module GenericSignaturesValid { >this.a3 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -969,11 +969,11 @@ module GenericSignaturesValid { >this.a3 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -985,11 +985,11 @@ module GenericSignaturesValid { >this.a4 = () => null : () => any > : ^^^^^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -997,11 +997,11 @@ module GenericSignaturesValid { >this.a4 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -1013,11 +1013,11 @@ module GenericSignaturesValid { >this.a4 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -1027,11 +1027,11 @@ module GenericSignaturesValid { >this.a4 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -1044,11 +1044,11 @@ module GenericSignaturesValid { >this.a5 = () => null : () => any > : ^^^^^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -1056,11 +1056,11 @@ module GenericSignaturesValid { >this.a5 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -1072,11 +1072,11 @@ module GenericSignaturesValid { >this.a5 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -1086,11 +1086,11 @@ module GenericSignaturesValid { >this.a5 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.types b/tests/baselines/reference/assignmentCompatWithObjectMembers.types index 589924a179b07..415c4c29ef94f 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.types @@ -134,11 +134,11 @@ module SimpleTypes { s2 = b; >s2 = b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { foo: string; } @@ -150,25 +150,25 @@ module SimpleTypes { a = b; >a = b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = a; >b = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : S > : ^ @@ -176,7 +176,7 @@ module SimpleTypes { >a = s2 : S2 > : ^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -184,7 +184,7 @@ module SimpleTypes { >a = a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ @@ -206,11 +206,11 @@ module SimpleTypes { a2 = b; >a2 = b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 @@ -274,16 +274,16 @@ module ObjectTypes { > : ^^^^^^^ ^^^ >foo : { foo: typeof a; } > : ^^^^^^^ ^^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ var b: { foo: typeof b; } >b : { foo: typeof b; } > : ^^^^^^^ ^^^ >foo : { foo: typeof b; } > : ^^^^^^^ ^^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ var a2 = { foo: a2 }; >a2 : any @@ -354,12 +354,12 @@ module ObjectTypes { > : ^ s2 = b; ->s2 = b : { foo: any; } -> : ^^^^^^^^^^^^^ +>s2 = b : { foo: typeof b; } +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ s2 = a2; >s2 = a2 : any @@ -368,41 +368,41 @@ module ObjectTypes { >a2 : any a = b; ->a = b : { foo: any; } -> : ^^^^^^^^^^^^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>a = b : { foo: typeof b; } +> : ^^^^^^^ ^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ b = a; ->b = a : { foo: any; } -> : ^^^^^^^^^^^^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>b = a : { foo: typeof a; } +> : ^^^^^^^ ^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ a = s; >a = s : S > : ^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ >s : S > : ^ a = s2; >a = s2 : S2 > : ^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ a = a2; >a = a2 : any ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ >a2 : any a2 = b2; @@ -416,11 +416,11 @@ module ObjectTypes { >a2 : any a2 = b; ->a2 = b : { foo: any; } -> : ^^^^^^^^^^^^^ +>a2 = b : { foo: typeof b; } +> : ^^^^^^^ ^^^ >a2 : any ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types index e30b404509c9f..d62a8fb5faa9a 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types @@ -138,11 +138,11 @@ s2 = t; s2 = b; >s2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { foo: string; } @@ -154,25 +154,25 @@ s2 = a2; a = b; >a = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -180,7 +180,7 @@ a = s2; >a = s2 : S2 > : ^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -188,7 +188,7 @@ a = a2; >a = a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ @@ -210,11 +210,11 @@ b2 = a2; a2 = b; >a2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types index d24382098e040..bb79deec89706 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types @@ -138,11 +138,11 @@ s2 = t; s2 = b; >s2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : S2 @@ -154,25 +154,25 @@ s2 = a2; a = b; >a = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -180,7 +180,7 @@ a = s2; >a = s2 : S2 > : ^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -188,7 +188,7 @@ a = a2; >a = a2 : S2 > : ^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : S2 > : ^^ @@ -210,11 +210,11 @@ b2 = a2; a2 = b; >a2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : S2 > : ^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types index 6409fdeb5ca56..6e5071a22236d 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types @@ -159,11 +159,11 @@ module OnlyDerived { s2 = b; // error >s2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ s2 = a2; // ok >s2 = a2 : { foo: Derived; } @@ -175,25 +175,25 @@ module OnlyDerived { a = b; // error >a = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = a; // error >b = a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = s; // ok >a = s : S > : ^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : S > : ^ @@ -201,7 +201,7 @@ module OnlyDerived { >a = s2 : S2 > : ^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -209,7 +209,7 @@ module OnlyDerived { >a = a2 : { foo: Derived; } > : ^^^^^^^^^^^^^^^^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Derived; } > : ^^^^^^^^^^^^^^^^^ @@ -231,11 +231,11 @@ module OnlyDerived { a2 = b; // error >a2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Derived; } > : ^^^^^^^^^^^^^^^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a2 = t2; // error >a2 = t2 : T2 @@ -410,11 +410,11 @@ module WithBase { s2 = b; // ok >s2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ s2 = a2; // ok >s2 = a2 : { foo: Base; } @@ -426,25 +426,25 @@ module WithBase { a = b; // ok >a = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = a; // error >b = a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = s; // ok >a = s : S > : ^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : S > : ^ @@ -452,7 +452,7 @@ module WithBase { >a = s2 : S2 > : ^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -460,7 +460,7 @@ module WithBase { >a = a2 : { foo: Base; } > : ^^^^^^^^^^^^^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Base; } > : ^^^^^^^^^^^^^^ @@ -482,11 +482,11 @@ module WithBase { a2 = b; // ok >a2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Base; } > : ^^^^^^^^^^^^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a2 = t2; // ok >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types index f6b00af76b388..fb14f1bcb6f45 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types @@ -67,7 +67,7 @@ module TargetIsPublic { >a = b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ @@ -75,7 +75,7 @@ module TargetIsPublic { >a = i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ @@ -83,7 +83,7 @@ module TargetIsPublic { >a = d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -91,17 +91,17 @@ module TargetIsPublic { >a = e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ b = a; >b = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = i; >b = i : I @@ -129,11 +129,11 @@ module TargetIsPublic { i = a; >i = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ i = b; >i = b : Base @@ -161,11 +161,11 @@ module TargetIsPublic { d = a; >d = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d = b; >d = b : Base @@ -193,11 +193,11 @@ module TargetIsPublic { e = a; // errror >e = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ e = b; // errror >e = b : Base @@ -295,7 +295,7 @@ module TargetIsPublic { >a = b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ @@ -303,7 +303,7 @@ module TargetIsPublic { >a = i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ @@ -311,7 +311,7 @@ module TargetIsPublic { >a = d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -319,17 +319,17 @@ module TargetIsPublic { >a = e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ b = a; // error >b = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = i; >b = i : I @@ -365,11 +365,11 @@ module TargetIsPublic { i = a; // error >i = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ i = b; >i = b : Base @@ -405,11 +405,11 @@ module TargetIsPublic { d = a; >d = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d = b; // error >d = b : Base @@ -437,11 +437,11 @@ module TargetIsPublic { e = a; // errror >e = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ e = b; // errror >e = b : Base diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types index fa2090b3503ab..bc48c5ba3bb3d 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types @@ -138,11 +138,11 @@ s2 = t; s2 = b; >s2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { 1: string; } @@ -154,25 +154,25 @@ s2 = a2; a = b; >a = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -180,7 +180,7 @@ a = s2; >a = s2 : S2 > : ^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -188,7 +188,7 @@ a = a2; >a = a2 : { 1: string; } > : ^^^^^^^^^^^^^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a2 : { 1: string; } > : ^^^^^^^^^^^^^^ @@ -210,11 +210,11 @@ b2 = a2; a2 = b; >a2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a2 : { 1: string; } > : ^^^^^^^^^^^^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types index a17bb27b33d0c..6526c6d55f9db 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types @@ -47,9 +47,9 @@ module TargetHasOptional { var b: typeof a = { opt: new Base() } >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ opt: new Base() } : { opt: Base; } > : ^^^^^^^^^^^^^^ >opt : Base @@ -114,17 +114,17 @@ module TargetHasOptional { c = a; >c = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ a = d; >a = d : D > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -132,7 +132,7 @@ module TargetHasOptional { >a = e : E > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -140,7 +140,7 @@ module TargetHasOptional { >a = f : F > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ @@ -148,7 +148,7 @@ module TargetHasOptional { >a = c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ @@ -156,7 +156,7 @@ module TargetHasOptional { >b = d : D > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -164,7 +164,7 @@ module TargetHasOptional { >b = e : E > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -172,23 +172,23 @@ module TargetHasOptional { >b = f : F > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ b = a; >b = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ b = c; >b = c : C > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ } @@ -279,17 +279,17 @@ module SourceHasOptional { c = a; // ok >c = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = d; // error >a = d : D > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -297,7 +297,7 @@ module SourceHasOptional { >a = e : E > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ @@ -305,7 +305,7 @@ module SourceHasOptional { >a = f : F > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >f : F > : ^ @@ -313,7 +313,7 @@ module SourceHasOptional { >a = c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ @@ -343,11 +343,11 @@ module SourceHasOptional { b = a; // ok >b = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { opt: Base; } > : ^^^^^^^^^^^^^^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = c; // ok >b = c : C diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types index 39c43fc31f273..f5fee1c0730d1 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types @@ -48,9 +48,9 @@ module TargetHasOptional { var b: typeof a = { opt: new Base() } >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ opt: new Base() } : { opt: Base; } > : ^^^^^^^^^^^^^^ >opt : Base @@ -117,7 +117,7 @@ module TargetHasOptional { >a = d : D > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -125,7 +125,7 @@ module TargetHasOptional { >a = e : E > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -133,7 +133,7 @@ module TargetHasOptional { >a = f : F > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ @@ -141,7 +141,7 @@ module TargetHasOptional { >b = d : D > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -149,7 +149,7 @@ module TargetHasOptional { >b = e : E > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -157,40 +157,40 @@ module TargetHasOptional { >b = f : F > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ // ok c = a; >c = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ a = c; >a = c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ b = a; >b = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ b = c; >b = c : C > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ } @@ -281,17 +281,17 @@ module SourceHasOptional { c = a; // ok >c = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = d; // error >a = d : D > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -299,7 +299,7 @@ module SourceHasOptional { >a = e : E > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ @@ -307,7 +307,7 @@ module SourceHasOptional { >a = f : F > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >f : F > : ^ @@ -315,7 +315,7 @@ module SourceHasOptional { >a = c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ @@ -345,11 +345,11 @@ module SourceHasOptional { b = a; // ok >b = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { opt: Base; } > : ^^^^^^^^^^^^^^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = c; // ok >b = c : C diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types index eab29e091bdc0..4e15ea7e71bf3 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types @@ -142,11 +142,11 @@ module JustStrings { s2 = b; >s2 = b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { '1.0': string; } @@ -158,25 +158,25 @@ module JustStrings { a = b; >a = b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -184,7 +184,7 @@ module JustStrings { >a = s2 : S2 > : ^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -192,7 +192,7 @@ module JustStrings { >a = a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ @@ -214,11 +214,11 @@ module JustStrings { a2 = b; // ok >a2 = b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ a2 = t2; // ok >a2 = t2 : T2 @@ -375,11 +375,11 @@ module NumbersAndStrings { s2 = b; // ok >s2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ s2 = a2; // error >s2 = a2 : { '1.0': string; } @@ -391,25 +391,25 @@ module NumbersAndStrings { a = b; // error >a = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ b = a; // error >b = a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ a = s; // error >a = s : S > : ^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -417,7 +417,7 @@ module NumbersAndStrings { >a = s2 : S2 > : ^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -425,7 +425,7 @@ module NumbersAndStrings { >a = a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ @@ -433,7 +433,7 @@ module NumbersAndStrings { >a = b2 : { 1: string; } > : ^^^^^^^^^^^^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b2 : { 1: string; } > : ^^^^^^^^^^^^^^ @@ -455,11 +455,11 @@ module NumbersAndStrings { a2 = b; // error >a2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ a2 = t2; // error >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithOverloads.types b/tests/baselines/reference/assignmentCompatWithOverloads.types index 3c278773146ea..f575550780bfc 100644 --- a/tests/baselines/reference/assignmentCompatWithOverloads.types +++ b/tests/baselines/reference/assignmentCompatWithOverloads.types @@ -21,19 +21,19 @@ function f3(x: number): number { return null; } function f4(x: string): string; >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function f4(x: number): number; >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ function f4(x: any): any { return undefined; } >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ >undefined : undefined @@ -47,35 +47,35 @@ var g: (s1: string) => number; g = f1; // OK >g = f1 : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ g = f2; // Error >g = f2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ g = f3; // Error >g = f3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ g = f4; // Error >g = f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ class C { >C : C @@ -100,7 +100,7 @@ d = C; // Error >d = C : typeof C > : ^^^^^^^^ >d : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatability25.types b/tests/baselines/reference/assignmentCompatability25.types index 5a86148d8f237..260d0de3586b5 100644 --- a/tests/baselines/reference/assignmentCompatability25.types +++ b/tests/baselines/reference/assignmentCompatability25.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability26.types b/tests/baselines/reference/assignmentCompatability26.types index 025859bdd630f..a8b9af810d7c4 100644 --- a/tests/baselines/reference/assignmentCompatability26.types +++ b/tests/baselines/reference/assignmentCompatability26.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability27.types b/tests/baselines/reference/assignmentCompatability27.types index 49f1e0957ad44..650081348d5a1 100644 --- a/tests/baselines/reference/assignmentCompatability27.types +++ b/tests/baselines/reference/assignmentCompatability27.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability28.types b/tests/baselines/reference/assignmentCompatability28.types index ce64bb1b1a195..28ffa9e19000e 100644 --- a/tests/baselines/reference/assignmentCompatability28.types +++ b/tests/baselines/reference/assignmentCompatability28.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability29.types b/tests/baselines/reference/assignmentCompatability29.types index c3e770c9863fa..00b3166741639 100644 --- a/tests/baselines/reference/assignmentCompatability29.types +++ b/tests/baselines/reference/assignmentCompatability29.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability30.types b/tests/baselines/reference/assignmentCompatability30.types index 6165d0553e1b5..bb9795b0b9b7e 100644 --- a/tests/baselines/reference/assignmentCompatability30.types +++ b/tests/baselines/reference/assignmentCompatability30.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability31.types b/tests/baselines/reference/assignmentCompatability31.types index 6e5c4a0b630e6..a9eb60e83b522 100644 --- a/tests/baselines/reference/assignmentCompatability31.types +++ b/tests/baselines/reference/assignmentCompatability31.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability32.types b/tests/baselines/reference/assignmentCompatability32.types index 5294890143606..69b6e1cab8f5c 100644 --- a/tests/baselines/reference/assignmentCompatability32.types +++ b/tests/baselines/reference/assignmentCompatability32.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability33.types b/tests/baselines/reference/assignmentCompatability33.types index 6c66e1fd7e7c6..216500a14bad4 100644 --- a/tests/baselines/reference/assignmentCompatability33.types +++ b/tests/baselines/reference/assignmentCompatability33.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability34.types b/tests/baselines/reference/assignmentCompatability34.types index d85537b6c109b..874597fae32b1 100644 --- a/tests/baselines/reference/assignmentCompatability34.types +++ b/tests/baselines/reference/assignmentCompatability34.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability4.types b/tests/baselines/reference/assignmentCompatability4.types index 01468ef8e4f4a..0259d4f5aaa72 100644 --- a/tests/baselines/reference/assignmentCompatability4.types +++ b/tests/baselines/reference/assignmentCompatability4.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability46.types b/tests/baselines/reference/assignmentCompatability46.types index 43fb76bafaa95..a7ed8abede51a 100644 --- a/tests/baselines/reference/assignmentCompatability46.types +++ b/tests/baselines/reference/assignmentCompatability46.types @@ -11,7 +11,7 @@ fn([1, 2, 3]) >fn([1, 2, 3]) : void > : ^^^^ >fn : (x: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -25,7 +25,7 @@ fn({ a: 1, b: 2 }) >fn({ a: 1, b: 2 }) : void > : ^^^^ >fn : (x: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types b/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types index 2822c225f9468..de7504bed4c23 100644 --- a/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types +++ b/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types @@ -33,15 +33,15 @@ function bar(key: K) { const element = foo(mappedObject[key]); >element : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ >foo(mappedObject[key]) : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ +>foo : (x: T) => null | T +> : ^ ^^ ^^ ^^^^^ >mappedObject[key] : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ >mappedObject : { foo: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >key : K > : ^ @@ -49,7 +49,7 @@ function bar(key: K) { >element == null : boolean > : ^^^^^^^ >element : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ return; const x = element.x; @@ -58,7 +58,7 @@ function bar(key: K) { >element.x : string > : ^^^^^^ >element : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/assignmentLHSIsReference.types b/tests/baselines/reference/assignmentLHSIsReference.types index 0e06aa689db3f..7e765da01a44f 100644 --- a/tests/baselines/reference/assignmentLHSIsReference.types +++ b/tests/baselines/reference/assignmentLHSIsReference.types @@ -40,7 +40,7 @@ x3.a = value; >x3.a : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >value : any @@ -50,7 +50,7 @@ x3['a'] = value; >x3['a'] : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -86,7 +86,7 @@ function fn2(x4: number) { >x3.a : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >value : any @@ -98,7 +98,7 @@ function fn2(x4: number) { >x3['a'] : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any diff --git a/tests/baselines/reference/assignmentStricterConstraints.types b/tests/baselines/reference/assignmentStricterConstraints.types index a8e1e5e52694d..4307744b8b0f9 100644 --- a/tests/baselines/reference/assignmentStricterConstraints.types +++ b/tests/baselines/reference/assignmentStricterConstraints.types @@ -32,17 +32,17 @@ var g = function (x: T, y: S): void { } g = f >g = f : (x: T, y: S) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : (x: T, y: S) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f : (x: T, y: S) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ g(1, "") >g(1, "") : void > : ^^^^ >g : (x: T, y: S) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/assignmentToAnyArrayRestParameters.types b/tests/baselines/reference/assignmentToAnyArrayRestParameters.types index d5ccce25a7332..09a3540c6a0a5 100644 --- a/tests/baselines/reference/assignmentToAnyArrayRestParameters.types +++ b/tests/baselines/reference/assignmentToAnyArrayRestParameters.types @@ -30,7 +30,7 @@ function foo( >args : any > : ^^^ >fa : (s: string, ...args: string[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const f2: (...args: any[]) => string = fa; >f2 : (...args: any[]) => string @@ -38,7 +38,7 @@ function foo( >args : any[] > : ^^^^^ >fa : (s: string, ...args: string[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const f3: (...args: any) => string = fb; >f3 : (...args: any) => string @@ -46,7 +46,7 @@ function foo( >args : any > : ^^^ >fb : (s: string, ...args: T) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const f4: (...args: any[]) => string = fb; >f4 : (...args: any[]) => string @@ -54,7 +54,7 @@ function foo( >args : any[] > : ^^^^^ >fb : (s: string, ...args: T) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } function bar() { diff --git a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types index 97c8d08c9e744..b40c45bd442cb 100644 --- a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types +++ b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types @@ -363,9 +363,9 @@ function fn2(x: number, y: { t: number }) { >(y).t : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >3 : 3 @@ -379,7 +379,7 @@ function fn2(x: number, y: { t: number }) { >y.t : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >3 : 3 @@ -391,9 +391,9 @@ function fn2(x: number, y: { t: number }) { >(y).t : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >'' : "" @@ -407,7 +407,7 @@ function fn2(x: number, y: { t: number }) { >y.t : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >'' : "" @@ -419,7 +419,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >3 : 3 @@ -431,9 +431,9 @@ function fn2(x: number, y: { t: number }) { >(y)['t'] : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >3 : 3 @@ -447,7 +447,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >3 : 3 @@ -459,7 +459,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >'' : "" @@ -471,9 +471,9 @@ function fn2(x: number, y: { t: number }) { >(y)['t'] : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >'' : "" @@ -487,7 +487,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >'' : "" diff --git a/tests/baselines/reference/assignmentTypeNarrowing.types b/tests/baselines/reference/assignmentTypeNarrowing.types index 01b6cdc98934e..b4105c636150b 100644 --- a/tests/baselines/reference/assignmentTypeNarrowing.types +++ b/tests/baselines/reference/assignmentTypeNarrowing.types @@ -182,11 +182,11 @@ arr.push({ x: "ok" }); >arr.push({ x: "ok" }) : number > : ^^^^^^ >arr.push : (...items: { x?: "ok"; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^^^^^^^^ >arr : { x?: "ok"; }[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >push : (...items: { x?: "ok"; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^^^^^^^^ >{ x: "ok" } : { x: "ok"; } > : ^^^^^^^^^^^^ >x : "ok" diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index 5213c841a1ffd..395793e8ed2ad 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.types +++ b/tests/baselines/reference/asyncArrowFunction11_es5.types @@ -20,11 +20,11 @@ class A { >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ const obj = { ["a"]: () => this }; // computed property name after `await` triggers case >obj : { a: () => this; } diff --git a/tests/baselines/reference/asyncArrowFunction8_es2017.types b/tests/baselines/reference/asyncArrowFunction8_es2017.types index 0359dd7724308..eab4b45ec76a7 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction8_es2017.types @@ -9,15 +9,15 @@ var foo = async (): Promise => { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncArrowFunction8_es5.types b/tests/baselines/reference/asyncArrowFunction8_es5.types index 17bf623e46996..a5cd7180aa019 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es5.types +++ b/tests/baselines/reference/asyncArrowFunction8_es5.types @@ -9,15 +9,15 @@ var foo = async (): Promise => { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncArrowFunction8_es6.types b/tests/baselines/reference/asyncArrowFunction8_es6.types index 83bd1245a656e..7af08bf8a878e 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es6.types +++ b/tests/baselines/reference/asyncArrowFunction8_es6.types @@ -9,15 +9,15 @@ var foo = async (): Promise => { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types index 6dfcb56bb505c..c04c36f711283 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types @@ -21,11 +21,11 @@ class C { >await other.apply(this, arguments) : any >other.apply(this, arguments) : any >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types index bf813d0cca4dc..be3cc5d3315cb 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types @@ -23,11 +23,11 @@ class C { >other.apply(this, arguments) : any > : ^^^ >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types index 49176fdf0e4bf..80094228b3949 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types @@ -21,11 +21,11 @@ class C { >await other.apply(this, arguments) : any >other.apply(this, arguments) : any >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunction_allowJs.types b/tests/baselines/reference/asyncArrowFunction_allowJs.types index 90e57382ef534..f21ca3c9126bf 100644 --- a/tests/baselines/reference/asyncArrowFunction_allowJs.types +++ b/tests/baselines/reference/asyncArrowFunction_allowJs.types @@ -5,9 +5,9 @@ /** @type {function(): string} */ const a = () => 0 >a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => 0 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ @@ -15,9 +15,9 @@ const a = () => 0 /** @type {function(): string} */ const b = async () => 0 >b : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >async () => 0 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ @@ -25,9 +25,9 @@ const b = async () => 0 /** @type {function(): string} */ const c = async () => { >c : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >async () => { return 0} : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return 0 >0 : 0 @@ -38,9 +38,9 @@ const c = async () => { /** @type {function(): string} */ const d = async () => { >d : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >async () => { return ""} : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return "" >"" : "" @@ -50,18 +50,18 @@ const d = async () => { /** @type {function(function(): string): void} */ const f = (p) => {} >f : (arg0: () => string) => void -> : ^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ >(p) => {} : (p: () => string) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^ >p : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Error (good) f(async () => { >f(async () => { return 0}) : void > : ^^^^ >f : (arg0: () => string) => void -> : ^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ >async () => { return 0} : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types index 032ac7223e143..8379addae429a 100644 --- a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types +++ b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types @@ -24,13 +24,13 @@ class A { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve) => { resolve(null); } : (resolve: (value: void | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve(null) : void > : ^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } static C = class C { >C : typeof C @@ -50,11 +50,11 @@ class A { >B.func2() : Promise > : ^^^^^^^^^^^^^ >B.func2 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >B : typeof B > : ^^^^^^^^ >func2 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types index c4b6a9696027b..8eb9fd04ffec4 100644 --- a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types +++ b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types @@ -37,11 +37,11 @@ async function fn1() { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number @@ -85,11 +85,11 @@ async function fn2() { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number @@ -135,11 +135,11 @@ async function fn3() { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number @@ -185,11 +185,11 @@ async function fn4(): Promise { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types index 3e87e176efd94..19a78cded49dc 100644 --- a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types +++ b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types @@ -13,7 +13,7 @@ f(v => v ? [0] : Promise.reject()); >f(v => v ? [0] : Promise.reject()) : void > : ^^^^ >f : (cb: (v: boolean) => [0] | PromiseLike<[0]>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v ? [0] : Promise.reject() : (v: boolean) => [0] | Promise<[0]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -29,17 +29,17 @@ f(v => v ? [0] : Promise.reject()); >Promise.reject() : Promise<[0]> > : ^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ f(async v => v ? [0] : Promise.reject()); >f(async v => v ? [0] : Promise.reject()) : void > : ^^^^ >f : (cb: (v: boolean) => [0] | PromiseLike<[0]>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >async v => v ? [0] : Promise.reject() : (v: boolean) => Promise<[0]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -55,11 +55,11 @@ f(async v => v ? [0] : Promise.reject()); >Promise.reject() : Promise<[0]> > : ^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ declare function g(cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">): void; >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void @@ -73,7 +73,7 @@ g(v => v ? "contextuallyTypable" : Promise.reject()); >g(v => v ? "contextuallyTypable" : Promise.reject()) : void > : ^^^^ >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v ? "contextuallyTypable" : Promise.reject() : (v: boolean) => "contextuallyTypable" | Promise<"contextuallyTypable"> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -87,17 +87,17 @@ g(v => v ? "contextuallyTypable" : Promise.reject()); >Promise.reject() : Promise<"contextuallyTypable"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ g(async v => v ? "contextuallyTypable" : Promise.reject()); >g(async v => v ? "contextuallyTypable" : Promise.reject()) : void > : ^^^^ >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >async v => v ? "contextuallyTypable" : Promise.reject() : (v: boolean) => Promise<"contextuallyTypable"> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -111,11 +111,11 @@ g(async v => v ? "contextuallyTypable" : Promise.reject()); >Promise.reject() : Promise<"contextuallyTypable"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ type MyCallback = (thing: string) => void; >MyCallback : MyCallback @@ -135,7 +135,7 @@ h(v => v ? (abc) => { } : Promise.reject()); >h(v => v ? (abc) => { } : Promise.reject()) : void > : ^^^^ >h : (cb: (v: boolean) => MyCallback | PromiseLike) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v ? (abc) => { } : Promise.reject() : (v: boolean) => ((abc: string) => void) | Promise > : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -151,17 +151,17 @@ h(v => v ? (abc) => { } : Promise.reject()); >Promise.reject() : Promise > : ^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ h(async v => v ? (def) => { } : Promise.reject()); >h(async v => v ? (def) => { } : Promise.reject()) : void > : ^^^^ >h : (cb: (v: boolean) => MyCallback | PromiseLike) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >async v => v ? (def) => { } : Promise.reject() : (v: boolean) => Promise void)> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -177,11 +177,11 @@ h(async v => v ? (def) => { } : Promise.reject()); >Promise.reject() : Promise > : ^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ // repro from #29196 const increment: ( diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.types b/tests/baselines/reference/asyncFunctionDeclaration15_es5.types index fb949240fbe8e..41ae66714bd35 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.types @@ -73,9 +73,9 @@ async function fn11() { return a; } // valid: Promise async function fn12() { return obj; } // valid: Promise<{ then: string; }> >fn12 : () => Promise<{ then: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn13() { return thenable; } // error >fn13 : () => Promise @@ -117,9 +117,9 @@ async function fn18() { await obj; } // valid: Promise >fn18 : () => Promise > : ^^^^^^^^^^^^^^^^^^^ >await obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn19() { await thenable; } // error >fn19 : () => Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es6.types b/tests/baselines/reference/asyncFunctionDeclaration15_es6.types index 2e76354c7a525..e874b9f99cc37 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es6.types @@ -73,9 +73,9 @@ async function fn11() { return a; } // valid: Promise async function fn12() { return obj; } // valid: Promise<{ then: string; }> >fn12 : () => Promise<{ then: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn13() { return thenable; } // error >fn13 : () => Promise @@ -117,9 +117,9 @@ async function fn18() { await obj; } // valid: Promise >fn18 : () => Promise > : ^^^^^^^^^^^^^^^^^^^ >await obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn19() { await thenable; } // error >fn19 : () => Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration16_es5.types b/tests/baselines/reference/asyncFunctionDeclaration16_es5.types index 95da4b30daba2..e8fac034b7fe7 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration16_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration16_es5.types @@ -32,9 +32,9 @@ declare class Thenable { then(): void; } */ const f1 = async str => { >f1 : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >async str => { return str;} : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ @@ -63,9 +63,9 @@ const f2 = async str => { */ const f3 = async str => { >f3 : (str: string) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >async str => { return str;} : (str: string) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types index a73e7f2128cdc..34adcb3074c68 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types @@ -7,15 +7,15 @@ async function foo(): Promise { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es5.types b/tests/baselines/reference/asyncFunctionDeclaration9_es5.types index 41e3bb5550543..305202fc546ae 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es5.types @@ -7,15 +7,15 @@ async function foo(): Promise { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es6.types b/tests/baselines/reference/asyncFunctionDeclaration9_es6.types index 0cc39c4fa7bca..38e756f2b335b 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es6.types @@ -7,15 +7,15 @@ async function foo(): Promise { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types index 089d60658f226..5f5a1a148d35f 100644 --- a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types @@ -23,11 +23,11 @@ class C { >other.apply(this, arguments) : any > : ^^^ >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any > : ^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index 87276c91c8f9a..0ffaf33a7a328 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -64,11 +64,11 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : Obj @@ -87,11 +87,11 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : Obj @@ -124,11 +124,11 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : Obj > : ^^^ @@ -146,11 +146,11 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : Obj > : ^^^ @@ -183,11 +183,11 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: >Promise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : TObj @@ -206,11 +206,11 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringPropPromise.resolve(obj.stringProp) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : TObj @@ -243,11 +243,11 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb >Promise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : TObj > : ^^^^ @@ -265,11 +265,11 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( >Promise.resolve(obj.anyProp) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : TObj > : ^^^^ @@ -306,11 +306,11 @@ async function fGenericIndexedTypeForPromiseOfKPropPromise.resolve(obj[key]) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj[key] : TObj[K] > : ^^^^^^^ >obj : TObj @@ -331,11 +331,11 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropPromise.resolve(obj[key]) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj[key] : TObj[K] > : ^^^^^^^ >obj : TObj diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types index 399d933bec847..a0e3a9f070b79 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types @@ -5,7 +5,7 @@ declare namespace Windows.Foundation { interface IPromise { then(success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => IPromise) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -19,7 +19,7 @@ declare namespace Windows.Foundation { then(success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => IPromise) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -33,7 +33,7 @@ declare namespace Windows.Foundation { then(success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => U) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -47,7 +47,7 @@ declare namespace Windows.Foundation { then(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => U) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -129,7 +129,7 @@ async function sample2(x?: number) { >resolve1(x) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve1 : (value: T) => Promise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -141,7 +141,7 @@ async function sample2(x?: number) { >resolve2(x) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve2 : (value: T) => Windows.Foundation.IPromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.types b/tests/baselines/reference/asyncMethodWithSuper_es6.types index 7b4f4bb2823fc..e398fc907f0c4 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.types +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.types @@ -856,11 +856,11 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super.method('') : any >super.method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ @@ -897,7 +897,7 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super["method"]('') : any >super["method"] : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >"method" : "method" @@ -938,11 +938,11 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super.method('') : any >super.method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : typeof Base > : ^^^^^^^^^^^ >method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ @@ -979,7 +979,7 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super["method"]('') : any >super["method"] : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : typeof Base > : ^^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types index c73e194f778d7..a75b6279cee7e 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types index 3b52778148d68..20fcabfe2922e 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types index f7a40b7fe1d2c..4cd05e0736ea9 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any diff --git a/tests/baselines/reference/augmentExportEquals2_1.types b/tests/baselines/reference/augmentExportEquals2_1.types index c0b60e3127153..c5473585df576 100644 --- a/tests/baselines/reference/augmentExportEquals2_1.types +++ b/tests/baselines/reference/augmentExportEquals2_1.types @@ -3,7 +3,7 @@ === file3.ts === import x = require("file1"); >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import "file2"; let a: x.A; // should not work @@ -23,14 +23,14 @@ declare module "file1" { export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } === file2.ts === /// import x = require("file1"); >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // should error since './file1' does not have namespace meaning declare module "file1" { diff --git a/tests/baselines/reference/augmentExportEquals7.types b/tests/baselines/reference/augmentExportEquals7.types index bc63043e8d481..1d8d7be621a32 100644 --- a/tests/baselines/reference/augmentExportEquals7.types +++ b/tests/baselines/reference/augmentExportEquals7.types @@ -8,12 +8,12 @@ declare var lib: () => void; declare namespace lib {} export = lib; >lib : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/@types/lib-extender/index.d.ts === import * as lib from "lib"; >lib : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ declare module "lib" { >"lib" : typeof import("lib") diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types index b7dc12e13099f..23a13766eea1f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types index b7dc12e13099f..23a13766eea1f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types index b7dc12e13099f..23a13766eea1f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoLift2.types b/tests/baselines/reference/autoLift2.types index 5629313362a82..122939d31c9ea 100644 --- a/tests/baselines/reference/autoLift2.types +++ b/tests/baselines/reference/autoLift2.types @@ -61,7 +61,7 @@ class A >[1, 2].forEach((p) => this.foo) : void > : ^^^^ >[1, 2].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -69,7 +69,7 @@ class A >2 : 2 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(p) => this.foo : (p: number) => any > : ^ ^^^^^^^^^^^^^^^^ >p : number @@ -85,7 +85,7 @@ class A >[1, 2].forEach((p) => this.bar) : void > : ^^^^ >[1, 2].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -93,7 +93,7 @@ class A >2 : 2 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(p) => this.bar : (p: number) => any > : ^ ^^^^^^^^^^^^^^^^ >p : number diff --git a/tests/baselines/reference/autolift3.types b/tests/baselines/reference/autolift3.types index 2369de0d9493c..c0d498d86f3a2 100644 --- a/tests/baselines/reference/autolift3.types +++ b/tests/baselines/reference/autolift3.types @@ -64,11 +64,11 @@ class B { >fso.toString() : string > : ^^^^^^ >fso.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >fso : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } })(); diff --git a/tests/baselines/reference/autolift4.types b/tests/baselines/reference/autolift4.types index bffe2caaff22d..c98161afa48ec 100644 --- a/tests/baselines/reference/autolift4.types +++ b/tests/baselines/reference/autolift4.types @@ -20,11 +20,11 @@ class Point { >Math.sqrt(this.x*this.x + this.y*this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x*this.x + this.y*this.y : number > : ^^^^^^ >this.x*this.x : number @@ -104,11 +104,11 @@ class Point3D extends Point { >Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.m) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x*this.x + this.y*this.y + this.z*this.m : number > : ^^^^^^ >this.x*this.x + this.y*this.y : number diff --git a/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types b/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types index 7313958f5d846..7b66cac34224d 100644 --- a/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types +++ b/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types @@ -35,15 +35,15 @@ class Howl { >console.log(name, fn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >name : "unlock" > : ^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types b/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types index adaf19bc97ffb..a96e17ced2349 100644 --- a/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types +++ b/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types @@ -17,6 +17,6 @@ export let x:Dog = getRover; >x : Dog > : ^^^ >getRover : () => Dog -> : ^^^^^^^^^ +> : ^^^^^^ // export let x: Dog = getRover; diff --git a/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types b/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types index 702b6d08be707..d4a3b7edd8085 100644 --- a/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types +++ b/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types @@ -18,8 +18,8 @@ export function test(arg: { index?: number }) { > : ^^^^^^ >0 : 0 > : ^ ->arg : { index?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg : { index?: number; } +> : ^^^^^^^^^^ ^^^ if (foo[index] === "a") { >foo[index] === "a" : boolean diff --git a/tests/baselines/reference/awaitBinaryExpression1_es2017.types b/tests/baselines/reference/awaitBinaryExpression1_es2017.types index 8a2c49b4d1d86..e2160c47153eb 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p || a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.types b/tests/baselines/reference/awaitBinaryExpression1_es5.types index a37129d66ffd3..06536de34d39c 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p || a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.types b/tests/baselines/reference/awaitBinaryExpression1_es6.types index 335ea91878bf4..004d01064e56a 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p || a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es2017.types b/tests/baselines/reference/awaitBinaryExpression2_es2017.types index 43e36b379cfc8..f98712b6ade7f 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p && a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.types b/tests/baselines/reference/awaitBinaryExpression2_es5.types index 890694e7cbf02..7ed66215fec3e 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p && a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.types b/tests/baselines/reference/awaitBinaryExpression2_es6.types index e9fcf06afcb81..864c13f4f7212 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p && a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es2017.types b/tests/baselines/reference/awaitBinaryExpression3_es2017.types index 192f3cf09e548..f577c16a0c475 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p + a; >b : number @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.types b/tests/baselines/reference/awaitBinaryExpression3_es5.types index eb41efbf113d7..b43d6a23615cc 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p + a; >b : number @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.types b/tests/baselines/reference/awaitBinaryExpression3_es6.types index a9b93d27b181a..bc6361f3d1581 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p + a; >b : number @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es2017.types b/tests/baselines/reference/awaitBinaryExpression4_es2017.types index bb1f4c6a8c388..fa79ee7a0dd44 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await p, a); >b : boolean @@ -45,5 +45,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.types b/tests/baselines/reference/awaitBinaryExpression4_es5.types index abe1a5fa6a86f..345007d5f0853 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await p, a); >b : boolean @@ -45,5 +45,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.types b/tests/baselines/reference/awaitBinaryExpression4_es6.types index 1c48f9ca0b16a..5a5de546ddf6c 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await p, a); >b : boolean @@ -45,5 +45,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es2017.types b/tests/baselines/reference/awaitBinaryExpression5_es2017.types index 39ffde89efb06..0ad830d5ae375 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var o: { a: boolean; }; >o : { a: boolean; } @@ -39,7 +39,7 @@ async function func(): Promise { >o.a : boolean > : ^^^^^^^ >o : { a: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -51,5 +51,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.types b/tests/baselines/reference/awaitBinaryExpression5_es5.types index 1ea0241d3546e..bc4a0811d3bf7 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var o: { a: boolean; }; >o : { a: boolean; } @@ -39,7 +39,7 @@ async function func(): Promise { >o.a : boolean > : ^^^^^^^ >o : { a: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -51,5 +51,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.types b/tests/baselines/reference/awaitBinaryExpression5_es6.types index a2983be15d543..1083d777d7901 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var o: { a: boolean; }; >o : { a: boolean; } @@ -39,7 +39,7 @@ async function func(): Promise { >o.a : boolean > : ^^^^^^^ >o : { a: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -51,5 +51,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression1_es2017.types b/tests/baselines/reference/awaitCallExpression1_es2017.types index ff5a47b2d8a47..4d66d51e22caf 100644 --- a/tests/baselines/reference/awaitCallExpression1_es2017.types +++ b/tests/baselines/reference/awaitCallExpression1_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -89,5 +89,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression1_es5.types b/tests/baselines/reference/awaitCallExpression1_es5.types index dcb15f257868e..f9eacb8912a97 100644 --- a/tests/baselines/reference/awaitCallExpression1_es5.types +++ b/tests/baselines/reference/awaitCallExpression1_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -89,5 +89,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression1_es6.types b/tests/baselines/reference/awaitCallExpression1_es6.types index 2e77882260a4e..99a959b87defd 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.types +++ b/tests/baselines/reference/awaitCallExpression1_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -89,5 +89,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression2_es2017.types b/tests/baselines/reference/awaitCallExpression2_es2017.types index 3d3af159f2788..2ac0e02e9b598 100644 --- a/tests/baselines/reference/awaitCallExpression2_es2017.types +++ b/tests/baselines/reference/awaitCallExpression2_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(await p, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression2_es5.types b/tests/baselines/reference/awaitCallExpression2_es5.types index a89be88ddb8cc..c70ea8ac6c812 100644 --- a/tests/baselines/reference/awaitCallExpression2_es5.types +++ b/tests/baselines/reference/awaitCallExpression2_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(await p, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression2_es6.types b/tests/baselines/reference/awaitCallExpression2_es6.types index 39f949106073a..b944199d7ba3b 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.types +++ b/tests/baselines/reference/awaitCallExpression2_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(await p, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression3_es2017.types b/tests/baselines/reference/awaitCallExpression3_es2017.types index e0af66e1dfebf..e149a63350193 100644 --- a/tests/baselines/reference/awaitCallExpression3_es2017.types +++ b/tests/baselines/reference/awaitCallExpression3_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, await p, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression3_es5.types b/tests/baselines/reference/awaitCallExpression3_es5.types index 37ee77b2cfb36..a0ea7ec7ff5f5 100644 --- a/tests/baselines/reference/awaitCallExpression3_es5.types +++ b/tests/baselines/reference/awaitCallExpression3_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, await p, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression3_es6.types b/tests/baselines/reference/awaitCallExpression3_es6.types index d6940a217e797..7cc19c04426a5 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.types +++ b/tests/baselines/reference/awaitCallExpression3_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, await p, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression4_es2017.types b/tests/baselines/reference/awaitCallExpression4_es2017.types index ae4ea63e0ee3a..6936ba7c4eed2 100644 --- a/tests/baselines/reference/awaitCallExpression4_es2017.types +++ b/tests/baselines/reference/awaitCallExpression4_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await pfn)(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression4_es5.types b/tests/baselines/reference/awaitCallExpression4_es5.types index 827aafd07a5c1..b6850d8835b5d 100644 --- a/tests/baselines/reference/awaitCallExpression4_es5.types +++ b/tests/baselines/reference/awaitCallExpression4_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await pfn)(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression4_es6.types b/tests/baselines/reference/awaitCallExpression4_es6.types index 8c39562a013a9..dd3b77ed0c65b 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.types +++ b/tests/baselines/reference/awaitCallExpression4_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await pfn)(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression5_es2017.types b/tests/baselines/reference/awaitCallExpression5_es2017.types index 30ca06fdff4d1..8b2970588e392 100644 --- a/tests/baselines/reference/awaitCallExpression5_es2017.types +++ b/tests/baselines/reference/awaitCallExpression5_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression5_es5.types b/tests/baselines/reference/awaitCallExpression5_es5.types index 4ed35571153a7..dda4a22b7b389 100644 --- a/tests/baselines/reference/awaitCallExpression5_es5.types +++ b/tests/baselines/reference/awaitCallExpression5_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression5_es6.types b/tests/baselines/reference/awaitCallExpression5_es6.types index ac45e317d28c3..d070525792ece 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.types +++ b/tests/baselines/reference/awaitCallExpression5_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression6_es2017.types b/tests/baselines/reference/awaitCallExpression6_es2017.types index 1f7d3954ef6db..534bc1ea9f053 100644 --- a/tests/baselines/reference/awaitCallExpression6_es2017.types +++ b/tests/baselines/reference/awaitCallExpression6_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(await p, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression6_es5.types b/tests/baselines/reference/awaitCallExpression6_es5.types index 983ba9f3fe11e..baa9dc9f23f5d 100644 --- a/tests/baselines/reference/awaitCallExpression6_es5.types +++ b/tests/baselines/reference/awaitCallExpression6_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(await p, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression6_es6.types b/tests/baselines/reference/awaitCallExpression6_es6.types index 7f22836931893..00302c74d5006 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.types +++ b/tests/baselines/reference/awaitCallExpression6_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(await p, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression7_es2017.types b/tests/baselines/reference/awaitCallExpression7_es2017.types index e65f9a1b687b9..8c881062741c9 100644 --- a/tests/baselines/reference/awaitCallExpression7_es2017.types +++ b/tests/baselines/reference/awaitCallExpression7_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, await p, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression7_es5.types b/tests/baselines/reference/awaitCallExpression7_es5.types index 390e123cdf1c8..0b7d51ad2e972 100644 --- a/tests/baselines/reference/awaitCallExpression7_es5.types +++ b/tests/baselines/reference/awaitCallExpression7_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, await p, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression7_es6.types b/tests/baselines/reference/awaitCallExpression7_es6.types index e24dfba11e962..b234599dbdc4d 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.types +++ b/tests/baselines/reference/awaitCallExpression7_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, await p, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression8_es2017.types b/tests/baselines/reference/awaitCallExpression8_es2017.types index 00bc0c5401f82..548492d43afc2 100644 --- a/tests/baselines/reference/awaitCallExpression8_es2017.types +++ b/tests/baselines/reference/awaitCallExpression8_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await po).fn(a, a, a); >b : void @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -97,5 +97,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression8_es5.types b/tests/baselines/reference/awaitCallExpression8_es5.types index 44044ddf85bbe..1a2563d628ce4 100644 --- a/tests/baselines/reference/awaitCallExpression8_es5.types +++ b/tests/baselines/reference/awaitCallExpression8_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await po).fn(a, a, a); >b : void @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -97,5 +97,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression8_es6.types b/tests/baselines/reference/awaitCallExpression8_es6.types index 5d001492a47e3..f94a7c2384b32 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.types +++ b/tests/baselines/reference/awaitCallExpression8_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await po).fn(a, a, a); >b : void @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -97,5 +97,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types index bad7224098888..fa988a13c2c11 100644 --- a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types +++ b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types @@ -15,11 +15,11 @@ function foo() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/awaitUnionPromise.types b/tests/baselines/reference/awaitUnionPromise.types index 961619f1ef205..cd03ea8a5c7e0 100644 --- a/tests/baselines/reference/awaitUnionPromise.types +++ b/tests/baselines/reference/awaitUnionPromise.types @@ -43,11 +43,11 @@ async function main() { >x.next1() : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.next1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >next1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ let b = await x.next2(); >b : number | AsyncEnumeratorDone @@ -56,12 +56,12 @@ async function main() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.next2() : Promise | Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x.next2 : () => Promise | Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.next2 : () => Promise | Promise +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->next2 : () => Promise | Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next2 : () => Promise | Promise +> : ^^^^^^ ^^^^^^ let c = await x.next3(); >c : number | {} @@ -71,24 +71,24 @@ async function main() { >x.next3() : Promise > : ^^^^^^^^^^^^^^^^^^^^ >x.next3 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >next3 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ let d = await x.next4(); >d : number | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >await x.next4() : number | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x.next4() : Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >x.next4 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >next4 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ } diff --git a/tests/baselines/reference/awaitedType.types b/tests/baselines/reference/awaitedType.types index cfed3ae60fb8e..dbc8add717e93 100644 --- a/tests/baselines/reference/awaitedType.types +++ b/tests/baselines/reference/awaitedType.types @@ -176,11 +176,11 @@ async function main() { >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >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; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,7 +188,7 @@ async function main() { >MaybePromise(1) : 1 | Promise<1> | PromiseLike<1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -196,7 +196,7 @@ async function main() { >MaybePromise('2') : "2" | Promise<"2"> | PromiseLike<"2"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'2' : "2" > : ^^^ @@ -204,7 +204,7 @@ async function main() { >MaybePromise(true) : true | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -694,7 +694,7 @@ async function findManyWrapper< >findMany(args) : CheckSelect, Promise<2>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findMany : (args: T_1) => CheckSelect, Promise<2>> -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ @@ -790,11 +790,11 @@ async function mainFindMany() { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -802,19 +802,19 @@ async function mainFindMany() { >Promise.all(promises).then((results) => { const first = results[0] const second = results[1] // error }) : Promise > : ^^^^^^^^^^^^^ >Promise.all(promises).then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.all(promises) : Promise<[number]> > : ^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >promises : readonly [Promise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(results) => { const first = results[0] const second = results[1] // error } : (results: [number]) => void > : ^ ^^^^^^^^^^^^^^^^^^^ >results : [number] @@ -855,11 +855,11 @@ async function test40330() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -877,11 +877,11 @@ async function test40330() { >Promise.all([ promiseNumber, ...[promiseVoid()] ]) : Promise<[number, ...void[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >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; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ promiseNumber, ...[promiseVoid()] ] : [Promise, ...Promise[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/awaitedTypeJQuery.types b/tests/baselines/reference/awaitedTypeJQuery.types index 460c57836e943..85af2ef36ca47 100644 --- a/tests/baselines/reference/awaitedTypeJQuery.types +++ b/tests/baselines/reference/awaitedTypeJQuery.types @@ -12,7 +12,7 @@ interface PromiseBase { thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -75,7 +75,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -123,7 +123,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRP = never, BJP = never, BNP = never, CRP = never, CJP = never, CNP = never, @@ -156,7 +156,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -204,7 +204,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -237,7 +237,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, diff --git a/tests/baselines/reference/awaitedTypeStrictNull.types b/tests/baselines/reference/awaitedTypeStrictNull.types index ade84b7e07994..3a162c90d53b2 100644 --- a/tests/baselines/reference/awaitedTypeStrictNull.types +++ b/tests/baselines/reference/awaitedTypeStrictNull.types @@ -176,11 +176,11 @@ async function main() { >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >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; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,7 +188,7 @@ async function main() { >MaybePromise(1) : 1 | Promise<1> | PromiseLike<1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -196,7 +196,7 @@ async function main() { >MaybePromise('2') : "2" | Promise<"2"> | PromiseLike<"2"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'2' : "2" > : ^^^ @@ -204,7 +204,7 @@ async function main() { >MaybePromise(true) : true | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -223,11 +223,11 @@ class Api { >this.request() : Promise > : ^^^^^^^^^^ >this.request : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >request : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ async request(): Promise { throw new Error(); } >request : () => Promise diff --git a/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types b/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types index 179b5a44e2f8c..e7024a67541b4 100644 --- a/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types +++ b/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types @@ -27,7 +27,7 @@ const result = canYouInferThis(() => ({ >canYouInferThis(() => ({ a: { BLAH: 33 }, b: x => { }})) : { BLAH: number; } > : ^^^^^^^^^^^^^^^^^ >canYouInferThis : (fn: () => Foo) => A -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => ({ a: { BLAH: 33 }, b: x => { }}) : () => { a: { BLAH: number; }; b: (x: { BLAH: number; }) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ a: { BLAH: 33 }, b: x => { }}) : { a: { BLAH: number; }; b: (x: { BLAH: number; }) => void; } diff --git a/tests/baselines/reference/badThisBinding.types b/tests/baselines/reference/badThisBinding.types index 9759d94996110..f2cc0866117fd 100644 --- a/tests/baselines/reference/badThisBinding.types +++ b/tests/baselines/reference/badThisBinding.types @@ -19,14 +19,14 @@ class Greeter { foo(() => { >foo(() => { bar(() => { var x = this; }); }) : any >foo : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { bar(() => { var x = this; }); } : () => void > : ^^^^^^^^^^ bar(() => { >bar(() => { var x = this; }) : any >bar : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { var x = this; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/baseConstraintOfDecorator.types b/tests/baselines/reference/baseConstraintOfDecorator.types index fd25702f1c42a..38642810a20b6 100644 --- a/tests/baselines/reference/baseConstraintOfDecorator.types +++ b/tests/baselines/reference/baseConstraintOfDecorator.types @@ -39,7 +39,7 @@ export function classExtender(superClass: TFunction, _instanceModifie >_instanceModifier(this, args) : void > : ^^^^ >_instanceModifier : (instance: any, args: any[]) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >args : any[] @@ -94,7 +94,7 @@ export function classExtender2 MyCl >_instanceModifier(this, args) : void > : ^^^^ >_instanceModifier : (instance: any, args: any[]) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >args : any[] diff --git a/tests/baselines/reference/bestChoiceType.types b/tests/baselines/reference/bestChoiceType.types index 0b9cfa61eea62..593ce20a4dd7d 100644 --- a/tests/baselines/reference/bestChoiceType.types +++ b/tests/baselines/reference/bestChoiceType.types @@ -7,7 +7,7 @@ >(''.match(/ /) || []).map(s => s.toLowerCase()) : any[] > : ^^^^^ >(''.match(/ /) || []).map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >(''.match(/ /) || []) : RegExpMatchArray | [] > : ^^^^^^^^^^^^^^^^^^^^^ >''.match(/ /) || [] : RegExpMatchArray | [] @@ -15,17 +15,17 @@ >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ >[] : [] > : ^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any @@ -48,11 +48,11 @@ function f1() { >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ @@ -72,11 +72,11 @@ function f1() { >y.map(s => s.toLowerCase()) : any[] > : ^^^^^ >y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : RegExpMatchArray | [] > : ^^^^^^^^^^^^^^^^^^^^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any @@ -98,11 +98,11 @@ function f2() { >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ @@ -124,11 +124,11 @@ function f2() { >y.map(s => s.toLowerCase()) : any[] > : ^^^^^ >y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : RegExpMatchArray | never[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types index 3b6c2068b2985..5ad7b098ee2ea 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types @@ -80,27 +80,27 @@ var r3 = true ? 1 : {}; var r4 = true ? a : b; // typeof a >r4 : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true ? a : b : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true : true > : ^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r5 = true ? b : a; // typeof b >r5 : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true ? b : a : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true : true > : ^^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r6 = true ? (x: number) => { } : (x: Object) => { }; // returns number => void >r6 : ((x: number) => void) | ((x: Object) => void) diff --git a/tests/baselines/reference/bestCommonTypeOfTuple.types b/tests/baselines/reference/bestCommonTypeOfTuple.types index e7f4b4a967dc8..03f342439fedc 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple.types @@ -61,15 +61,15 @@ var t4: [E1, E2, number]; // no error t1 = [f1, f2]; >t1 = [f1, f2] : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >t1 : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >[f1, f2] : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >f1 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ t2 = [E1.one, E2.two]; >t2 = [E1.one, E2.two] : [E1, E2] @@ -131,7 +131,7 @@ var e1 = t1[2]; // {} >t1[2] : undefined > : ^^^^^^^^^ >t1 : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/bestCommonTypeReturnStatement.types b/tests/baselines/reference/bestCommonTypeReturnStatement.types index 8d7879fef7c10..38afacec4b0a8 100644 --- a/tests/baselines/reference/bestCommonTypeReturnStatement.types +++ b/tests/baselines/reference/bestCommonTypeReturnStatement.types @@ -24,13 +24,13 @@ function f() { >b() : IPromise > : ^^^^^^^^^^^^^^ >b : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return d(); >d() : IPromise > : ^^^^^^^^^^^^^ >d : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/betterErrorForAccidentalCall.types b/tests/baselines/reference/betterErrorForAccidentalCall.types index fdf8e6a9a872e..5b0bdbb084744 100644 --- a/tests/baselines/reference/betterErrorForAccidentalCall.types +++ b/tests/baselines/reference/betterErrorForAccidentalCall.types @@ -15,7 +15,7 @@ foo()(1 as number).toString(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 as number : number > : ^^^^^^ >1 : 1 @@ -33,7 +33,7 @@ foo() (1 as number).toString(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 as number : number > : ^^^^^^ >1 : 1 @@ -51,7 +51,7 @@ foo() >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (1 as number).toString(); >1 as number : number @@ -71,7 +71,7 @@ foo() >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (1 + 2).toString(); >1 + 2 : number @@ -93,7 +93,7 @@ foo() >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (1).toString(); >1 : number diff --git a/tests/baselines/reference/betterErrorForUnionCall.types b/tests/baselines/reference/betterErrorForUnionCall.types index 30b1972597e31..5c06f2b2a2cb1 100644 --- a/tests/baselines/reference/betterErrorForUnionCall.types +++ b/tests/baselines/reference/betterErrorForUnionCall.types @@ -13,7 +13,7 @@ union(""); >union("") : any > : ^^^ >union : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >"" : "" > : ^^ @@ -29,7 +29,7 @@ fnUnion(""); >fnUnion("") : any > : ^^^ >fnUnion : { a: string; } | ((a: string) => void) -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ @@ -45,7 +45,7 @@ fnUnion2(""); >fnUnion2("") : any > : ^^^ >fnUnion2 : ((a: T) => void) | ((a: string) => void) -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/bigint64ArraySubarray.types b/tests/baselines/reference/bigint64ArraySubarray.types index f59e9e7e31fd1..ab64c3d7efa60 100644 --- a/tests/baselines/reference/bigint64ArraySubarray.types +++ b/tests/baselines/reference/bigint64ArraySubarray.types @@ -19,21 +19,21 @@ function bigInt64ArraySubarray() { >arr.subarray() : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -41,11 +41,11 @@ function bigInt64ArraySubarray() { >arr.subarray(0, 10) : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/bigintMissingES2019.types b/tests/baselines/reference/bigintMissingES2019.types index d75e2e16a528f..6aa6626ff8dbb 100644 --- a/tests/baselines/reference/bigintMissingES2019.types +++ b/tests/baselines/reference/bigintMissingES2019.types @@ -9,7 +9,7 @@ test<{t?: string}, object>(); >test<{t?: string}, object>() : void > : ^^^^ >test : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ @@ -17,7 +17,7 @@ test<{t?: string}, bigint>(); >test<{t?: string}, bigint>() : void > : ^^^^ >test : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ diff --git a/tests/baselines/reference/bigintMissingES2020.types b/tests/baselines/reference/bigintMissingES2020.types index 6f5c5f001b9a4..19e9913c5b15a 100644 --- a/tests/baselines/reference/bigintMissingES2020.types +++ b/tests/baselines/reference/bigintMissingES2020.types @@ -9,7 +9,7 @@ test<{t?: string}, object>(); >test<{t?: string}, object>() : void > : ^^^^ >test : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ @@ -17,7 +17,7 @@ test<{t?: string}, bigint>(); >test<{t?: string}, bigint>() : void > : ^^^^ >test : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ diff --git a/tests/baselines/reference/bigintMissingESNext.types b/tests/baselines/reference/bigintMissingESNext.types index d36f6af1bf737..18dc7e73f5170 100644 --- a/tests/baselines/reference/bigintMissingESNext.types +++ b/tests/baselines/reference/bigintMissingESNext.types @@ -9,7 +9,7 @@ test<{t?: string}, object>(); >test<{t?: string}, object>() : void > : ^^^^ >test : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ @@ -17,7 +17,7 @@ test<{t?: string}, bigint>(); >test<{t?: string}, bigint>() : void > : ^^^^ >test : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ diff --git a/tests/baselines/reference/bigintWithLib.types b/tests/baselines/reference/bigintWithLib.types index 71d7e3ffc7f34..96569a8ac95e1 100644 --- a/tests/baselines/reference/bigintWithLib.types +++ b/tests/baselines/reference/bigintWithLib.types @@ -40,11 +40,11 @@ bigintVal = BigInt.asIntN(8, 0xFFFFn); >BigInt.asIntN(8, 0xFFFFn) : bigint > : ^^^^^^ >BigInt.asIntN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >BigInt : BigIntConstructor > : ^^^^^^^^^^^^^^^^^ >asIntN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >8 : 8 > : ^ >0xFFFFn : 65535n @@ -58,11 +58,11 @@ bigintVal = BigInt.asUintN(8, 0xFFFFn); >BigInt.asUintN(8, 0xFFFFn) : bigint > : ^^^^^^ >BigInt.asUintN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >BigInt : BigIntConstructor > : ^^^^^^^^^^^^^^^^^ >asUintN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >8 : 8 > : ^ >0xFFFFn : 65535n @@ -76,11 +76,11 @@ bigintVal = bigintVal.valueOf(); >bigintVal.valueOf() : bigint > : ^^^^^^ >bigintVal.valueOf : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >valueOf : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ let stringVal: string = bigintVal.toString(); >stringVal : string @@ -88,11 +88,11 @@ let stringVal: string = bigintVal.toString(); >bigintVal.toString() : string > : ^^^^^^ >bigintVal.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ stringVal = bigintVal.toString(2); >stringVal = bigintVal.toString(2) : string @@ -102,11 +102,11 @@ stringVal = bigintVal.toString(2); >bigintVal.toString(2) : string > : ^^^^^^ >bigintVal.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -118,11 +118,11 @@ stringVal = bigintVal.toLocaleString(); >bigintVal.toLocaleString() : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ stringVal = bigintVal.toLocaleString('de-DE'); >stringVal = bigintVal.toLocaleString('de-DE') : string @@ -132,11 +132,11 @@ stringVal = bigintVal.toLocaleString('de-DE'); >bigintVal.toLocaleString('de-DE') : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ @@ -148,11 +148,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }); >bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency' } : { style: string; } @@ -170,11 +170,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EU >bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -489,11 +489,11 @@ dataView.setBigInt64(1, -1n); >dataView.setBigInt64(1, -1n) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >-1n : -1n @@ -505,11 +505,11 @@ dataView.setBigInt64(1, -1n, true); >dataView.setBigInt64(1, -1n, true) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >-1n : -1n @@ -523,11 +523,11 @@ dataView.setBigInt64(1, -1); // should error >dataView.setBigInt64(1, -1) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >-1 : -1 @@ -539,11 +539,11 @@ dataView.setBigUint64(2, 123n); >dataView.setBigUint64(2, 123n) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >123n : 123n @@ -553,11 +553,11 @@ dataView.setBigUint64(2, 123n, true); >dataView.setBigUint64(2, 123n, true) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >123n : 123n @@ -569,11 +569,11 @@ dataView.setBigUint64(2, 123); // should error >dataView.setBigUint64(2, 123) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >123 : 123 @@ -587,11 +587,11 @@ bigintVal = dataView.getBigInt64(1); >dataView.getBigInt64(1) : bigint > : ^^^^^^ >dataView.getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -603,11 +603,11 @@ bigintVal = dataView.getBigInt64(1, true); >dataView.getBigInt64(1, true) : bigint > : ^^^^^^ >dataView.getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >true : true @@ -621,11 +621,11 @@ bigintVal = dataView.getBigUint64(2); >dataView.getBigUint64(2) : bigint > : ^^^^^^ >dataView.getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -637,11 +637,11 @@ bigintVal = dataView.getBigUint64(2, true); >dataView.getBigUint64(2, true) : bigint > : ^^^^^^ >dataView.getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >true : true @@ -679,7 +679,7 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -691,7 +691,7 @@ new Intl.NumberFormat("fr").format(3000n); >"fr" : "fr" > : ^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >3000n : 3000n > : ^^^^^ @@ -699,7 +699,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -711,7 +711,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >"fr" : "fr" > : ^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bigintVal : bigint > : ^^^^^^ diff --git a/tests/baselines/reference/bigintWithoutLib.types b/tests/baselines/reference/bigintWithoutLib.types index bd6505f206f78..c1ae99c1fe3a5 100644 --- a/tests/baselines/reference/bigintWithoutLib.types +++ b/tests/baselines/reference/bigintWithoutLib.types @@ -78,11 +78,11 @@ bigintVal = bigintVal.valueOf(); // should error - bigintVal inferred as {} >bigintVal.valueOf() : Object > : ^^^^^^ >bigintVal.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ let stringVal: string = bigintVal.toString(); // should not error - bigintVal inferred as {} >stringVal : string @@ -90,11 +90,11 @@ let stringVal: string = bigintVal.toString(); // should not error - bigintVal in >bigintVal.toString() : string > : ^^^^^^ >bigintVal.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ stringVal = bigintVal.toString(2); // should error - bigintVal inferred as {} >stringVal = bigintVal.toString(2) : string @@ -104,11 +104,11 @@ stringVal = bigintVal.toString(2); // should error - bigintVal inferred as {} >bigintVal.toString(2) : string > : ^^^^^^ >bigintVal.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >2 : 2 > : ^ @@ -120,11 +120,11 @@ stringVal = bigintVal.toLocaleString(); // should not error - bigintVal inferred >bigintVal.toLocaleString() : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ stringVal = bigintVal.toLocaleString('de-DE'); // should not error - bigintVal inferred as {} >stringVal = bigintVal.toLocaleString('de-DE') : string @@ -134,11 +134,11 @@ stringVal = bigintVal.toLocaleString('de-DE'); // should not error - bigintVal i >bigintVal.toLocaleString('de-DE') : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ @@ -150,11 +150,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }); // should >bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency' } : { style: string; } @@ -172,11 +172,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EU >bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -654,7 +654,7 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -666,7 +666,7 @@ new Intl.NumberFormat("fr").format(3000n); >"fr" : "fr" > : ^^^^ >format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3000n : 3000n > : ^^^^^ @@ -674,7 +674,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -686,7 +686,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >"fr" : "fr" > : ^^^^ >format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ diff --git a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types index 17c702220d72e..53bac68d19430 100644 --- a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types +++ b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types @@ -9,7 +9,7 @@ const {} = f(); // error (only in strictNullChecks) >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const { p1 } = f(); // error >p1 : any @@ -17,13 +17,13 @@ const { p1 } = f(); // error >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const [] = f(); // error >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const [e1, e2] = f(); // error >e1 : any @@ -33,7 +33,7 @@ const [e1, e2] = f(); // error >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ // Repro from #43605 type Dispatch = { (action: T): T }; @@ -107,29 +107,29 @@ const funcs1 = { }; type TFuncs1 = typeof funcs1; >TFuncs1 : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcs1 : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ declare function useReduxDispatch1>(destructuring: Destructuring): T; >useReduxDispatch1 : >(destructuring: Destructuring) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >destructuring : Destructuring<{ funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }, T> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^ const {} = useReduxDispatch1( >useReduxDispatch1( (d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), })) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >useReduxDispatch1 : >(destructuring: Destructuring) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (d, f) => ({ >(d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : (d: Dispatch, f: { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }) => { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : Dispatch > : ^^^^^^^^^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), } : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } @@ -149,11 +149,11 @@ const {} = useReduxDispatch1( >f.funcA(...p) : void > : ^^^^ >f.funcA : (a: boolean) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcA : (a: boolean) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >...p : boolean > : ^^^^^^^ >p : [a: boolean] @@ -173,11 +173,11 @@ const {} = useReduxDispatch1( >f.funcB(...p) : void > : ^^^^ >f.funcB : (b: string, bb: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcB : (b: string, bb: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...p : string > : ^^^^^^ >p : [b: string, bb: string] @@ -197,11 +197,11 @@ const {} = useReduxDispatch1( >f.funcC(...p) : void > : ^^^^ >f.funcC : (c: number, cc: number, ccc: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcC : (c: number, cc: number, ccc: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...p : number | boolean > : ^^^^^^^^^^^^^^^^ >p : [c: number, cc: number, ccc: boolean] diff --git a/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types b/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types index 7df731f981726..c2ab323df1845 100644 --- a/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types +++ b/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types @@ -15,7 +15,7 @@ const _ = pick(['b'], { a: 'a', b: 'b' }); // T: "b" >pick(['b'], { a: 'a', b: 'b' }) : Pick<{ a: string; b: string; }, "b"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (keys: T[], obj?: O) => Pick -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >['b'] : "b"[] > : ^^^^^ >'b' : "b" @@ -35,7 +35,7 @@ const { } = pick(['b'], { a: 'a', b: 'b' }); // T: "b" | "a" ??? (before fix) >pick(['b'], { a: 'a', b: 'b' }) : Pick<{ a: string; b: string; }, "b"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (keys: T[], obj?: O) => Pick -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >['b'] : "b"[] > : ^^^^^ >'b' : "b" diff --git a/tests/baselines/reference/bindingPatternInParameter01.types b/tests/baselines/reference/bindingPatternInParameter01.types index af202bd94976b..57cf2ab9c8a06 100644 --- a/tests/baselines/reference/bindingPatternInParameter01.types +++ b/tests/baselines/reference/bindingPatternInParameter01.types @@ -27,11 +27,11 @@ nestedArray.forEach(([[a, b]]) => { >nestedArray.forEach(([[a, b]]) => { console.log(a, b);}) : void > : ^^^^ >nestedArray.forEach : (callbackfn: (value: number[][], index: number, array: number[][][]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >nestedArray : number[][][] > : ^^^^^^^^^^^^ >forEach : (callbackfn: (value: number[][], index: number, array: number[][][]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >([[a, b]]) => { console.log(a, b);} : ([[a, b]]: number[][]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,11 +43,11 @@ nestedArray.forEach(([[a, b]]) => { >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number diff --git a/tests/baselines/reference/binopAssignmentShouldHaveType.types b/tests/baselines/reference/binopAssignmentShouldHaveType.types index 083d60401e093..b070ae3a4c2e0 100644 --- a/tests/baselines/reference/binopAssignmentShouldHaveType.types +++ b/tests/baselines/reference/binopAssignmentShouldHaveType.types @@ -46,11 +46,11 @@ module Test { >this.getName() : string > : ^^^^^^ >this.getName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >length : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types index 877d260b7e1ba..85cacd548cd5c 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsNumber4 = ~obj; >~obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber5 = ~obj1; >ResultIsNumber5 : number @@ -221,7 +221,7 @@ var ResultIsNumber13 = ~foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = ~A.foo(); >ResultIsNumber14 : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types index 16f44231b01eb..3d98fac57f6b1 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsNumber6 = ~foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber7 = ~A.foo(); >ResultIsNumber7 : number @@ -156,7 +156,7 @@ var ResultIsNumber8 = ~~BOOLEAN; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ~true, false; >~true, false : false diff --git a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types index cea5c0a8ddf28..3af2e3780531b 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = ~foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = ~A.foo(); >ResultIsNumber10 : number @@ -238,7 +238,7 @@ var ResultIsNumber13 = ~~~(NUMBER + NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ ~objA.a; >~objA.a : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types index 9c9c21087f12c..28ea9682b861e 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = ~foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = ~A.foo(); >ResultIsNumber10 : number @@ -198,11 +198,11 @@ var ResultIsNumber12 = ~STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -254,7 +254,7 @@ var ResultIsNumber14 = ~~~(STRING + STRING); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ~objA.a,M.n; >~objA.a,M.n : string diff --git a/tests/baselines/reference/bivariantInferences.types b/tests/baselines/reference/bivariantInferences.types index 95cfce01c1499..7706216479273 100644 --- a/tests/baselines/reference/bivariantInferences.types +++ b/tests/baselines/reference/bivariantInferences.types @@ -27,11 +27,11 @@ let x = a.equalsShallow(b); >a.equalsShallow(b) : boolean > : ^^^^^^^ >a.equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) -> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >a : (string | number)[] | null[] | undefined[] | {}[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) -> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >b : (string | number)[] | null[] | undefined[] | {}[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types index 412dcd2dca8af..8afcf7e9bab61 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types @@ -45,7 +45,7 @@ declare function use(n: number): void; >use(++i) : void > : ^^^^ >use : (n: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >++i : number > : ^^^^^^ >i : number diff --git a/tests/baselines/reference/blockScopedNamespaceDifferentFile.types b/tests/baselines/reference/blockScopedNamespaceDifferentFile.types index e660632c9e1fe..e5529ff6a51f7 100644 --- a/tests/baselines/reference/blockScopedNamespaceDifferentFile.types +++ b/tests/baselines/reference/blockScopedNamespaceDifferentFile.types @@ -15,7 +15,7 @@ namespace C { >A.AA.func() : number > : ^^^^^^ >A.AA.func : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A.AA : typeof A.AA > : ^^^^^^^^^^^ >A : typeof A @@ -23,7 +23,7 @@ namespace C { >AA : typeof A.AA > : ^^^^^^^^^^^ >func : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ static someConst = A.AA.foo; >someConst : string diff --git a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types index 0c60fc52d83ca..9c59ef6b7a3dd 100644 --- a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types +++ b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types @@ -347,11 +347,11 @@ function foo15() { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ @@ -359,11 +359,11 @@ function foo15() { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/bluebirdStaticThis.types b/tests/baselines/reference/bluebirdStaticThis.types index b018bcf1be248..d87609047df49 100644 --- a/tests/baselines/reference/bluebirdStaticThis.types +++ b/tests/baselines/reference/bluebirdStaticThis.types @@ -27,7 +27,7 @@ export declare class Promise implements Promise.Thenable { static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -43,7 +43,7 @@ export declare class Promise implements Promise.Thenable { static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -57,7 +57,7 @@ export declare class Promise implements Promise.Thenable { static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -73,7 +73,7 @@ export declare class Promise implements Promise.Thenable { static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -97,7 +97,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -105,7 +105,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -117,7 +117,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise, value: R): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -127,7 +127,7 @@ export declare class Promise implements Promise.Thenable { static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -137,7 +137,7 @@ export declare class Promise implements Promise.Thenable { static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -157,7 +157,7 @@ export declare class Promise implements Promise.Thenable { static cast(dit: typeof Promise, value: Promise.Thenable): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -169,7 +169,7 @@ export declare class Promise implements Promise.Thenable { static cast(dit: typeof Promise, value: R): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -207,7 +207,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -221,7 +221,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: R, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -233,7 +233,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -307,7 +307,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -321,7 +321,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -333,7 +333,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -345,7 +345,7 @@ export declare class Promise implements Promise.Thenable { static all(dit: typeof Promise, values: R[]): Promise; >all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -355,7 +355,7 @@ export declare class Promise implements Promise.Thenable { static props(dit: typeof Promise, object: Promise): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -365,7 +365,7 @@ export declare class Promise implements Promise.Thenable { static props(dit: typeof Promise, object: Object): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -375,7 +375,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_1[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -391,7 +391,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_1[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -405,7 +405,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_1[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -419,7 +419,7 @@ export declare class Promise implements Promise.Thenable { static settle(dit: typeof Promise, values: R[]): Promise[]>; >settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -431,7 +431,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -445,7 +445,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: Promise.Thenable): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -457,7 +457,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -469,7 +469,7 @@ export declare class Promise implements Promise.Thenable { static any(dit: typeof Promise, values: R[]): Promise; >any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -479,7 +479,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -493,7 +493,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: Promise.Thenable): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -505,7 +505,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -517,7 +517,7 @@ export declare class Promise implements Promise.Thenable { static race(dit: typeof Promise, values: R[]): Promise; >race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -527,7 +527,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_1[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -543,7 +543,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_1[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -557,7 +557,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_1[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -571,7 +571,7 @@ export declare class Promise implements Promise.Thenable { static some(dit: typeof Promise, values: R[], count: number): Promise; >some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -583,7 +583,7 @@ export declare class Promise implements Promise.Thenable { static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -595,7 +595,7 @@ export declare class Promise implements Promise.Thenable { static join(dit: typeof Promise, ...values: R[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -605,7 +605,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -629,7 +629,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -651,7 +651,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -673,7 +673,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -693,7 +693,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -715,7 +715,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -735,7 +735,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -755,7 +755,7 @@ export declare class Promise implements Promise.Thenable { static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; >map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -773,7 +773,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -801,7 +801,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -827,7 +827,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -853,7 +853,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -877,7 +877,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -903,7 +903,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -927,7 +927,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -951,7 +951,7 @@ export declare class Promise implements Promise.Thenable { static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; >reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -973,7 +973,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -997,7 +997,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1019,7 +1019,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1041,7 +1041,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1061,7 +1061,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1083,7 +1083,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1103,7 +1103,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1123,7 +1123,7 @@ export declare class Promise implements Promise.Thenable { static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; >filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1144,7 +1144,7 @@ export declare module Promise { export interface Thenable { then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_1, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_1, onRejected?: (error: any) => U_1): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => Thenable > : ^ ^^ ^^^^^ >value : R @@ -1156,7 +1156,7 @@ export declare module Promise { then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U_1, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_1, onRejected?: (error: any) => U_1): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => Thenable > : ^ ^^ ^^^^^ >value : R @@ -1168,7 +1168,7 @@ export declare module Promise { then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_1, onRejected?: (error: any) => U_1): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => U > : ^ ^^ ^^^^^ >value : R @@ -1180,7 +1180,7 @@ export declare module Promise { then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; >then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_1, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => U > : ^ ^^ ^^^^^ >value : R @@ -1226,11 +1226,11 @@ fooProm = Promise.try(Promise, () => { >Promise.try(Promise, () => { return foo;}) : Promise > : ^^^^^^^^^^^^ >Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo @@ -1249,11 +1249,11 @@ fooProm = Promise.try(Promise, () => { >Promise.try(Promise, () => { return foo;}, arr) : Promise > : ^^^^^^^^^^^^ >Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo @@ -1275,11 +1275,11 @@ fooProm = Promise.try(Promise, () => { >Promise.try(Promise, () => { return foo;}, arr, x) : Promise > : ^^^^^^^^^^^^ >Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo diff --git a/tests/baselines/reference/booleanFilterAnyArray.types b/tests/baselines/reference/booleanFilterAnyArray.types index 202bc77b158ea..3c9d16544b0a0 100644 --- a/tests/baselines/reference/booleanFilterAnyArray.types +++ b/tests/baselines/reference/booleanFilterAnyArray.types @@ -14,7 +14,7 @@ interface BulleanConstructor { interface Ari { filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; >filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb1 : (value: T) => value is S > : ^ ^^ ^^^^^ >value : T @@ -22,7 +22,7 @@ interface Ari { filter(cb2: (value: T) => unknown): Ari; >filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb2 : (value: T) => unknown > : ^ ^^ ^^^^^ >value : T @@ -45,12 +45,12 @@ var xs = anys.filter(Bullean) > : ^^^^^^^^ >anys.filter(Bullean) : Ari > : ^^^^^^^^ ->anys.filter : { (cb1: (value: any) => value is S): Ari; (cb2: (value: any) => unknown): Ari; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>anys.filter : { (cb1: (value: any) => value is S): any extends any ? Ari : Ari; (cb2: (value: any) => unknown): Ari; } +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ >anys : Ari > : ^^^^^^^^ ->filter : { (cb1: (value: any) => value is S): Ari; (cb2: (value: any) => unknown): Ari; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (cb1: (value: any) => value is S): any extends any ? Ari : Ari; (cb2: (value: any) => unknown): Ari; } +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ >Bullean : BulleanConstructor > : ^^^^^^^^^^^^^^^^^^ @@ -68,11 +68,11 @@ var ys = realanys.filter(Boolean) >realanys.filter(Boolean) : any[] > : ^^^^^ >realanys.filter : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^^ >realanys : any[] > : ^^^^^ >filter : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^^ >Boolean : BooleanConstructor > : ^^^^^^^^^^^^^^^^^^ @@ -96,15 +96,15 @@ var foor: Array<{name: string}> var foor = foo.filter(x => x.name) >foor : { name: string; }[] -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ >foo.filter(x => x.name) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >foo.filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >foo : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >x => x.name : (x: { name: string; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; } @@ -126,7 +126,7 @@ var foos = [true, true, false, null].filter((thing): thing is boolean => thing ! >[true, true, false, null].filter((thing): thing is boolean => thing !== null) : boolean[] > : ^^^^^^^^^ >[true, true, false, null].filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >[true, true, false, null] : boolean[] > : ^^^^^^^^^ >true : true @@ -136,7 +136,7 @@ var foos = [true, true, false, null].filter((thing): thing is boolean => thing ! >false : false > : ^^^^^ >filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >(thing): thing is boolean => thing !== null : (thing: boolean) => thing is boolean > : ^ ^^^^^^^^^^^^^^ >thing : boolean diff --git a/tests/baselines/reference/booleanLiteralTypes1.types b/tests/baselines/reference/booleanLiteralTypes1.types index 566aac3904040..bc640f5e0c44b 100644 --- a/tests/baselines/reference/booleanLiteralTypes1.types +++ b/tests/baselines/reference/booleanLiteralTypes1.types @@ -191,7 +191,7 @@ function f4(t: true, f: false) { declare function g(x: true): string; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : true > : ^^^^ >true : true @@ -199,7 +199,7 @@ declare function g(x: true): string; declare function g(x: false): boolean; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : false > : ^^^^^ >false : false @@ -207,7 +207,7 @@ declare function g(x: false): boolean; declare function g(x: boolean): number; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ @@ -223,7 +223,7 @@ function f5(b: boolean) { >g(true) : string > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ @@ -233,7 +233,7 @@ function f5(b: boolean) { >g(false) : boolean > : ^^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ @@ -243,7 +243,7 @@ function f5(b: boolean) { >g(b) : number > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ } @@ -321,7 +321,7 @@ function f11(x: true | false) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -420,7 +420,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -430,7 +430,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -456,7 +456,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -466,7 +466,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -474,7 +474,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/booleanLiteralTypes2.types b/tests/baselines/reference/booleanLiteralTypes2.types index e594f53f3a9f2..484597c1ebeda 100644 --- a/tests/baselines/reference/booleanLiteralTypes2.types +++ b/tests/baselines/reference/booleanLiteralTypes2.types @@ -191,7 +191,7 @@ function f4(t: true, f: false) { declare function g(x: true): string; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : true > : ^^^^ >true : true @@ -199,7 +199,7 @@ declare function g(x: true): string; declare function g(x: false): boolean; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : false > : ^^^^^ >false : false @@ -207,7 +207,7 @@ declare function g(x: false): boolean; declare function g(x: boolean): number; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ @@ -223,7 +223,7 @@ function f5(b: boolean) { >g(true) : string > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ @@ -233,7 +233,7 @@ function f5(b: boolean) { >g(false) : boolean > : ^^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ @@ -243,7 +243,7 @@ function f5(b: boolean) { >g(b) : number > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ } @@ -321,7 +321,7 @@ function f11(x: true | false) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -420,7 +420,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -430,7 +430,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -456,7 +456,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -466,7 +466,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -474,7 +474,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types index 801b9d7d31213..087cc757c2f27 100644 --- a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types +++ b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types @@ -29,11 +29,11 @@ const isIt = Math.random() > 0.5; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/booleanPropertyAccess.types b/tests/baselines/reference/booleanPropertyAccess.types index afee3563862b7..19b9e88caf013 100644 --- a/tests/baselines/reference/booleanPropertyAccess.types +++ b/tests/baselines/reference/booleanPropertyAccess.types @@ -13,11 +13,11 @@ var a = x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b = x['toString'](); >b : string @@ -25,7 +25,7 @@ var b = x['toString'](); >x['toString']() : string > : ^^^^^^ >x['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >'toString' : "toString" diff --git a/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types b/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types index 43f940649de61..9bd31ef4b3cda 100644 --- a/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types +++ b/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types @@ -55,7 +55,7 @@ const _ = require("./a"); >require("./a") : typeof _ > : ^^^^^^^^ >require : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"./a" : "./a" > : ^^^^^ diff --git a/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types b/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types index 43f940649de61..9bd31ef4b3cda 100644 --- a/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types +++ b/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types @@ -55,7 +55,7 @@ const _ = require("./a"); >require("./a") : typeof _ > : ^^^^^^^^ >require : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"./a" : "./a" > : ^^^^^ diff --git a/tests/baselines/reference/cachedContextualTypes.types b/tests/baselines/reference/cachedContextualTypes.types index 421602a4ab89c..20735415cb6e4 100644 --- a/tests/baselines/reference/cachedContextualTypes.types +++ b/tests/baselines/reference/cachedContextualTypes.types @@ -43,7 +43,7 @@ createInstance(MenuWorkbenchToolBar, { >createInstance(MenuWorkbenchToolBar, { toolbarOptions: { foo(bar) { return bar; } }}) : MenuWorkbenchToolBar > : ^^^^^^^^^^^^^^^^^^^^ >createInstance : any, R extends InstanceType>(ctor: Ctor, ...args: ConstructorParameters) => R -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >MenuWorkbenchToolBar : typeof MenuWorkbenchToolBar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ toolbarOptions: { foo(bar) { return bar; } }} : { toolbarOptions: { foo(bar: string): string; }; } diff --git a/tests/baselines/reference/callChain.2.types b/tests/baselines/reference/callChain.2.types index 842ea1fc25377..2243cf5521963 100644 --- a/tests/baselines/reference/callChain.2.types +++ b/tests/baselines/reference/callChain.2.types @@ -9,7 +9,7 @@ o1?.(); >o1?.() : number > : ^^^^^^ >o1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare const o2: undefined | { b: () => number }; >o2 : { b: () => number; } @@ -21,11 +21,11 @@ o2?.b(); >o2?.b() : number > : ^^^^^^ >o2?.b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o2 : { b: () => number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare const o3: { b: (() => { c: string }) | undefined }; >o3 : { b: (() => { c: string; }) | undefined; } @@ -39,13 +39,13 @@ o3.b?.().c; >o3.b?.().c : string > : ^^^^^^ >o3.b?.() : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o3.b : () => { c: string; } -> : ^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: () => { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>o3 : { b: (() => { c: string; }) | undefined; } +> : ^^^^^ ^^^ >b : () => { c: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >c : string > : ^^^^^^ diff --git a/tests/baselines/reference/callChain.3.types b/tests/baselines/reference/callChain.3.types index c68cc473dbcac..64314d5a7b23b 100644 --- a/tests/baselines/reference/callChain.3.types +++ b/tests/baselines/reference/callChain.3.types @@ -21,11 +21,11 @@ const n1: number = a?.m?.({x: 12 }); // should be an error (`undefined` is not a >a?.m?.({x: 12 }) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -39,11 +39,11 @@ const n2: number = a?.m?.({x: absorb()}); // likewise >a?.m?.({x: absorb()}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: absorb()} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -51,7 +51,7 @@ const n2: number = a?.m?.({x: absorb()}); // likewise >absorb() : number > : ^^^^^^ >absorb : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const n3: number | undefined = a?.m?.({x: 12}); // should be ok >n3 : number | undefined @@ -59,11 +59,11 @@ const n3: number | undefined = a?.m?.({x: 12}); // should be ok >a?.m?.({x: 12}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -77,11 +77,11 @@ const n4: number | undefined = a?.m?.({x: absorb()}); // likewise >a?.m?.({x: absorb()}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: absorb()} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -89,7 +89,7 @@ const n4: number | undefined = a?.m?.({x: absorb()}); // likewise >absorb() : number > : ^^^^^^ >absorb : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ // Also a test showing `!` vs `?` for good measure let t1 = a?.m?.({x: 12}); @@ -98,11 +98,11 @@ let t1 = a?.m?.({x: 12}); >a?.m?.({x: 12}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -118,15 +118,15 @@ t1 = a!.m!({x: 12}); >a!.m!({x: 12}) : number > : ^^^^^^ >a!.m! : (obj: { x: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a!.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a! : { m?(obj: { x: T; }): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/callChain.types b/tests/baselines/reference/callChain.types index 6401da00acb53..4014673ba5828 100644 --- a/tests/baselines/reference/callChain.types +++ b/tests/baselines/reference/callChain.types @@ -11,13 +11,13 @@ o1?.(); >o1?.() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o1?.(1); >o1?.(1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -25,7 +25,7 @@ o1?.(...[1, 2]); >o1?.(...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -39,7 +39,7 @@ o1?.(1, ...[2, 3], 4); >o1?.(1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -65,21 +65,21 @@ o2?.b(); >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o2?.b(1); >o2?.b(1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -87,11 +87,11 @@ o2?.b(...[1, 2]); >o2?.b(...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -105,11 +105,11 @@ o2?.b(1, ...[2, 3], 4); >o2?.b(1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -127,9 +127,9 @@ o2?.["b"](); >o2?.["b"]() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ @@ -137,9 +137,9 @@ o2?.["b"](1); >o2?.["b"](1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -149,9 +149,9 @@ o2?.["b"](...[1, 2]); >o2?.["b"](...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >...[1, 2] : number @@ -167,9 +167,9 @@ o2?.["b"](1, ...[2, 3], 4); >o2?.["b"](1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -199,13 +199,13 @@ o3.b?.().c; >o3.b?.().c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.() : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -213,13 +213,13 @@ o3.b?.(1).c; >o3.b?.(1).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >c : string | undefined @@ -229,13 +229,13 @@ o3.b?.(...[1, 2]).c; >o3.b?.(...[1, 2]).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(...[1, 2]) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -251,13 +251,13 @@ o3.b?.(1, ...[2, 3], 4).c; >o3.b?.(1, ...[2, 3], 4).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1, ...[2, 3], 4) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -277,13 +277,13 @@ o3.b?.()["c"]; >o3.b?.()["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.() : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -291,13 +291,13 @@ o3.b?.(1)["c"]; >o3.b?.(1)["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >"c" : "c" @@ -307,13 +307,13 @@ o3.b?.(...[1, 2])["c"]; >o3.b?.(...[1, 2])["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(...[1, 2]) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -329,13 +329,13 @@ o3.b?.(1, ...[2, 3], 4)["c"]; >o3.b?.(1, ...[2, 3], 4)["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1, ...[2, 3], 4) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -355,11 +355,11 @@ o3["b"]?.().c; >o3["b"]?.().c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.() : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -369,11 +369,11 @@ o3["b"]?.(1).c; >o3["b"]?.(1).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.(1) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -385,11 +385,11 @@ o3["b"]?.(...[1, 2]).c; >o3["b"]?.(...[1, 2]).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.(...[1, 2]) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >...[1, 2] : number @@ -407,11 +407,11 @@ o3["b"]?.(1, ...[2, 3], 4).c; >o3["b"]?.(1, ...[2, 3], 4).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.(1, ...[2, 3], 4) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -449,9 +449,9 @@ const v: number | undefined = o4?.(incr); >o4?.(incr) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o4 : ((f: (a: T) => T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >incr : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // GH#33744 declare const o5: () => undefined | (() => void); @@ -462,42 +462,42 @@ o5()?.(); >o5()?.() : void | undefined > : ^^^^^^^^^^^^^^^^ >o5() : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : () => (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : () => undefined | (() => void) +> : ^^^^^^^^^ // GH#36031 o2?.b()!.toString; >o2?.b()!.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >o2?.b()! : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ o2?.b()!.toString!; >o2?.b()!.toString! : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >o2?.b()!.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >o2?.b()! : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/callChainInference.types b/tests/baselines/reference/callChainInference.types index 1b6f9427399a7..9e7c94a123bce 100644 --- a/tests/baselines/reference/callChainInference.types +++ b/tests/baselines/reference/callChainInference.types @@ -33,11 +33,11 @@ if (value) { >value?.foo("a") : void > : ^^^^ >value?.foo : (this: T, arg: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >value : Y > : ^ >foo : (this: T, arg: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ } @@ -46,11 +46,11 @@ value?.foo("a"); >value?.foo("a") : void | undefined > : ^^^^^^^^^^^^^^^^ >value?.foo : ((this: T, arg: keyof T) => void) | undefined -> : ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : Y | undefined > : ^^^^^^^^^^^^^ >foo : ((this: T, arg: keyof T) => void) | undefined -> : ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/callConstructAssignment.types b/tests/baselines/reference/callConstructAssignment.types index 0ffff1b2029d2..f6c70e5598efa 100644 --- a/tests/baselines/reference/callConstructAssignment.types +++ b/tests/baselines/reference/callConstructAssignment.types @@ -11,17 +11,17 @@ var bar:{ new ( ):any; } foo = bar; // error >foo = bar : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bar : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ bar = foo; // error >bar = foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bar : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types index 0758eed8e4e9c..d142977e5f21c 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types @@ -18,7 +18,7 @@ var r1 = f(1, ''); >f(1, '') : number > : ^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -30,7 +30,7 @@ var r1b = f(1, ''); >f(1, '') : number > : ^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -52,7 +52,7 @@ var r2 = f2(1, ''); >f2(1, '') : number > : ^^^^^^ >f2 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -64,7 +64,7 @@ var r2b = f2(1, ''); >f2(1, '') : number > : ^^^^^^ >f2 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -84,7 +84,7 @@ var r3 = f3(1, ''); >f3(1, '') : number > : ^^^^^^ >f3 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -96,7 +96,7 @@ var r3b = f3(1, ''); >f3(1, '') : number > : ^^^^^^ >f3 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -123,7 +123,7 @@ var r4 = (new C()).f(1, ''); >(new C()).f(1, '') : number > : ^^^^^^ >(new C()).f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(new C()) : C > : ^ >new C() : C @@ -131,7 +131,7 @@ var r4 = (new C()).f(1, ''); >C : typeof C > : ^^^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -143,7 +143,7 @@ var r4b = (new C()).f(1, ''); >(new C()).f(1, '') : number > : ^^^^^^ >(new C()).f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(new C()) : C > : ^ >new C() : C @@ -151,7 +151,7 @@ var r4b = (new C()).f(1, ''); >C : typeof C > : ^^^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -176,11 +176,11 @@ var r5 = i.f(1, ''); >i.f(1, '') : number > : ^^^^^^ >i.f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -192,11 +192,11 @@ var r5b = i.f(1, ''); >i.f(1, '') : number > : ^^^^^^ >i.f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types index 10b6e3d74833c..0b5ad395d1eee 100644 --- a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types @@ -15,7 +15,7 @@ var r = f(1); >f(1) : 1 > : ^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -33,7 +33,7 @@ var r2 = f2(1); >f2(1) : 1 > : ^ >f2 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -49,7 +49,7 @@ var r3 = f3(1); >f3(1) : 1 > : ^ >f3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -72,7 +72,7 @@ var r4 = (new C()).f(1); >(new C()).f(1) : 1 > : ^ >(new C()).f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(new C()) : C > : ^ >new C() : C @@ -80,7 +80,7 @@ var r4 = (new C()).f(1); >C : typeof C > : ^^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -101,11 +101,11 @@ var r5 = i.f(1); >i.f(1) : 1 > : ^ >i.f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >i : I > : ^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types index 525810912f37f..b5bfc3d90ccee 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types @@ -50,7 +50,7 @@ var r3 = f3(1); >f3(1) : any > : ^^^ >f3 : (x: number) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -102,11 +102,11 @@ var r5 = i.f(1); >i.f(1) : any > : ^^^ >i.f : (x: number) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >i : I > : ^ >f : (x: number) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types b/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types index 13d27fa17c87b..18587d635d7c1 100644 --- a/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types +++ b/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types @@ -36,11 +36,11 @@ fn(m => m.toFixed()); >m.toFixed() : string > : ^^^^^^ >m.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ fn(m => m.toFixed()); >fn(m => m.toFixed()) : void @@ -54,11 +54,11 @@ fn(m => m.toFixed()); >m.toFixed() : string > : ^^^^^^ >m.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Ensure the following real-world example that relies on substitution still works type ExtractParameters = "parameters" extends keyof T @@ -106,7 +106,7 @@ function fn2(arg: Q2) { >useT(arg) : void > : ^^^^ >useT : (_arg: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : T & number > : ^^^^^^^^^^ } @@ -117,13 +117,13 @@ fn2(m => m(42)); >fn2 : (arg: Q2) => void > : ^ ^^ ^^ ^^^^^^^^^ >m => m(42) : (m: (n: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >m(42) : void > : ^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ @@ -133,13 +133,13 @@ fn2(m => m(42)); >fn2 : (arg: Q2) => void > : ^ ^^ ^^ ^^^^^^^^^ >m => m(42) : (m: (n: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >m(42) : void > : ^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ diff --git a/tests/baselines/reference/callOverload.types b/tests/baselines/reference/callOverload.types index 3527c8bf773eb..3cfc7e27afd1d 100644 --- a/tests/baselines/reference/callOverload.types +++ b/tests/baselines/reference/callOverload.types @@ -31,7 +31,7 @@ fn(1) // no error >fn(1) : void > : ^^^^ >fn : (x: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -39,7 +39,7 @@ fn(1, 2, 3, 4) >fn(1, 2, 3, 4) : void > : ^^^^ >fn : (x: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -53,7 +53,7 @@ takeTwo(1, 2, 3, 4) >takeTwo(1, 2, 3, 4) : void > : ^^^^ >takeTwo : (x: any, y: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -67,7 +67,7 @@ withRest('a', ...n); // no error >withRest('a', ...n) : void > : ^^^^ >withRest : (a: any, ...args: Array) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >...n : number @@ -79,13 +79,13 @@ withRest(); >withRest() : void > : ^^^^ >withRest : (a: any, ...args: Array) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ withRest(...n); >withRest(...n) : void > : ^^^^ >withRest : (a: any, ...args: Array) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >...n : number > : ^^^^^^ >n : number[] diff --git a/tests/baselines/reference/callOverloadViaElementAccessExpression.types b/tests/baselines/reference/callOverloadViaElementAccessExpression.types index fbd831abfdb51..a4faf9b674c0a 100644 --- a/tests/baselines/reference/callOverloadViaElementAccessExpression.types +++ b/tests/baselines/reference/callOverloadViaElementAccessExpression.types @@ -7,19 +7,19 @@ class C { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -41,7 +41,7 @@ var r: string = c['foo'](1); >c['foo'](1) : number > : ^^^^^^ >c['foo'] : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >'foo' : "foo" @@ -55,7 +55,7 @@ var r2: number = c['foo'](''); >c['foo']('') : string > : ^^^^^^ >c['foo'] : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >'foo' : "foo" diff --git a/tests/baselines/reference/callWithMissingVoid.types b/tests/baselines/reference/callWithMissingVoid.types index 30806bf4ca37f..a506760c192a2 100644 --- a/tests/baselines/reference/callWithMissingVoid.types +++ b/tests/baselines/reference/callWithMissingVoid.types @@ -128,13 +128,13 @@ new MyPromise(resolve => resolve()); // no error >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: void) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ new MyPromise(resolve => resolve()); // no error >new MyPromise(resolve => resolve()) : MyPromise @@ -142,13 +142,13 @@ new MyPromise(resolve => resolve()); // no error >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: number | void) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ new MyPromise(resolve => resolve()); // error, `any` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise @@ -156,13 +156,13 @@ new MyPromise(resolve => resolve()); // error, `any` arguments cannot be om >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ new MyPromise(resolve => resolve()); // error, `unknown` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise @@ -170,13 +170,13 @@ new MyPromise(resolve => resolve()); // error, `unknown` arguments cann >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: unknown) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ new MyPromise(resolve => resolve()); // error, `never` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise @@ -184,13 +184,13 @@ new MyPromise(resolve => resolve()); // error, `never` arguments cannot b >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: never) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: never) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: never) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ // Multiple parameters @@ -211,7 +211,7 @@ a(4, "hello"); // ok >a(4, "hello") : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -221,7 +221,7 @@ a(4, "hello", void 0); // ok >a(4, "hello", void 0) : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -235,7 +235,7 @@ a(4); // not ok >a(4) : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ @@ -257,7 +257,7 @@ b(4, "hello", void 0, 2); // ok >b(4, "hello", void 0, 2) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -273,7 +273,7 @@ b(4, "hello"); // not ok >b(4, "hello") : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -283,7 +283,7 @@ b(4, "hello", void 0); // not ok >b(4, "hello", void 0) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -297,7 +297,7 @@ b(4); // not ok >b(4) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ @@ -317,7 +317,7 @@ c(3, void 0, void 0); // ok >c(3, void 0, void 0) : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >void 0 : undefined @@ -333,7 +333,7 @@ c(3, void 0); // ok >c(3, void 0) : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >void 0 : undefined @@ -345,7 +345,7 @@ c(3); // ok >c(3) : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ @@ -353,7 +353,7 @@ c(); // ok >c() : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // Spread Parameters @@ -376,7 +376,7 @@ call((x: number, y: number) => x + y) // error >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -394,7 +394,7 @@ call((x: number, y: number) => x + y, 4, 2) // ok >call((x: number, y: number) => x + y, 4, 2) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -416,7 +416,7 @@ call((x: number, y: void) => x, 4, void 0) // ok >call((x: number, y: void) => x, 4, void 0) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: void) => x : (x: number, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -436,7 +436,7 @@ call((x: number, y: void) => x, 4) // ok >call((x: number, y: void) => x, 4) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: void) => x : (x: number, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -452,7 +452,7 @@ call((x: void, y: void) => 42) // ok >call((x: void, y: void) => 42) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: void, y: void) => 42 : (x: void, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : void @@ -466,7 +466,7 @@ call((x: number | void, y: number | void) => 42) // ok >call((x: number | void, y: number | void) => 42) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void @@ -480,7 +480,7 @@ call((x: number | void, y: number | void) => 42, 4) // ok >call((x: number | void, y: number | void) => 42, 4) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void @@ -496,7 +496,7 @@ call((x: number | void, y: number | void) => 42, 4, 2) // ok >call((x: number | void, y: number | void) => 42, 4, 2) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void diff --git a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types index 1e620e286b9b3..eb8b814528534 100644 --- a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types +++ b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types @@ -53,66 +53,66 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // new behavior: treat 'undefined', 'unknown', and 'any' as optional in non-strict mode f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ === tsfile.ts === // current behavior: treat trailing `void` as optional @@ -120,64 +120,64 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // no change in behavior f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types index 1e620e286b9b3..eb8b814528534 100644 --- a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types +++ b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types @@ -53,66 +53,66 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // new behavior: treat 'undefined', 'unknown', and 'any' as optional in non-strict mode f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ === tsfile.ts === // current behavior: treat trailing `void` as optional @@ -120,64 +120,64 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // no change in behavior f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index 43b1f87683b82..8aef499d6fd7e 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -86,11 +86,11 @@ obj.foo(1, 2, "abc"); >obj.foo(1, 2, "abc") : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -102,11 +102,11 @@ obj.foo(1, 2, ...a); >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -120,11 +120,11 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a, "abc") : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -140,15 +140,15 @@ obj.foo(1, 2, ...a).foo(1, 2, "abc"); >obj.foo(1, 2, ...a).foo(1, 2, "abc") : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -158,7 +158,7 @@ obj.foo(1, 2, ...a).foo(1, 2, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -170,15 +170,15 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a); >obj.foo(1, 2, ...a).foo(1, 2, ...a) : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -188,7 +188,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -202,15 +202,15 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc") : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -220,7 +220,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -236,13 +236,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, "abc") : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -254,13 +254,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -274,13 +274,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a, "abc") : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -296,19 +296,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, "abc") : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -318,7 +318,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -330,19 +330,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, ...a) : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -352,7 +352,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -366,19 +366,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, ...a, "abc") : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -388,7 +388,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -404,7 +404,7 @@ xa[1].foo(1, 2, "abc"); >xa[1].foo(1, 2, "abc") : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -412,7 +412,7 @@ xa[1].foo(1, 2, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -424,7 +424,7 @@ xa[1].foo(1, 2, ...a); >xa[1].foo(1, 2, ...a) : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -432,7 +432,7 @@ xa[1].foo(1, 2, ...a); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -446,7 +446,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo(1, 2, ...a, "abc") : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -454,7 +454,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -473,7 +473,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : Function > : ^^^^^^^^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -481,7 +481,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...[1, 2, "abc"] : string | number > : ^^^^^^^^^^^^^^^ >[1, 2, "abc"] : [number, number, string] diff --git a/tests/baselines/reference/callWithSpread2.types b/tests/baselines/reference/callWithSpread2.types index 205db13e539dd..46bc52ec63880 100644 --- a/tests/baselines/reference/callWithSpread2.types +++ b/tests/baselines/reference/callWithSpread2.types @@ -78,7 +78,7 @@ all(...ns) >all(...ns) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -88,7 +88,7 @@ weird(...ns) >weird(...ns) : void > : ^^^^ >weird : (a?: number | string, b?: number | string) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -98,7 +98,7 @@ weird(...mixed) >weird(...mixed) : void > : ^^^^ >weird : (a?: number | string, b?: number | string) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -108,7 +108,7 @@ weird(...tuple) >weird(...tuple) : void > : ^^^^ >weird : (a?: number | string, b?: number | string) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -118,7 +118,7 @@ prefix("a", ...ns) >prefix("a", ...ns) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"a" : "a" > : ^^^ >...ns : number @@ -130,7 +130,7 @@ rest("d", ...ns) >rest("d", ...ns) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >"d" : "d" > : ^^^ >...ns : number @@ -144,7 +144,7 @@ normal("g", ...ns) >normal("g", ...ns) : void > : ^^^^ >normal : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"g" : "g" > : ^^^ >...ns : number @@ -156,7 +156,7 @@ thunk(...ns) >thunk(...ns) : string > : ^^^^^^ >thunk : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -167,7 +167,7 @@ all(...mixed) >all(...mixed) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -177,7 +177,7 @@ all(...tuple) >all(...tuple) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -187,7 +187,7 @@ prefix("b", ...mixed) >prefix("b", ...mixed) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"b" : "b" > : ^^^ >...mixed : string | number @@ -199,7 +199,7 @@ prefix("c", ...tuple) >prefix("c", ...tuple) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"c" : "c" > : ^^^ >...tuple : string | number @@ -211,7 +211,7 @@ rest("e", ...mixed) >rest("e", ...mixed) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >"e" : "e" > : ^^^ >...mixed : string | number @@ -223,7 +223,7 @@ rest("f", ...tuple) >rest("f", ...tuple) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >"f" : "f" > : ^^^ >...tuple : string | number @@ -235,7 +235,7 @@ prefix(...ns) // required parameters are required >prefix(...ns) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -245,7 +245,7 @@ prefix(...mixed) >prefix(...mixed) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -255,7 +255,7 @@ prefix(...tuple) >prefix(...tuple) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -265,7 +265,7 @@ prefix2("g", ...ns); >prefix2("g", ...ns) : void > : ^^^^ >prefix2 : (s: string, n: number, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"g" : "g" > : ^^^ >...ns : number diff --git a/tests/baselines/reference/callWithSpread3.types b/tests/baselines/reference/callWithSpread3.types index 3e9c494427090..e5b6154edc0ad 100644 --- a/tests/baselines/reference/callWithSpread3.types +++ b/tests/baselines/reference/callWithSpread3.types @@ -72,7 +72,7 @@ fs2('a', ...s2); // error on ...s2 >fs2('a', ...s2) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >...s2 : string @@ -84,7 +84,7 @@ fs2('a', 'b', 'c', ...s2); // error on 'c' and ...s2 >fs2('a', 'b', 'c', ...s2) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -100,7 +100,7 @@ fs2('a', 'b', ...s2, 'c'); // error on ...s2 and 'c' >fs2('a', 'b', ...s2, 'c') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -116,7 +116,7 @@ fs2('a', 'b', 'c', ...s2, 'd'); // error on 'c', ...s2 and 'd' >fs2('a', 'b', 'c', ...s2, 'd') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -134,7 +134,7 @@ fs2(...s2, 'a'); // error on 'a' >fs2(...s2, 'a') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] @@ -146,7 +146,7 @@ fs2(...s3); // error on ...s3 >fs2(...s3) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...s3 : string > : ^^^^^^ >s3 : [string, string, string] @@ -156,7 +156,7 @@ fs2_(...s_); // error on ...s_ >fs2_(...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -166,7 +166,7 @@ fs2_(...s2n_); // error on ...s2n_ >fs2_(...s2n_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2n_ : string | number > : ^^^^^^^^^^^^^^^ >s2n_ : [string, string, ...number[]] @@ -176,7 +176,7 @@ fs2_(...s_, ...s_); // error on ...s_ >fs2_(...s_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -190,7 +190,7 @@ fs2_(...s_, ...s_, ...s_); // error on ...s_ >fs2_(...s_, ...s_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -209,7 +209,7 @@ fs2n_(...s2_); // error on ...s2_ >fs2n_(...s2_) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -220,7 +220,7 @@ fs2_(...s2_); >fs2_(...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -230,7 +230,7 @@ fs2_(...s2_, ...s_); >fs2_(...s2_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -244,7 +244,7 @@ fs2_(...s2_, ...s2_); >fs2_(...s2_, ...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -258,7 +258,7 @@ fs2_(...s_, ...s2_); >fs2_(...s_, ...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -272,7 +272,7 @@ fs2n_(...s2n_); >fs2n_(...s2n_) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2n_ : string | number > : ^^^^^^^^^^^^^^^ >s2n_ : [string, string, ...number[]] @@ -282,7 +282,7 @@ fs2n_(...s2); >fs2n_(...s2) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] @@ -293,7 +293,7 @@ fs5(...s2, "foo", ...s2); >fs5(...s2, "foo", ...s2) : void > : ^^^^ >fs5 : (a: string, b: string, c: string, d: string, e: string) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] diff --git a/tests/baselines/reference/callWithSpread4.types b/tests/baselines/reference/callWithSpread4.types index a03e4891f28bf..52a3a995a8d20 100644 --- a/tests/baselines/reference/callWithSpread4.types +++ b/tests/baselines/reference/callWithSpread4.types @@ -80,7 +80,7 @@ pli( >pli( reads, ...gun, tr, fun, ...gz, writes) : Promise > : ^^^^^^^^^^^^^ >pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ reads, >reads : R @@ -98,7 +98,7 @@ pli( fun, >fun : (inp: any) => AsyncGenerator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ...gz, >...gz : RW @@ -128,7 +128,7 @@ test(...anys) >test(...anys) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >test : (x: any, y: () => string) => string | undefined -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...anys : any > : ^^^ >anys : any[] @@ -138,7 +138,7 @@ pli(...[reads, writes, writes] as const) >pli(...[reads, writes, writes] as const) : Promise > : ^^^^^^^^^^^^^ >pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >...[reads, writes, writes] as const : R | W > : ^^^^^ >[reads, writes, writes] as const : readonly [R, W, W] diff --git a/tests/baselines/reference/callWithSpread5.types b/tests/baselines/reference/callWithSpread5.types index 62cfdfb91db87..85ef8ce296437 100644 --- a/tests/baselines/reference/callWithSpread5.types +++ b/tests/baselines/reference/callWithSpread5.types @@ -29,7 +29,7 @@ fn(...nnnu, x) >fn(...nnnu, x) : number > : ^^^^^^ >fn : (a: number, b: number, bb: number, ...c: number[]) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...nnnu : number > : ^^^^^^ >nnnu : [number, number, number?] @@ -41,7 +41,7 @@ fn(...nntnnnt, x) >fn(...nntnnnt, x) : number > : ^^^^^^ >fn : (a: number, b: number, bb: number, ...c: number[]) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...nntnnnt : number > : ^^^^^^ >nntnnnt : [number, number] | [number, number, number] diff --git a/tests/baselines/reference/callbackOnConstructor.types b/tests/baselines/reference/callbackOnConstructor.types index 5f29d608e1e61..70e112b4adfc9 100644 --- a/tests/baselines/reference/callbackOnConstructor.types +++ b/tests/baselines/reference/callbackOnConstructor.types @@ -22,8 +22,8 @@ export class Preferences { /** @type {ValueGetter_2} */ var ooscope2 = s => s.length > 0 ->ooscope2 : (name: string) => string | number | boolean -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ooscope2 : (name: string) => boolean | number | string | undefined +> : ^ ^^ ^^^^^ >s => s.length > 0 : (s: string) => string | number | boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/callbackTag1.types b/tests/baselines/reference/callbackTag1.types index 763c1b669b9f9..550979fc84d00 100644 --- a/tests/baselines/reference/callbackTag1.types +++ b/tests/baselines/reference/callbackTag1.types @@ -32,15 +32,15 @@ var noreturn = obj => void obj.title >noreturn : NoReturn > : ^^^^^^^^ >obj => void obj.title : (obj: { e: number; m: number; title: string; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ >obj : { e: number; m: number; title: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ >void obj.title : undefined > : ^^^^^^^^^ >obj.title : string > : ^^^^^^ >obj : { e: number; m: number; title: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ >title : string > : ^^^^^^ diff --git a/tests/baselines/reference/callbackTag4.types b/tests/baselines/reference/callbackTag4.types index e82a6296d66b5..95f1eb61a711b 100644 --- a/tests/baselines/reference/callbackTag4.types +++ b/tests/baselines/reference/callbackTag4.types @@ -14,7 +14,7 @@ const cb = function (a, b) { >cb : C > : ^ >function (a, b) { this return true} : (this: { a: string; b: number; }, a: string, b: number) => boolean -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >b : number @@ -22,7 +22,7 @@ const cb = function (a, b) { this >this : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ return true >true : true diff --git a/tests/baselines/reference/callbackTagNamespace.types b/tests/baselines/reference/callbackTagNamespace.types index 8195f7ed7a7c9..cde356b407a60 100644 --- a/tests/baselines/reference/callbackTagNamespace.types +++ b/tests/baselines/reference/callbackTagNamespace.types @@ -16,7 +16,7 @@ var x = 1; /** @type {NS.Nested.Inner} */ function f(space, peace) { >f : (space: any, peace: any) => string | number -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >space : any >peace : any diff --git a/tests/baselines/reference/callbacksDontShareTypes.types b/tests/baselines/reference/callbacksDontShareTypes.types index 5de05214ea68d..be80668f9e26b 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.types +++ b/tests/baselines/reference/callbacksDontShareTypes.types @@ -21,7 +21,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T) => U): Collection; >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^ >f : (x: T) => U @@ -31,7 +31,7 @@ interface Combinators { map(c: Collection, f: (x: T) => any): Collection; >map : { (c: Collection, f: (x: T_1) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^ >f : (x: T) => any @@ -58,11 +58,11 @@ var rf1 = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r1a = _.map(c2, (x) => { return x.toFixed() }); >r1a : Collection @@ -70,11 +70,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -84,11 +84,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors >r1b : Collection @@ -96,11 +96,11 @@ var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string @@ -112,11 +112,11 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -126,11 +126,11 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5b = _.map(c2, rf1); >r5b : Collection @@ -138,11 +138,11 @@ var r5b = _.map(c2, rf1); >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string diff --git a/tests/baselines/reference/callsOnComplexSignatures.types b/tests/baselines/reference/callsOnComplexSignatures.types index bc91088288232..a9a9805eb5554 100644 --- a/tests/baselines/reference/callsOnComplexSignatures.types +++ b/tests/baselines/reference/callsOnComplexSignatures.types @@ -53,11 +53,11 @@ function test1() { >t.getValue("bar") : string | number > : ^^^^^^^^^^^^^^^ >t.getValue : ((name: "foo" | "bar") => number) | ((name: "bar" | "baz") => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^ >t : Temp1 | Temp2 > : ^^^^^^^^^^^^^ >getValue : ((name: "foo" | "bar") => number) | ((name: "bar" | "baz") => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^ >"bar" : "bar" > : ^^^^^ } @@ -93,25 +93,25 @@ function test2() { >messages : Messages > : ^^^^^^^^ >{ foo: (options) => "Foo", bar: (options) => "Bar", } : { foo: (options: { [key: string]: any; b: number; }) => string; bar: (options: { [key: string]: any; a: string; }) => string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ foo: (options) => "Foo", >foo : (options: { [key: string]: any; b: number; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >(options) => "Foo" : (options: { [key: string]: any; b: number; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >options : { [key: string]: any; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"Foo" : "Foo" > : ^^^^^ bar: (options) => "Bar", >bar : (options: { [key: string]: any; a: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >(options) => "Bar" : (options: { [key: string]: any; a: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >options : { [key: string]: any; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"Bar" : "Bar" > : ^^^^^ @@ -129,7 +129,7 @@ function test2() { >messages[type]({ a: "A", b: 0 }) : string > : ^^^^^^ >messages[type] : ((options: { [key: string]: any; b: number; }) => string) | ((options: { [key: string]: any; a: string; }) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >messages : Messages > : ^^^^^^^^ >type : "foo" | "bar" @@ -156,11 +156,11 @@ function test3(items: string[] | number[]) { >items.forEach(item => console.log(item)) : void > : ^^^^ >items.forEach : ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void) -> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^ >items : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >forEach : ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void) -> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^ >item => console.log(item) : (item: string | number) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string | number @@ -168,11 +168,11 @@ function test3(items: string[] | number[]) { >console.log(item) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >item : string | number > : ^^^^^^^^^^^^^^^ } @@ -278,13 +278,13 @@ function test4( >arg1() : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ arg1({x: 0, y: 0}); >arg1({x: 0, y: 0}) : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -300,7 +300,7 @@ function test4( >arg1({x: 0, y: 0}, {x: 1, y: 1}) : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -326,7 +326,7 @@ function test4( >arg2({x: 0}, {x: 0}) : number > : ^^^^^^ >arg2 : ((a: { x: number; }, b: object) => number) | ((a: object, b: { x: number; }) => number) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -344,7 +344,7 @@ function test4( >arg3({x: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -356,7 +356,7 @@ function test4( >arg3({x: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -378,7 +378,7 @@ function test4( >arg3({x: 0}, {x: 0, y: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -410,13 +410,13 @@ function test4( >arg4() : number > : ^^^^^^ >arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ arg4({x: 0, y: 0}); >arg4({x: 0, y: 0}) : number > : ^^^^^^ >arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -432,7 +432,7 @@ function test4( >arg4({x: 0, y: 0}, {x: 0}) : number > : ^^^^^^ >arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -454,13 +454,13 @@ function test4( >arg5() : number > : ^^^^^^ >arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ arg5({x: 0, y: 0}); >arg5({x: 0, y: 0}) : number > : ^^^^^^ >arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -476,7 +476,7 @@ function test4( >arg5({x: 0, y: 0}, {x: 0}) : number > : ^^^^^^ >arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -498,13 +498,13 @@ function test4( >arg6() : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ arg6({x: 0, y: 0}); >arg6({x: 0, y: 0}) : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -520,7 +520,7 @@ function test4( >arg6({x: 0, y: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -546,7 +546,7 @@ function test4( >arg6({x: 0, y: 0}, {x: 0, y: 0}, {y: 0}) : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -628,8 +628,8 @@ function test5() { > : ^^^ >props.component : React.ReactType > : ^^^^^^^^^^^^^^^^^^^^ ->props : { component: React.ReactType; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>props : { component: React.ReactType; } +> : ^^^^^^^^^^^^^ ^^^ >component : React.ReactType > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types b/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types index 42beaeee15cf3..2137b7639ab6e 100644 --- a/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types +++ b/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types @@ -33,10 +33,10 @@ class B extends A { >super.blah() : string > : ^^^^^^ >super.blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/capturedLetConstInLoop1.types b/tests/baselines/reference/capturedLetConstInLoop1.types index 04d8d5b6e9dc9..4b55f9a291855 100644 --- a/tests/baselines/reference/capturedLetConstInLoop1.types +++ b/tests/baselines/reference/capturedLetConstInLoop1.types @@ -337,7 +337,7 @@ for (let y = (use(() => y), 0); y < 1; ++y) { > : ^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -365,7 +365,7 @@ for (let y = 0; use(() => y), y < 1; ++y) { > : ^^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -397,7 +397,7 @@ for (let y = 0; y < 1; use(() => y), ++y) { > : ^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -417,7 +417,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -428,7 +428,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -443,7 +443,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -456,7 +456,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { use(() => y); >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop13.types b/tests/baselines/reference/capturedLetConstInLoop13.types index 4674eb97f3e4a..96d3ac5599924 100644 --- a/tests/baselines/reference/capturedLetConstInLoop13.types +++ b/tests/baselines/reference/capturedLetConstInLoop13.types @@ -10,11 +10,11 @@ class Main { >this.register("a", "b", "c") : void > : ^^^^ >this.register : (...names: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ >register : (...names: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"a" : "a" > : ^^^ >"b" : "b" @@ -39,11 +39,11 @@ class Main { >this.bar({ [name + ".a"]: () => { this.foo(name); }, }) : void > : ^^^^ >this.bar : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >bar : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ [name + ".a"]: () => { this.foo(name); }, } : { [x: string]: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -61,11 +61,11 @@ class Main { >this.foo(name) : void > : ^^^^ >this.foo : (name: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >foo : (name: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ diff --git a/tests/baselines/reference/catchClauseWithTypeAnnotation.types b/tests/baselines/reference/catchClauseWithTypeAnnotation.types index e7f65ce4cd80d..3ed6f619fd53c 100644 --- a/tests/baselines/reference/catchClauseWithTypeAnnotation.types +++ b/tests/baselines/reference/catchClauseWithTypeAnnotation.types @@ -72,11 +72,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -86,11 +86,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -126,11 +126,11 @@ function fn(x: boolean) { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // @ts-ignore catch (e: number) { // e should not be a `number` @@ -141,11 +141,11 @@ function fn(x: boolean) { >console.log(e.toLowerCase()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >e.toLowerCase() : any > : ^^^ >e.toLowerCase : any @@ -205,11 +205,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ @@ -219,11 +219,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types index b5faf154c3cdd..41543c86b2fce 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types @@ -55,19 +55,19 @@ class C extends B { >(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then(b => new A) : Chain > : ^^^^^^^^ >(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B) : Chain > : ^^^^^^^^ >(new Chain(new A)).then(a => new B).then(b => new C).then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)).then(a => new B).then(b => new C) : Chain > : ^^^^^^^^ >(new Chain(new A)).then(a => new B).then : (cb: (x: B) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)).then(a => new B) : Chain > : ^^^^^^^^ >(new Chain(new A)).then : (cb: (x: A) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)) : Chain > : ^^^^^^^^ >new Chain(new A) : Chain @@ -79,7 +79,7 @@ class C extends B { >A : typeof A > : ^^^^^^^^ >then : (cb: (x: A) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >a => new B : (a: A) => B > : ^ ^^^^^^^^^ >a : A @@ -89,7 +89,7 @@ class C extends B { >B : typeof B > : ^^^^^^^^ >then : (cb: (x: B) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >b => new C : (b: B) => C > : ^ ^^^^^^^^^ >b : B @@ -99,7 +99,7 @@ class C extends B { >C : typeof C > : ^^^^^^^^ >then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >c => new B : (c: C) => B > : ^ ^^^^^^^^^ >c : C @@ -109,7 +109,7 @@ class C extends B { >B : typeof B > : ^^^^^^^^ >then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >b => new A : (b: C) => A > : ^ ^^^^^^^^^ >b : C diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types index 1d3f78c047161..b85a4c516c910 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types @@ -30,11 +30,11 @@ class Chain { >(new Chain(t)).then(tt => s).then(ss => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => s).then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(t)).then(tt => s) : Chain > : ^^^^^^^^ >(new Chain(t)).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)) : Chain > : ^^^^^^^^ >new Chain(t) : Chain @@ -44,7 +44,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => s : (tt: T) => S > : ^ ^^^^^^^^^ >tt : T @@ -52,7 +52,7 @@ class Chain { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => t : (ss: S) => T > : ^ ^^^^^^^^^ >ss : S @@ -65,7 +65,7 @@ class Chain { >(new Chain(s)).then(ss => t) : Chain > : ^^^^^^^^ >(new Chain(s)).then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)) : Chain > : ^^^^^^^^ >new Chain(s) : Chain @@ -75,7 +75,7 @@ class Chain { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => t : (ss: S) => T > : ^ ^^^^^^^^^ >ss : S @@ -88,15 +88,15 @@ class Chain { >(new Chain(t)).then(tt => t).then(tt => t).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => t).then(tt => t).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)).then(tt => t).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => t).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)) : Chain > : ^^^^^^^^ >new Chain(t) : Chain @@ -106,7 +106,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -114,7 +114,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -122,7 +122,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -134,15 +134,15 @@ class Chain { >(new Chain(s)).then(ss => s).then(ss => s).then(ss => s) : Chain > : ^^^^^^^^ >(new Chain(s)).then(ss => s).then(ss => s).then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)).then(ss => s).then(ss => s) : Chain > : ^^^^^^^^ >(new Chain(s)).then(ss => s).then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)).then(ss => s) : Chain > : ^^^^^^^^ >(new Chain(s)).then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)) : Chain > : ^^^^^^^^ >new Chain(s) : Chain @@ -152,7 +152,7 @@ class Chain { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S @@ -160,7 +160,7 @@ class Chain { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S @@ -168,7 +168,7 @@ class Chain { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S @@ -226,11 +226,11 @@ class Chain2 { >(new Chain2(i)).then(ii => t).then(tt => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain2(i)) : Chain2 > : ^^^^^^^^^ >new Chain2(i) : Chain2 @@ -240,7 +240,7 @@ class Chain2 { >i : I > : ^ >then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >ii => t : (ii: I) => T > : ^ ^^^^^^^^^ >ii : I @@ -248,7 +248,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => s : (tt: T) => S > : ^ ^^^^^^^^^ >tt : T @@ -274,19 +274,19 @@ class Chain2 { >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain2(i)) : Chain2 > : ^^^^^^^^^ >new Chain2(i) : Chain2 @@ -296,7 +296,7 @@ class Chain2 { >i : I > : ^ >then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >ii => t : (ii: I) => T > : ^ ^^^^^^^^^ >ii : I @@ -304,7 +304,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -312,7 +312,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -320,7 +320,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -344,19 +344,19 @@ class Chain2 { >(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s).then(ss => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s).then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => s).then(ss => s).then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain2(i)).then(ii => s).then(ss => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => s).then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain2(i)).then(ii => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain2(i)) : Chain2 > : ^^^^^^^^^ >new Chain2(i) : Chain2 @@ -366,7 +366,7 @@ class Chain2 { >i : I > : ^ >then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >ii => s : (ii: I) => S > : ^ ^^^^^^^^^ >ii : I @@ -374,7 +374,7 @@ class Chain2 { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S @@ -382,7 +382,7 @@ class Chain2 { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S @@ -390,7 +390,7 @@ class Chain2 { >s : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S diff --git a/tests/baselines/reference/chainedPrototypeAssignment.types b/tests/baselines/reference/chainedPrototypeAssignment.types index 68edc5ea166cd..83b0ad49f6e8d 100644 --- a/tests/baselines/reference/chainedPrototypeAssignment.types +++ b/tests/baselines/reference/chainedPrototypeAssignment.types @@ -8,7 +8,7 @@ var mod = require('./mod'); >require('./mod') : typeof mod > : ^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod' : "./mod" > : ^^^^^^^ diff --git a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types index 13ff0e5414e06..44710e9cd9c45 100644 --- a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types +++ b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types @@ -49,11 +49,11 @@ var s2 = s.groupBy(s => s.length); >s.groupBy(s => s.length) : Sequence<{ key: number; items: string[]; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s.groupBy : (keySelector: (value: string) => K) => Sequence<{ key: K; items: string[]; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^ >s : Sequence > : ^^^^^^^^^^^^^^^^ >groupBy : (keySelector: (value: string) => K) => Sequence<{ key: K; items: string[]; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -71,11 +71,11 @@ var s3 = s2.each(x => { x.key /* Type is K, should be number */ }); >s2.each(x => { x.key /* Type is K, should be number */ }) : void > : ^^^^ >s2.each : (iterator: (value: { key: number; items: string[]; }) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2 : Sequence<{ key: number; items: string[]; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >each : (iterator: (value: { key: number; items: string[]; }) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >x => { x.key /* Type is K, should be number */ } : (x: { key: number; items: string[]; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { key: number; items: string[]; } diff --git a/tests/baselines/reference/checkExportsObjectAssignProperty.types b/tests/baselines/reference/checkExportsObjectAssignProperty.types index c925e2a35e5ab..36a76a895f16d 100644 --- a/tests/baselines/reference/checkExportsObjectAssignProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignProperty.types @@ -292,11 +292,11 @@ Object.defineProperty(exports, "thing", { value: 42, writable: true }); >Object.defineProperty(exports, "thing", { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"thing" : "thing" @@ -316,11 +316,11 @@ Object.defineProperty(exports, "readonlyProp", { value: "Smith", writable: false >Object.defineProperty(exports, "readonlyProp", { value: "Smith", writable: false }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"readonlyProp" : "readonlyProp" @@ -340,11 +340,11 @@ Object.defineProperty(exports, "rwAccessors", { get() { return 98122 }, set(_) { >Object.defineProperty(exports, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"rwAccessors" : "rwAccessors" @@ -364,11 +364,11 @@ Object.defineProperty(exports, "readonlyAccessor", { get() { return 21.75 } }); >Object.defineProperty(exports, "readonlyAccessor", { get() { return 21.75 } }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"readonlyAccessor" : "readonlyAccessor" @@ -384,11 +384,11 @@ Object.defineProperty(exports, "setonlyAccessor", { >Object.defineProperty(exports, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"setonlyAccessor" : "setonlyAccessor" @@ -426,11 +426,11 @@ Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) >Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -454,11 +454,11 @@ Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable >Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable: false }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -482,11 +482,11 @@ Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, s >Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -510,11 +510,11 @@ Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 >Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 } }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -534,11 +534,11 @@ Object.defineProperty(module.exports, "setonlyAccessor", { >Object.defineProperty(module.exports, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types index 211994a25b7c6..fa8d497923586 100644 --- a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types @@ -212,11 +212,11 @@ Object.defineProperty(Person.prototype, "thing", { value: 42, writable: true }); >Object.defineProperty(Person.prototype, "thing", { value: 42, writable: true }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -240,11 +240,11 @@ Object.defineProperty(Person.prototype, "readonlyProp", { value: "Smith", writab >Object.defineProperty(Person.prototype, "readonlyProp", { value: "Smith", writable: false }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -268,11 +268,11 @@ Object.defineProperty(Person.prototype, "rwAccessors", { get() { return 98122 }, >Object.defineProperty(Person.prototype, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -296,11 +296,11 @@ Object.defineProperty(Person.prototype, "readonlyAccessor", { get() { return 21. >Object.defineProperty(Person.prototype, "readonlyAccessor", { get() { return 21.75 } }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -320,11 +320,11 @@ Object.defineProperty(Person.prototype, "setonlyAccessor", { >Object.defineProperty(Person.prototype, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination2.types b/tests/baselines/reference/checkInfiniteExpansionTermination2.types index 4f3d396b8fa21..93bd45bdda870 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination2.types +++ b/tests/baselines/reference/checkInfiniteExpansionTermination2.types @@ -13,13 +13,13 @@ interface ISubject extends IObservable { } declare function combineLatest(x: IObservable[]): void; >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ >x : IObservable[] > : ^^^^^^^^^^^^^^^^^^^^^ declare function combineLatest(): void; >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ function fn() { >fn : () => void @@ -36,7 +36,7 @@ function fn() { >combineLatest(values) : void > : ^^^^ >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ >values : ISubject[] > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types b/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types index 197746e70694d..2620f9a3459e3 100644 --- a/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types +++ b/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types @@ -9,11 +9,11 @@ let n = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let s = `${n}`; >s : string @@ -39,7 +39,7 @@ numericIndex[n].toFixed(); >numericIndex[n].toFixed() : string > : ^^^^^^ >numericIndex[n].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >numericIndex[n] : number > : ^^^^^^ >numericIndex : { [x: number]: number; } @@ -47,7 +47,7 @@ numericIndex[n].toFixed(); >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ const stringIndex = { [s]: 1 }; >stringIndex : { [x: string]: number; } @@ -65,7 +65,7 @@ stringIndex[s].toFixed(); >stringIndex[s].toFixed() : string > : ^^^^^^ >stringIndex[s].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >stringIndex[s] : number > : ^^^^^^ >stringIndex : { [x: string]: number; } @@ -73,6 +73,6 @@ stringIndex[s].toFixed(); >s : string > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types index 642d1723cc21c..9d28bf626388c 100644 --- a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types +++ b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types @@ -31,11 +31,11 @@ module.exports = /** @type {FooFun} */(void 0); >module.exports = /** @type {FooFun} */(void 0) : (foo: Foo) => string > : ^ ^^ ^^^^^ >module.exports : (foo: Foo) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >module : { exports: (foo: Foo) => string; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >exports : (foo: Foo) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(void 0) : FooFun > : ^^^^^^ >void 0 : undefined diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag1.types b/tests/baselines/reference/checkJsdocSatisfiesTag1.types index b0dfaf01ec9f3..93b3d1df2781c 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag1.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag1.types @@ -72,9 +72,9 @@ const t4 = /** @satisfies {T2} */ ({ a: "a" }); /** @type {(m: string) => string} */ const t5 = /** @satisfies {T3} */((m) => m.substring(0)); >t5 : (m: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >((m) => m.substring(0)) : (m: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(m) => m.substring(0) : (m: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >m : string @@ -82,11 +82,11 @@ const t5 = /** @satisfies {T3} */((m) => m.substring(0)); >m.substring(0) : string > : ^^^^^^ >m.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >m : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag10.types b/tests/baselines/reference/checkJsdocSatisfiesTag10.types index e7b3eff74ebda..21f87c3675974 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag10.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag10.types @@ -38,7 +38,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -46,7 +46,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -54,7 +54,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -62,7 +62,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag13.types b/tests/baselines/reference/checkJsdocSatisfiesTag13.types index 381351836bdd0..f2a6389e7b181 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag13.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag13.types @@ -16,11 +16,11 @@ const t1 = { f: s => s.toLowerCase() }; // should work >s.toLowerCase() : string > : ^^^^^^ >s.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /** @satisfies {{ f: (x: string) => string }} */ const t2 = { g: "oops" }; // should error diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag3.types b/tests/baselines/reference/checkJsdocSatisfiesTag3.types index 796a722a7e658..73b094927a096 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag3.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag3.types @@ -4,9 +4,9 @@ /** @type {{ f(s: string): void } & Record }} */ let obj = /** @satisfies {{ g(s: string): void } & Record} */ ({ >obj : { f(s: string): void; } & Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ f(s) { }, // "incorrect" implicit any on 's' g(s) { }}) : { f(s: string): void; } & Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ f(s) { }, // "incorrect" implicit any on 's' g(s) { }} : { f(s: any): void; g(s: string): void; } > : ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag6.types b/tests/baselines/reference/checkJsdocSatisfiesTag6.types index cc4a44df75c6d..65d63e0795bc1 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag6.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag6.types @@ -25,15 +25,15 @@ console.log(a.x.toFixed()); >console.log(a.x.toFixed()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.x.toFixed() : string > : ^^^^^^ >a.x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.x : number > : ^^^^^^ >a : { x: number; } @@ -41,7 +41,7 @@ console.log(a.x.toFixed()); >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Should error let p = a.y; diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag7.types b/tests/baselines/reference/checkJsdocSatisfiesTag7.types index 1c55f2bd0210c..ea9bae04965cc 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag7.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag7.types @@ -38,7 +38,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -46,7 +46,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -54,7 +54,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -62,7 +62,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag1.types b/tests/baselines/reference/checkJsdocTypeTag1.types index 6c6dbd88ab2a2..78b5455e241b1 100644 --- a/tests/baselines/reference/checkJsdocTypeTag1.types +++ b/tests/baselines/reference/checkJsdocTypeTag1.types @@ -118,9 +118,9 @@ x1(0); /** @type {function (number): number} */ const x2 = (a) => a + 1; >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a + 1 : (a: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a + 1 : number @@ -134,7 +134,7 @@ x2(0); >x2(0) : number > : ^^^^^^ >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag2.types b/tests/baselines/reference/checkJsdocTypeTag2.types index dc1db92de2345..3d89f42719c9b 100644 --- a/tests/baselines/reference/checkJsdocTypeTag2.types +++ b/tests/baselines/reference/checkJsdocTypeTag2.types @@ -42,9 +42,9 @@ x1("string"); /** @type {function (number): number} */ const x2 = (a) => a + 1; >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a + 1 : (a: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a + 1 : number @@ -67,16 +67,16 @@ a = x2(0); >x2(0) : number > : ^^^^^^ >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ /** @type {function (number): number} */ const x3 = (a) => a.concat("hi"); >x3 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a.concat("hi") : (a: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a.concat("hi") : any @@ -94,16 +94,16 @@ x3(0); >x3(0) : number > : ^^^^^^ >x3 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ /** @type {function (number): string} */ const x4 = (a) => a + 1; >x4 : (arg0: number) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a + 1 : (a: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a + 1 : number @@ -117,7 +117,7 @@ x4(0); >x4(0) : string > : ^^^^^^ >x4 : (arg0: number) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag5.types b/tests/baselines/reference/checkJsdocTypeTag5.types index b94681f7d2d4f..e7500bc7c59a0 100644 --- a/tests/baselines/reference/checkJsdocTypeTag5.types +++ b/tests/baselines/reference/checkJsdocTypeTag5.types @@ -14,9 +14,9 @@ function h(x) { return x } /** @type {(x: number) => string} */ var f = x => x >f : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x => x : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -25,9 +25,9 @@ var f = x => x /** @type {(x: number) => string} */ var g = function (x) { return x } >g : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x) { return x } : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -45,9 +45,9 @@ function i(x) { return x } /** @type {{ (x: number): string }} */ var j = x => x >j : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x => x : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -56,9 +56,9 @@ var j = x => x /** @type {{ (x: number): string }} */ var k = function (x) { return x } >k : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x) { return x } : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -85,7 +85,7 @@ var zeroonetwo = blargle('hi') >blargle('hi') : 0 | 1 | 2 > : ^^^^^^^^^ >blargle : (x: "hi" | "bye") => 0 | 1 | 2 -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/checkJsdocTypeTag6.types b/tests/baselines/reference/checkJsdocTypeTag6.types index 832de3b8b0a28..b58de50263fad 100644 --- a/tests/baselines/reference/checkJsdocTypeTag6.types +++ b/tests/baselines/reference/checkJsdocTypeTag6.types @@ -14,7 +14,7 @@ function f() { /** @type {{ prop: string }} */ var g = function (prop) { >g : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >function (prop) {} : (prop: any) => void > : ^ ^^^^^^^^^^^^^^ >prop : any @@ -80,18 +80,18 @@ function funcWithMoreParameters(more) {} // error /** @type {() => void} */ const variableWithMoreParameters = function (more) {}; // error >variableWithMoreParameters : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function (more) {} : (more: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >more : any > : ^^^ /** @type {() => void} */ const arrowWithMoreParameters = (more) => {}; // error >arrowWithMoreParameters : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(more) => {} : (more: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >more : any > : ^^^ diff --git a/tests/baselines/reference/checkJsdocTypeTag7.types b/tests/baselines/reference/checkJsdocTypeTag7.types index e56d1eea0b1cf..8a67a8eebcee4 100644 --- a/tests/baselines/reference/checkJsdocTypeTag7.types +++ b/tests/baselines/reference/checkJsdocTypeTag7.types @@ -12,7 +12,7 @@ class C { /** @type {Foo} */ foo(a, b) {} >foo : (a: string, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : number diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types index 9164e5b2d66e2..216528a3812e0 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types @@ -10,9 +10,9 @@ var lol = "hello Lol" const obj = { >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >{ /** @type {string|undefined} */ foo: undefined, /** @type {string|undefined} */ bar: "42", /** @type {function(number): number} */ method1(n1) { return n1 + 42; }, /** @type {string} */ lol, /** @type {number} */ ['b' + 'ar1']: 42, /** @type {function(number): number} */ arrowFunc: (num) => num + 42} : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ /** @type {string|undefined} */ foo: undefined, @@ -83,7 +83,7 @@ obj.foo = 'string' >obj.foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'string' : "string" @@ -93,7 +93,7 @@ obj.lol >obj.lol : string > : ^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >lol : string > : ^^^^^^ @@ -103,7 +103,7 @@ obj.bar = undefined; >obj.bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -115,11 +115,11 @@ var k = obj.method1(0); >obj.method1(0) : number > : ^^^^^^ >obj.method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ @@ -127,11 +127,11 @@ obj.bar1 = "42"; >obj.bar1 = "42" : "42" > : ^^^^ >obj.bar1 : string | number | ((arg0: number) => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >bar1 : string | number | ((arg0: number) => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ >"42" : "42" > : ^^^^ @@ -139,11 +139,11 @@ obj.arrowFunc(0); >obj.arrowFunc(0) : number > : ^^^^^^ >obj.arrowFunc : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >arrowFunc : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types index 59f7521db0db5..90ebe6d883112 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types @@ -8,9 +8,9 @@ var lol; const obj = { >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ >{ /** @type {string|undefined} */ bar: 42, /** @type {function(number): number} */ method1(n1) { return "42"; }, /** @type {function(number): number} */ method2: (n1) => "lol", /** @type {function(number): number} */ arrowFunc: (num="0") => num + 42, /** @type {string} */ lol} : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ /** @type {string|undefined} */ bar: 42, @@ -79,11 +79,11 @@ var s = obj.method1(0); >obj.method1(0) : number > : ^^^^^^ >obj.method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ >method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ @@ -94,11 +94,11 @@ var s1 = obj.method2("0"); >obj.method2("0") : number > : ^^^^^^ >obj.method2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ >method2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >"0" : "0" > : ^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty13.types b/tests/baselines/reference/checkJsxChildrenProperty13.types index 7d022fa9daed9..5a28219181e49 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty13.types +++ b/tests/baselines/reference/checkJsxChildrenProperty13.types @@ -41,12 +41,12 @@ class Button extends React.Component { > : ^^^^^^^^^^^ >InnerButton : typeof InnerButton > : ^^^^^^^^^^^^^^^^^^ ->this.props : ButtonProp & { children?: React.ReactNode | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.props : ButtonProp & { children?: React.ReactNode; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->props : ButtonProp & { children?: React.ReactNode | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>props : ButtonProp & { children?: React.ReactNode; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >children : string > : ^^^^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty16.types b/tests/baselines/reference/checkJsxChildrenProperty16.types index 6a52ecd13f6ef..134b19f773318 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty16.types +++ b/tests/baselines/reference/checkJsxChildrenProperty16.types @@ -70,19 +70,19 @@ export const Test = () => { >{(value) => {}} : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(value) => {} : (value: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >value : string > : ^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ {(value) => {}} >{(value) => {}} : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >renderNumber : true > : ^^^^ >(value) => {} : (value: number) => void @@ -90,13 +90,13 @@ export const Test = () => { >value : number > : ^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ {}} /> > {}} /> : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >children : (value: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >(value) => {} : (value: string) => void @@ -108,7 +108,7 @@ export const Test = () => { > {}} /> : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >renderNumber : true > : ^^^^ >children : (value: number) => void diff --git a/tests/baselines/reference/checkJsxChildrenProperty3.types b/tests/baselines/reference/checkJsxChildrenProperty3.types index 7bd8322ff2e28..687c31920d34c 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty3.types +++ b/tests/baselines/reference/checkJsxChildrenProperty3.types @@ -48,7 +48,7 @@ class FetchUser extends React.Component { >this.props.children(this.state.result) : JSX.Element > : ^^^^^^^^^^^ >this.props.children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -56,7 +56,7 @@ class FetchUser extends React.Component { >props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.state.result : any >this.state : any > : ^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty4.types b/tests/baselines/reference/checkJsxChildrenProperty4.types index 089b886e13272..d08a39c798765 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty4.types +++ b/tests/baselines/reference/checkJsxChildrenProperty4.types @@ -49,7 +49,7 @@ class FetchUser extends React.Component { >this.props.children(this.state.result) : JSX.Element > : ^^^^^^^^^^^ >this.props.children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -57,7 +57,7 @@ class FetchUser extends React.Component { >props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.state.result : any > : ^^^ >this.state : any diff --git a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types index bf1c356ea4f32..a071dc3a3c129 100644 --- a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types +++ b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types @@ -65,20 +65,20 @@ const loader = : ^^^^^^^^^^^^^^^^^^ prop1={load} ->prop1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>prop1 : () => Promise<{ success: true; } | ErrorResult> +> : ^^^^^^ +>load : () => Promise<{ success: true; } | ErrorResult> +> : ^^^^^^ prop2={result => result} >prop2 : (result: { success: true; }) => { success: true; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >result => result : (result: { success: true; }) => { success: true; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ />; diff --git a/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types b/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types index bdc000228c32c..82d01bf4f8e67 100644 --- a/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types +++ b/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types @@ -101,11 +101,11 @@ export function HereIsTheError() { >console.log(val) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -144,11 +144,11 @@ ComponentWithUnion({ >console.log(val) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val : string | undefined > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkObjectDefineProperty.types b/tests/baselines/reference/checkObjectDefineProperty.types index 66dd5b468c791..aa7af57c042a1 100644 --- a/tests/baselines/reference/checkObjectDefineProperty.types +++ b/tests/baselines/reference/checkObjectDefineProperty.types @@ -149,11 +149,11 @@ Object.defineProperty(x, "name", { value: "Charles", writable: true }); >Object.defineProperty(x, "name", { value: "Charles", writable: true }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"name" : "name" @@ -173,11 +173,11 @@ Object.defineProperty(x, "middleInit", { value: "H" }); >Object.defineProperty(x, "middleInit", { value: "H" }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"middleInit" : "middleInit" @@ -193,11 +193,11 @@ Object.defineProperty(x, "lastName", { value: "Smith", writable: false }); >Object.defineProperty(x, "lastName", { value: "Smith", writable: false }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"lastName" : "lastName" @@ -217,11 +217,11 @@ Object.defineProperty(x, "zip", { get() { return 98122 }, set(_) { /*ignore*/ } >Object.defineProperty(x, "zip", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"zip" : "zip" @@ -241,11 +241,11 @@ Object.defineProperty(x, "houseNumber", { get() { return 21.75 } }); >Object.defineProperty(x, "houseNumber", { get() { return 21.75 } }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"houseNumber" : "houseNumber" @@ -261,11 +261,11 @@ Object.defineProperty(x, "zipStr", { >Object.defineProperty(x, "zipStr", { /** @param {string} str */ set(str) { this.zip = Number(str) }}) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"zipStr" : "zipStr" @@ -305,11 +305,11 @@ function takeName(named) { return named.name; } >takeName : (named: { name: string; }) => string > : ^ ^^ ^^^^^^^^^^^ >named : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >named.name : string > : ^^^^^^ >named : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >name : string > : ^^^^^^ @@ -396,15 +396,15 @@ match(() => expected, (x = expected) => void 0); >match : (a: typeof returnExemplar, b: typeof needsExemplar) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >() => expected : () => { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >expected : { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >(x = expected) => void 0 : (x?: typeof x | undefined) => undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : typeof x | undefined > : ^^^^^^^^^^^^^^^^^^^^ >expected : { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >void 0 : undefined > : ^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/checkOtherObjectAssignProperty.types b/tests/baselines/reference/checkOtherObjectAssignProperty.types index a991fd2e123a4..4e818ff29d8df 100644 --- a/tests/baselines/reference/checkOtherObjectAssignProperty.types +++ b/tests/baselines/reference/checkOtherObjectAssignProperty.types @@ -151,11 +151,11 @@ Object.defineProperty(exports, "thing", obj); >Object.defineProperty(exports, "thing", obj) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"thing" : "thing" @@ -178,11 +178,11 @@ Object.defineProperty(exports, str, { value: 42, writable: true }); >Object.defineProperty(exports, str, { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >str : string @@ -208,11 +208,11 @@ Object.defineProperty(exports, propName, { value: 42, writable: true }); >Object.defineProperty(exports, propName, { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >propName : "prop" @@ -233,11 +233,11 @@ Object.defineProperty(exports, "bad1", { }); >Object.defineProperty(exports, "bad1", { }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"bad1" : "bad1" @@ -249,11 +249,11 @@ Object.defineProperty(exports, "bad2", { get() { return 12 }, value: "no" }); >Object.defineProperty(exports, "bad2", { get() { return 12 }, value: "no" }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"bad2" : "bad2" @@ -273,11 +273,11 @@ Object.defineProperty(exports, "bad3", { writable: true }); >Object.defineProperty(exports, "bad3", { writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"bad3" : "bad3" diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccess.types b/tests/baselines/reference/checkSuperCallBeforeThisAccess.types index 75470b6282d91..4894e991c671f 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccess.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccess.types @@ -356,11 +356,11 @@ export class BarCorrectlyFails extends Foo { >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(value); >super(value) : void @@ -416,11 +416,11 @@ export class BarIncorrectlyWorks extends Foo { >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(value); >super(value) : void diff --git a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types index d12eed18945c4..600a5e492e9c2 100644 --- a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types +++ b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types @@ -20,11 +20,11 @@ class A { >x.forEach((v) => { switch(v) { case "test": use(this); } }) : void > : ^^^^ >x.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >x : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(v) => { switch(v) { case "test": use(this); } } : (v: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >v : string @@ -40,7 +40,7 @@ class A { >use(this) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/circularConstraintYieldsAppropriateError.types b/tests/baselines/reference/circularConstraintYieldsAppropriateError.types index 2ca587a4a5a03..7efc330fd15a3 100644 --- a/tests/baselines/reference/circularConstraintYieldsAppropriateError.types +++ b/tests/baselines/reference/circularConstraintYieldsAppropriateError.types @@ -28,7 +28,7 @@ class Foo extends NextType { >Foo : Foo > : ^^^ >NextType : NextType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ someProp: { >someProp : { test: true; } @@ -54,11 +54,11 @@ foo.bar.test >foo.bar.test : true > : ^^^^ >foo.bar : { test: true; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >foo : Foo > : ^^^ >bar : { test: true; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >test : true > : ^^^^ diff --git a/tests/baselines/reference/circularContextualMappedType.types b/tests/baselines/reference/circularContextualMappedType.types index 6e3cf8cdb2d78..6fff8e2366a4b 100644 --- a/tests/baselines/reference/circularContextualMappedType.types +++ b/tests/baselines/reference/circularContextualMappedType.types @@ -11,13 +11,13 @@ type Mapped = { [K in keyof T]: Func }; declare function reproduce(options: number): void; >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >options : number > : ^^^^^^ declare function reproduce(options: Mapped): T >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >options : Mapped > : ^^^^^^^^^ @@ -25,7 +25,7 @@ reproduce({ >reproduce({ name: () => { return 123 }}) : { name: number; } > : ^^^^^^^^^^^^^^^^^ >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ name: () => { return 123 }} : { name: () => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -43,7 +43,7 @@ reproduce({ >reproduce({ name() { return 123 }}) : { name: number; } > : ^^^^^^^^^^^^^^^^^ >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ name() { return 123 }} : { name(): number; } > : ^^^^^^^^^^^^^^^^^^^ @@ -59,7 +59,7 @@ reproduce({ >reproduce({ name: function () { return 123 }}) : { name: number; } > : ^^^^^^^^^^^^^^^^^ >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ name: function () { return 123 }} : { name: () => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/circularContextualReturnType.types b/tests/baselines/reference/circularContextualReturnType.types index cfe94e8e7de77..e7e83538cd5a0 100644 --- a/tests/baselines/reference/circularContextualReturnType.types +++ b/tests/baselines/reference/circularContextualReturnType.types @@ -7,11 +7,11 @@ Object.freeze({ >Object.freeze({ foo() { return Object.freeze('a'); },}) : Readonly<{ foo(): string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ foo() { return Object.freeze('a'); },} : { foo(): string; } > : ^^^^^^^^^^^^^^^^^^ @@ -23,11 +23,11 @@ Object.freeze({ >Object.freeze('a') : string > : ^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'a' : "a" > : ^^^ diff --git a/tests/baselines/reference/circularImportAlias.types b/tests/baselines/reference/circularImportAlias.types index ad84f1e9c29f5..81d5962c85856 100644 --- a/tests/baselines/reference/circularImportAlias.types +++ b/tests/baselines/reference/circularImportAlias.types @@ -54,7 +54,7 @@ var c: { name: string }; var c = new B.a.C(); >c : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >new B.a.C() : A.C > : ^^^ >B.a.C : typeof A.C diff --git a/tests/baselines/reference/circularInferredTypeOfVariable.types b/tests/baselines/reference/circularInferredTypeOfVariable.types index 937f473f958d3..aac6c61fd0cf1 100644 --- a/tests/baselines/reference/circularInferredTypeOfVariable.types +++ b/tests/baselines/reference/circularInferredTypeOfVariable.types @@ -47,7 +47,7 @@ >foo(a1!) : string[] > : ^^^^^^^^ >foo : (p: string[]) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a1! : string[] > : ^^^^^^^^ >a1 : string[] @@ -63,7 +63,7 @@ >bar(a2) : string[] > : ^^^^^^^^ >bar : (p: string[]) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : string[] > : ^^^^^^^^ } diff --git a/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types b/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types index 32e48e24d5f62..db665484b9108 100644 --- a/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types +++ b/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types @@ -21,15 +21,15 @@ class Foo { ) { this.elements = elements; >this.elements = elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >this.elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >this : this > : ^^^^ >elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ } public add(): Foo<[...Elements, "abc"]> { @@ -44,11 +44,11 @@ class Foo { >...this.elements : { bar: unknown; } > : ^^^^^^^^^^^^^^^^^ >this.elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >this : this > : ^^^^ >elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ bar: "abc" } : { bar: string; } > : ^^^^^^^^^^^^^^^^ >bar : string diff --git a/tests/baselines/reference/circularInstantiationExpression.types b/tests/baselines/reference/circularInstantiationExpression.types index e5e41230272e1..9d171b86ba3cc 100644 --- a/tests/baselines/reference/circularInstantiationExpression.types +++ b/tests/baselines/reference/circularInstantiationExpression.types @@ -10,8 +10,8 @@ declare function foo(t: T): typeof foo; > : ^ ^^ ^^ ^^^^^ foo(""); ->foo("") : (t: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +>foo("") : (t: string) => typeof foo +> : ^ ^^^^^^^^^^^^^ ^^^^^^ >foo : (t: T) => typeof foo > : ^ ^^ ^^ ^^^^^ >"" : "" diff --git a/tests/baselines/reference/circularMappedTypeConstraint.types b/tests/baselines/reference/circularMappedTypeConstraint.types index ded13c89645fc..ef477756194d5 100644 --- a/tests/baselines/reference/circularMappedTypeConstraint.types +++ b/tests/baselines/reference/circularMappedTypeConstraint.types @@ -15,7 +15,7 @@ export const r2 = foo2({A: "a"}); >foo2({A: "a"}) : { A: string; } > : ^^^^^^^^^^^^^^ >foo2 : ]: V; }, V extends string>(a: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{A: "a"} : { A: string; } > : ^^^^^^^^^^^^^^ >A : string diff --git a/tests/baselines/reference/circularReferenceInReturnType.types b/tests/baselines/reference/circularReferenceInReturnType.types index 9917e6f49556b..37d311ac83852 100644 --- a/tests/baselines/reference/circularReferenceInReturnType.types +++ b/tests/baselines/reference/circularReferenceInReturnType.types @@ -14,7 +14,7 @@ const res1 = fn1(() => res1); >fn1(() => res1) : string > : ^^^^^^ >fn1 : (cb: () => T) => string -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => res1 : () => any > : ^^^^^^^^^ >res1 : any @@ -30,17 +30,17 @@ declare function fn2(): (cb: () => any) => (a: T) => void; const res2 = fn2()(() => res2); >res2 : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >fn2()(() => res2) : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >fn2() : (cb: () => any) => (a: unknown) => void -> : ^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^ >fn2 : () => (cb: () => any) => (a: T) => void -> : ^ ^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^ >() => res2 : () => (a: unknown) => void -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^ >res2 : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ declare function fn3(): (cb: (arg: T2) => any) => (a: T) => void; >fn3 : () => (cb: (arg: T2) => any) => (a: T) => void @@ -56,11 +56,11 @@ const res3 = fn3()(() => res3); >res3 : any > : ^^^ >fn3()(() => res3) : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >fn3() : (cb: (arg: T2) => any) => (a: unknown) => void -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^ >fn3 : () => (cb: (arg: T2) => any) => (a: T) => void -> : ^ ^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^ >() => res3 : () => any > : ^^^^^^^^^ >res3 : any diff --git a/tests/baselines/reference/circularReferenceInReturnType2.types b/tests/baselines/reference/circularReferenceInReturnType2.types index 83c9c856509b2..46d97194271b0 100644 --- a/tests/baselines/reference/circularReferenceInReturnType2.types +++ b/tests/baselines/reference/circularReferenceInReturnType2.types @@ -109,9 +109,9 @@ const A = object()({ >object()({ name: "A", fields: () => ({ a: field({ type: A, resolve() { return { foo: 100, }; }, }), }),}) : ObjectType > : ^^^^^^^^^^^^^^^^^^^^^ >object() : ; }>(config: { name: string; fields: Fields | (() => Fields); }) => ObjectType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >object : () => ; }>(config: { name: string; fields: Fields | (() => Fields); }) => ObjectType -> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >{ name: "A", fields: () => ({ a: field({ type: A, resolve() { return { foo: 100, }; }, }), }),} : { name: string; fields: () => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -137,7 +137,7 @@ const A = object()({ >field({ type: A, resolve() { return { foo: 100, }; }, }) : Field > : ^^^^^^^^^^^^^^^^^^^^^ >field : , Key extends string>(field: FieldFuncArgs) => Field -> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ type: A, resolve() { return { foo: 100, }; }, } : { type: ObjectType; resolve(): { foo: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/circularResolvedSignature.types b/tests/baselines/reference/circularResolvedSignature.types index 82d255148978d..567ee115b9bc4 100644 --- a/tests/baselines/reference/circularResolvedSignature.types +++ b/tests/baselines/reference/circularResolvedSignature.types @@ -37,13 +37,13 @@ export function Component() { const [state, setState] = useState(() => ({ >state : Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^ >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ >useState(() => ({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), })) : [Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>, (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^ >useState : (initialState: (() => S)) => [S, (s: S) => void] -> : ^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => ({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), }) : () => { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), }) : { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } @@ -67,7 +67,7 @@ export function Component() { >setState(arg) : void > : ^^^^ >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ >arg : any > : ^^^ @@ -81,7 +81,7 @@ export function Component() { >setState(arg) : void > : ^^^^ >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ >arg : any > : ^^^ diff --git a/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types b/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types index 5e7d62b299ea9..dc537938c2576 100644 --- a/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types +++ b/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types @@ -15,7 +15,7 @@ AAA = A; // error. >AAA = A : typeof A > : ^^^^^^^^ >AAA : new () => A -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ @@ -23,7 +23,7 @@ AAA = "asdf"; >AAA = "asdf" : "asdf" > : ^^^^^^ >AAA : new () => A -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >"asdf" : "asdf" > : ^^^^^^ diff --git a/tests/baselines/reference/classAbstractInstantiations2.types b/tests/baselines/reference/classAbstractInstantiations2.types index 03c2d25ac17d6..af4b626fdfc95 100644 --- a/tests/baselines/reference/classAbstractInstantiations2.types +++ b/tests/baselines/reference/classAbstractInstantiations2.types @@ -18,11 +18,11 @@ abstract class B { >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ abstract bar() : number; >bar : () => number @@ -144,13 +144,13 @@ abstract class G { abstract qux(x : number) : string; >qux : { (x: number): string; (): number; } -> : ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^^ >x : number > : ^^^^^^ abstract qux() : number; >qux : { (x: number): string; (): number; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^^ y : number; >y : number @@ -166,11 +166,11 @@ abstract class G { abstract nom(): boolean; >nom : { (): boolean; (x: number): boolean; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ nom(x : number): boolean; // error -- use of modifier abstract must match on all overloads. >nom : { (): boolean; (x: number): boolean; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/classAbstractOverloads.types b/tests/baselines/reference/classAbstractOverloads.types index d791ed1dec2a3..25b54ae24d5e9 100644 --- a/tests/baselines/reference/classAbstractOverloads.types +++ b/tests/baselines/reference/classAbstractOverloads.types @@ -7,7 +7,7 @@ abstract class A { abstract foo(); >foo : { (): any; (): number; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ abstract foo() : number; >foo : { (): any; (): number; (): any; } @@ -15,7 +15,7 @@ abstract class A { abstract foo(); >foo : { (): any; (): number; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ abstract bar(); >bar : { (): any; (): any; (): any; } @@ -60,7 +60,7 @@ abstract class B { abstract foo(); >foo : { (): number; (): any; (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x : number; >x : number @@ -68,9 +68,9 @@ abstract class B { abstract foo(); >foo : { (): number; (): any; (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ abstract foo(); >foo : { (): number; (): any; (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/classAppearsToHaveMembersOfObject.types b/tests/baselines/reference/classAppearsToHaveMembersOfObject.types index 88f38d6bcf2f9..f0becb9076a74 100644 --- a/tests/baselines/reference/classAppearsToHaveMembersOfObject.types +++ b/tests/baselines/reference/classAppearsToHaveMembersOfObject.types @@ -17,11 +17,11 @@ var r = c.toString(); >c.toString() : string > : ^^^^^^ >c.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2 = c.hasOwnProperty(''); >r2 : boolean @@ -29,11 +29,11 @@ var r2 = c.hasOwnProperty(''); >c.hasOwnProperty('') : boolean > : ^^^^^^^ >c.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/classCanExtendConstructorFunction.types b/tests/baselines/reference/classCanExtendConstructorFunction.types index e3633aa2a3e97..3d7c49b5b2dae 100644 --- a/tests/baselines/reference/classCanExtendConstructorFunction.types +++ b/tests/baselines/reference/classCanExtendConstructorFunction.types @@ -387,19 +387,19 @@ class Chowder extends Soup { >Chowder : Chowder > : ^^^^^^^ >Soup : Soup<{ claim: "ignorant" | "malicious"; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ log() { >log : () => { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ return this.flavour >this.flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >this : this > : ^^^^ >flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } } @@ -439,11 +439,11 @@ chowder.flavour.claim >chowder.flavour.claim : "ignorant" | "malicious" > : ^^^^^^^^^^^^^^^^^^^^^^^^ >chowder.flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >chowder : Chowder > : ^^^^^^^ >flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >claim : "ignorant" | "malicious" > : ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/classDeclarationLoop.types b/tests/baselines/reference/classDeclarationLoop.types index 7b32d26cc3818..042730f013ca3 100644 --- a/tests/baselines/reference/classDeclarationLoop.types +++ b/tests/baselines/reference/classDeclarationLoop.types @@ -37,11 +37,11 @@ for (let i = 0; i < 10; ++i) { >arr.push(C) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >C : typeof C > : ^^^^^^^^ } diff --git a/tests/baselines/reference/classExpressionLoop.types b/tests/baselines/reference/classExpressionLoop.types index 26c3972791d9f..2688185cc56c0 100644 --- a/tests/baselines/reference/classExpressionLoop.types +++ b/tests/baselines/reference/classExpressionLoop.types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >arr.push(class C { prop = i; }) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { prop = i; } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classExpressionWithStaticProperties3.types b/tests/baselines/reference/classExpressionWithStaticProperties3.types index 05e70a5b0033c..df8f6807c5362 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties3.types +++ b/tests/baselines/reference/classExpressionWithStaticProperties3.types @@ -32,11 +32,11 @@ for (let i = 0; i < 3; i++) { >arr.push(class C { static x = i; static y = () => C.x * 2; }) : number > : ^^^^^^ >arr.push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >class C { static x = i; static y = () => C.x * 2; } : typeof C > : ^^^^^^^^ >C : typeof C @@ -70,15 +70,15 @@ arr.forEach(C => console.log(C.y())); >arr.forEach(C => console.log(C.y())) : void > : ^^^^ >arr.forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >C => console.log(C.y()) : (C: { y(): number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >console.log(C.y()) : any >console.log : any >console : any @@ -88,9 +88,9 @@ arr.forEach(C => console.log(C.y())); >C.y() : number > : ^^^^^^ >C.y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types index a33eae6cf70a2..a858afeffb6dc 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types @@ -32,11 +32,11 @@ for (let i = 0; i < 3; i++) { >arr.push(class C { static x = i; static y = () => C.x * 2; }) : number > : ^^^^^^ >arr.push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >class C { static x = i; static y = () => C.x * 2; } : typeof C > : ^^^^^^^^ >C : typeof C @@ -70,15 +70,15 @@ arr.forEach(C => console.log(C.y())); >arr.forEach(C => console.log(C.y())) : void > : ^^^^ >arr.forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >C => console.log(C.y()) : (C: { y(): number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >console.log(C.y()) : any >console.log : any >console : any @@ -88,9 +88,9 @@ arr.forEach(C => console.log(C.y())); >C.y() : number > : ^^^^^^ >C.y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/classExtendingClassLikeType.types b/tests/baselines/reference/classExtendingClassLikeType.types index 4db76ce86d0ec..709f22c054b23 100644 --- a/tests/baselines/reference/classExtendingClassLikeType.types +++ b/tests/baselines/reference/classExtendingClassLikeType.types @@ -53,7 +53,7 @@ class D1 extends getBase() { >getBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ constructor() { super("abc", "def"); @@ -98,7 +98,7 @@ class D2 extends getBase() { >getBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ constructor() { super(10); @@ -151,7 +151,7 @@ class D3 extends getBase() { >getBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ constructor() { super("abc", 42); @@ -197,7 +197,7 @@ class D4 extends getBase() { >getBase() : BaseConstructor > : ^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } interface BadBaseConstructor { @@ -221,6 +221,6 @@ class D5 extends getBadBase() { >getBadBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBadBase : () => BadBaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/classExtendsEveryObjectType.types b/tests/baselines/reference/classExtendsEveryObjectType.types index b2e4b0ad21359..b8ec0869a9135 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.types +++ b/tests/baselines/reference/classExtendsEveryObjectType.types @@ -32,7 +32,7 @@ class C3 extends x { } // error >C3 : C3 > : ^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ module M { export var x = 1; } >M : typeof M diff --git a/tests/baselines/reference/classExtendsInterfaceInExpression.types b/tests/baselines/reference/classExtendsInterfaceInExpression.types index 482a4cb85acd4..aacc313be0bfb 100644 --- a/tests/baselines/reference/classExtendsInterfaceInExpression.types +++ b/tests/baselines/reference/classExtendsInterfaceInExpression.types @@ -17,8 +17,8 @@ class C extends factory(A) {} > : ^ >factory(A) : Object > : ^^^^^^ ->factory : (a: any) => new () => Object -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>factory : (a: any) => { new (): Object; } +> : ^ ^^ ^^^^^ >A : any > : ^^^ diff --git a/tests/baselines/reference/classExtendsNull.types b/tests/baselines/reference/classExtendsNull.types index 370c7447aadbf..4f3cd0c36c26e 100644 --- a/tests/baselines/reference/classExtendsNull.types +++ b/tests/baselines/reference/classExtendsNull.types @@ -16,11 +16,11 @@ class C extends null { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } } @@ -33,10 +33,10 @@ class D extends null { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } } diff --git a/tests/baselines/reference/classFieldSuperAccessible.types b/tests/baselines/reference/classFieldSuperAccessible.types index 053077cc63e82..004a1a6e85556 100644 --- a/tests/baselines/reference/classFieldSuperAccessible.types +++ b/tests/baselines/reference/classFieldSuperAccessible.types @@ -14,11 +14,11 @@ class A extends class Expr {} { >console.log(super.name) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.name : string > : ^^^^^^ >super : typeof Expr @@ -38,11 +38,11 @@ class B extends Number { >console.log(super.EPSILON) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.EPSILON : number > : ^^^^^^ >super : NumberConstructor @@ -65,11 +65,11 @@ class C extends Array { >console.log(super.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.length : number > : ^^^^^^ >super : any[] diff --git a/tests/baselines/reference/classFieldSuperAccessibleJs1.types b/tests/baselines/reference/classFieldSuperAccessibleJs1.types index 70c9d67de942a..940b9ec34db38 100644 --- a/tests/baselines/reference/classFieldSuperAccessibleJs1.types +++ b/tests/baselines/reference/classFieldSuperAccessibleJs1.types @@ -34,11 +34,11 @@ class D extends C { >console.log(super.blah1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.blah1 : number > : ^^^^^^ >super : typeof C @@ -50,11 +50,11 @@ class D extends C { >console.log(super.blah2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.blah2 : number > : ^^^^^^ >super : typeof C diff --git a/tests/baselines/reference/classFieldSuperAccessibleJs2.types b/tests/baselines/reference/classFieldSuperAccessibleJs2.types index a0009edd275e9..7a7bcad93242b 100644 --- a/tests/baselines/reference/classFieldSuperAccessibleJs2.types +++ b/tests/baselines/reference/classFieldSuperAccessibleJs2.types @@ -22,11 +22,11 @@ class C { >console.log("called arrow") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"called arrow" : "called arrow" > : ^^^^^^^^^^^^^^ @@ -40,11 +40,11 @@ class C { >console.log("called method") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"called method" : "called method" > : ^^^^^^^^^^^^^^^ } @@ -64,11 +64,11 @@ class D extends C { >console.log("SUPER:") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"SUPER:" : "SUPER:" > : ^^^^^^^^ @@ -86,11 +86,11 @@ class D extends C { >console.log("THIS:") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"THIS:" : "THIS:" > : ^^^^^^^ @@ -128,7 +128,7 @@ D.prototype.foo.call(obj); >D.prototype.foo.call(obj) : void > : ^^^^ >D.prototype.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >D.prototype.foo : () => void > : ^^^^^^^^^^ >D.prototype : D @@ -140,7 +140,7 @@ D.prototype.foo.call(obj); >foo : () => void > : ^^^^^^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : D > : ^ diff --git a/tests/baselines/reference/classFunctionMerging2.types b/tests/baselines/reference/classFunctionMerging2.types index f87afbd441d1a..0fd7138a2792b 100644 --- a/tests/baselines/reference/classFunctionMerging2.types +++ b/tests/baselines/reference/classFunctionMerging2.types @@ -49,11 +49,11 @@ console.log(b.a) >console.log(b.a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b.a : number > : ^^^^^^ >b : B diff --git a/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types b/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types index 2ab7ac1fc1190..ee0d5ce2f1988 100644 --- a/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types +++ b/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types @@ -7,13 +7,13 @@ declare class MySettable implements Settable { set(option: Record): void; >set : { (option: Record): void; (name: string, value: unknown): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >option : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ set(name: string, value: unknown): void; >set : { (option: Record): void; (name: string, value: unknown): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : unknown diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types index cc11568af5b00..e91a5aff36481 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types @@ -40,11 +40,11 @@ class Test { >console.log(field) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field : string > : ^^^^^^ @@ -73,11 +73,11 @@ class Test { >console.log(field) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field : number > : ^^^^^^ @@ -106,11 +106,11 @@ class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ @@ -127,11 +127,11 @@ class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : string > : ^^^^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types index e46ae6d78b525..f679fce5321ca 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types @@ -35,11 +35,11 @@ class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types index 1d51330bda074..79f7bc5ad81fa 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types @@ -35,11 +35,11 @@ export class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types index e477c91b839cf..8e6f0e3bd0d3f 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types @@ -35,11 +35,11 @@ export class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types index 035cc8f8b1fe4..42cef91e19142 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types @@ -34,11 +34,11 @@ class Greeter { >console.log(message) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : { log(message?: any, ...optionalParams: any[]): void; } -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >message : string > : ^^^^^^ } diff --git a/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types index a484cf0a4ceb7..ead21a3f1b901 100644 --- a/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types +++ b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types @@ -63,21 +63,21 @@ export class A extends Class("A")( >A : A > : ^ >Class("A")( { a: string }, { pretty: (a) => JSON.stringify(a), },) : OutputFrom<{ a: () => Type; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Class("A") : (fields: Fields, annotations?: Schema | undefined) => Class> -> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >Class : (identifier: string) => (fields: Fields, annotations?: Schema) => Class> -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"A" : "A" > : ^^^ { a: string }, >{ a: string } : { a: () => Type; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >a : () => Type -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >string : () => Type -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ { >{ pretty: (a) => JSON.stringify(a), } : { pretty: (a: A) => string; } > : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ @@ -92,11 +92,11 @@ export class A extends Class("A")( >JSON.stringify(a) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >a : A > : ^ diff --git a/tests/baselines/reference/classSideInheritance1.types b/tests/baselines/reference/classSideInheritance1.types index 6ba3d30dc5fcb..4366adf8ec96e 100644 --- a/tests/baselines/reference/classSideInheritance1.types +++ b/tests/baselines/reference/classSideInheritance1.types @@ -58,19 +58,19 @@ A.bar(); // valid >A.bar() : string > : ^^^^^^ >A.bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ C2.bar(); // valid >C2.bar() : string > : ^^^^^^ >C2.bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ >bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/classStaticBlock13(target=es2015).types b/tests/baselines/reference/classStaticBlock13(target=es2015).types index fb8ac6dcd1fec..e7b361111f42f 100644 --- a/tests/baselines/reference/classStaticBlock13(target=es2015).types +++ b/tests/baselines/reference/classStaticBlock13(target=es2015).types @@ -16,11 +16,11 @@ class C { >console.log(C.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.#x : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock13(target=es2022).types b/tests/baselines/reference/classStaticBlock13(target=es2022).types index fb8ac6dcd1fec..e7b361111f42f 100644 --- a/tests/baselines/reference/classStaticBlock13(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock13(target=es2022).types @@ -16,11 +16,11 @@ class C { >console.log(C.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.#x : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock13(target=esnext).types b/tests/baselines/reference/classStaticBlock13(target=esnext).types index fb8ac6dcd1fec..e7b361111f42f 100644 --- a/tests/baselines/reference/classStaticBlock13(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock13(target=esnext).types @@ -16,11 +16,11 @@ class C { >console.log(C.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.#x : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock15(target=es2015).types b/tests/baselines/reference/classStaticBlock15(target=es2015).types index d7f2bf887ea72..1ffb5ba7d2bff 100644 --- a/tests/baselines/reference/classStaticBlock15(target=es2015).types +++ b/tests/baselines/reference/classStaticBlock15(target=es2015).types @@ -38,10 +38,10 @@ console.log(_C__1) >console.log(_C__1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_C__1 : any diff --git a/tests/baselines/reference/classStaticBlock15(target=es2022).types b/tests/baselines/reference/classStaticBlock15(target=es2022).types index d7f2bf887ea72..1ffb5ba7d2bff 100644 --- a/tests/baselines/reference/classStaticBlock15(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock15(target=es2022).types @@ -38,10 +38,10 @@ console.log(_C__1) >console.log(_C__1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_C__1 : any diff --git a/tests/baselines/reference/classStaticBlock15(target=esnext).types b/tests/baselines/reference/classStaticBlock15(target=esnext).types index d7f2bf887ea72..1ffb5ba7d2bff 100644 --- a/tests/baselines/reference/classStaticBlock15(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock15(target=esnext).types @@ -38,10 +38,10 @@ console.log(_C__1) >console.log(_C__1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_C__1 : any diff --git a/tests/baselines/reference/classStaticBlock16.types b/tests/baselines/reference/classStaticBlock16.types index a91ce07a67ee4..59a6de977a2e0 100644 --- a/tests/baselines/reference/classStaticBlock16.types +++ b/tests/baselines/reference/classStaticBlock16.types @@ -38,7 +38,7 @@ class C { >getX = (obj: C) => obj.#x : (obj: C) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (c: C) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: C) => obj.#x : (obj: C) => number > : ^ ^^ ^^^^^^^^^^^ >obj : C @@ -52,7 +52,7 @@ class C { >getY = (obj: D) => obj.#y : (obj: D) => any > : ^ ^^ ^^^^^^^^ >getY : (c: D) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: D) => obj.#y : (obj: D) => any > : ^ ^^ ^^^^^^^^ >obj : D @@ -86,7 +86,7 @@ class D { >getX = (obj: C) => obj.#x : (obj: C) => any > : ^ ^^ ^^^^^^^^ >getX : (c: C) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: C) => obj.#x : (obj: C) => any > : ^ ^^ ^^^^^^^^ >obj : C @@ -100,7 +100,7 @@ class D { >getY = (obj: D) => obj.#y : (obj: D) => number > : ^ ^^ ^^^^^^^^^^^ >getY : (c: D) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: D) => obj.#y : (obj: D) => number > : ^ ^^ ^^^^^^^^^^^ >obj : D diff --git a/tests/baselines/reference/classStaticBlock17.types b/tests/baselines/reference/classStaticBlock17.types index cdeac0fabd436..7154c7d0b987d 100644 --- a/tests/baselines/reference/classStaticBlock17.types +++ b/tests/baselines/reference/classStaticBlock17.types @@ -54,7 +54,7 @@ class A { >friendA = { getX(obj) { return obj.#x }, setX(obj, value) { obj.#x = value } } : { getX(obj: A): number; setX(obj: A, value: number): void; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ >friendA : { getX(o: A): number; setX(o: A, v: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >{ getX(obj) { return obj.#x }, setX(obj, value) { obj.#x = value } } : { getX(obj: A): number; setX(obj: A, value: number): void; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -102,11 +102,11 @@ class B { >friendA.getX(a) : number > : ^^^^^^ >friendA.getX : (o: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >friendA : { getX(o: A): number; setX(o: A, v: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >getX : (o: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -114,11 +114,11 @@ class B { >friendA.setX(a, x + 1) : void > : ^^^^ >friendA.setX : (o: A, v: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >friendA : { getX(o: A): number; setX(o: A, v: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >setX : (o: A, v: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >x + 1 : number diff --git a/tests/baselines/reference/classStaticBlock23(target=es2022).types b/tests/baselines/reference/classStaticBlock23(target=es2022).types index 2f7feeeed90b8..4e30f2900497a 100644 --- a/tests/baselines/reference/classStaticBlock23(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock23(target=es2022).types @@ -7,7 +7,7 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >[1, 2, 3].map(n => Promise.resolve(n)) : Promise[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -17,7 +17,7 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => Promise.resolve(n) : (n: number) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : number @@ -25,11 +25,11 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >Promise.resolve(n) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ @@ -48,11 +48,11 @@ class C { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } @@ -78,11 +78,11 @@ async function foo () { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } diff --git a/tests/baselines/reference/classStaticBlock23(target=esnext).types b/tests/baselines/reference/classStaticBlock23(target=esnext).types index 2f7feeeed90b8..4e30f2900497a 100644 --- a/tests/baselines/reference/classStaticBlock23(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock23(target=esnext).types @@ -7,7 +7,7 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >[1, 2, 3].map(n => Promise.resolve(n)) : Promise[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -17,7 +17,7 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => Promise.resolve(n) : (n: number) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : number @@ -25,11 +25,11 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >Promise.resolve(n) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ @@ -48,11 +48,11 @@ class C { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } @@ -78,11 +78,11 @@ async function foo () { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } diff --git a/tests/baselines/reference/classStaticBlock27.types b/tests/baselines/reference/classStaticBlock27.types index 6d84d79b0808f..eac84a2fb4f01 100644 --- a/tests/baselines/reference/classStaticBlock27.types +++ b/tests/baselines/reference/classStaticBlock27.types @@ -22,11 +22,11 @@ void class Foo { >console.log(Foo.prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.prop : number > : ^^^^^^ >Foo : typeof Foo @@ -49,11 +49,11 @@ void class Foo { >console.log(Foo.prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.prop : number > : ^^^^^^ >Foo : typeof Foo @@ -76,11 +76,11 @@ void class Foo { >console.log(Foo.prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.prop : number > : ^^^^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/classStaticBlock28.types b/tests/baselines/reference/classStaticBlock28.types index 077a34acfec82..028f9e4a67bd0 100644 --- a/tests/baselines/reference/classStaticBlock28.types +++ b/tests/baselines/reference/classStaticBlock28.types @@ -24,11 +24,11 @@ console.log(foo) >console.log(foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo : number > : ^^^^^^ diff --git a/tests/baselines/reference/classStaticBlock3(target=es2022).types b/tests/baselines/reference/classStaticBlock3(target=es2022).types index 08951cbd431f7..257c7333cdd56 100644 --- a/tests/baselines/reference/classStaticBlock3(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock3(target=es2022).types @@ -22,11 +22,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C @@ -58,11 +58,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock3(target=esnext).types b/tests/baselines/reference/classStaticBlock3(target=esnext).types index 08951cbd431f7..257c7333cdd56 100644 --- a/tests/baselines/reference/classStaticBlock3(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock3(target=esnext).types @@ -22,11 +22,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C @@ -58,11 +58,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlockUseBeforeDef3.types b/tests/baselines/reference/classStaticBlockUseBeforeDef3.types index 08e1843aba201..549e9a204d796 100644 --- a/tests/baselines/reference/classStaticBlockUseBeforeDef3.types +++ b/tests/baselines/reference/classStaticBlockUseBeforeDef3.types @@ -25,11 +25,11 @@ class A { >console.log("gotcha!") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"gotcha!" : "gotcha!" > : ^^^^^^^^^ } @@ -45,11 +45,11 @@ class Baz { >console.log(FOO) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >FOO : "FOO" > : ^^^^^ } @@ -70,11 +70,11 @@ class Bar { >console.log(FOO) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >FOO : "FOO" > : ^^^^^ } diff --git a/tests/baselines/reference/classVarianceCircularity.types b/tests/baselines/reference/classVarianceCircularity.types index 663aaa1d71088..b81416c6b3174 100644 --- a/tests/baselines/reference/classVarianceCircularity.types +++ b/tests/baselines/reference/classVarianceCircularity.types @@ -20,11 +20,11 @@ function f() { >console.log(b.Value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b.Value : number > : ^^^^^^ >b : Bar diff --git a/tests/baselines/reference/classVarianceResolveCircularity1.types b/tests/baselines/reference/classVarianceResolveCircularity1.types index fcef039560088..27e1c7a0c8696 100644 --- a/tests/baselines/reference/classVarianceResolveCircularity1.types +++ b/tests/baselines/reference/classVarianceResolveCircularity1.types @@ -19,7 +19,7 @@ class Bar { >callme(this) : Bar > : ^^^^^^^^ >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >num : number @@ -33,7 +33,7 @@ class Bar { >callme(this) : Bar > : ^^^^^^^^ >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >num : number @@ -41,13 +41,13 @@ class Bar { } declare function callme(x: Bar): Bar; >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Bar > : ^^^^^^^^ declare function callme(x: object): string; >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : object > : ^^^^^^ diff --git a/tests/baselines/reference/classVarianceResolveCircularity2.types b/tests/baselines/reference/classVarianceResolveCircularity2.types index 3d8bc6b37d6a6..dc70d455b093d 100644 --- a/tests/baselines/reference/classVarianceResolveCircularity2.types +++ b/tests/baselines/reference/classVarianceResolveCircularity2.types @@ -23,7 +23,7 @@ class Bar { >callme(new Foo(this)) : Foo > : ^^^^^^^^ >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Foo(this) : Foo > : ^^^^^^ >Foo : typeof Foo @@ -45,7 +45,7 @@ class Bar { >callme(new Foo(this)) : Foo > : ^^^^^^^^ >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Foo(this) : Foo > : ^^^^^^ >Foo : typeof Foo @@ -59,13 +59,13 @@ class Bar { } declare function callme(x: Foo): Foo; >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Foo > : ^^^^^^^^ declare function callme(x: object): string; >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : object > : ^^^^^^ diff --git a/tests/baselines/reference/classWithDuplicateIdentifier.types b/tests/baselines/reference/classWithDuplicateIdentifier.types index 057e03ba916b6..3c272b68d9beb 100644 --- a/tests/baselines/reference/classWithDuplicateIdentifier.types +++ b/tests/baselines/reference/classWithDuplicateIdentifier.types @@ -13,7 +13,7 @@ class C { a: number; >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } class K { >K : K diff --git a/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types b/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types index 0d33048911d2d..9de07fb9e6c50 100644 --- a/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types +++ b/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types @@ -7,11 +7,11 @@ class C { foo(): string; >foo : { (): string; (x: any): number; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ foo(x): number; >foo : { (): string; (x: any): number; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types b/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types index 5e7f005cc964c..0fba6a8bd6754 100644 --- a/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types +++ b/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types @@ -7,7 +7,7 @@ class C { foo(): string; >foo : { (): string; (x: any): number; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ bar(x): any { } >bar : (x: any) => any @@ -17,7 +17,7 @@ class C { foo(x): number; >foo : { (): string; (x: any): number; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ } diff --git a/tests/baselines/reference/classdecl.types b/tests/baselines/reference/classdecl.types index 9e476179b6867..51fb325e33099 100644 --- a/tests/baselines/reference/classdecl.types +++ b/tests/baselines/reference/classdecl.types @@ -75,19 +75,19 @@ class a { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); @@ -219,19 +219,19 @@ class d { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); @@ -250,19 +250,19 @@ class e { private foo(s: string): string; >foo : { (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(n: number): string; >foo : { (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(ns: any) { >foo : { (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); diff --git a/tests/baselines/reference/cloduleTest1.types b/tests/baselines/reference/cloduleTest1.types index dcb3c3d814ef2..30d56ceaeb475 100644 --- a/tests/baselines/reference/cloduleTest1.types +++ b/tests/baselines/reference/cloduleTest1.types @@ -32,7 +32,7 @@ >$('.foo').addClass('bar') : $ > : ^ >$('.foo').addClass : (className: string) => $ -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >$('.foo') : $ > : ^ >$ : typeof $ @@ -40,7 +40,7 @@ >'.foo' : ".foo" > : ^^^^^^ >addClass : (className: string) => $ -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >'bar' : "bar" > : ^^^^^ diff --git a/tests/baselines/reference/cloduleTest2.types b/tests/baselines/reference/cloduleTest2.types index 733f83a4e3969..64d322466145c 100644 --- a/tests/baselines/reference/cloduleTest2.types +++ b/tests/baselines/reference/cloduleTest2.types @@ -95,11 +95,11 @@ module T3 { >r.foo() : void > : ^^^^ >r.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >r : m3d > : ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ r.bar(); // error >r.bar() : any @@ -152,11 +152,11 @@ module T4 { >r.foo() : void > : ^^^^ >r.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >r : m3d > : ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ r.bar(); // error >r.bar() : any diff --git a/tests/baselines/reference/coAndContraVariantInferences.types b/tests/baselines/reference/coAndContraVariantInferences.types index ca9fc01c5266f..895e19624b182 100644 --- a/tests/baselines/reference/coAndContraVariantInferences.types +++ b/tests/baselines/reference/coAndContraVariantInferences.types @@ -45,21 +45,21 @@ foo(a, fab); >foo(a, fab) : void > : ^^^^ >foo : (x: { kind: T; }, f: (arg: { kind: T; }) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >fab : (arg: A | B) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ foo(b, fab); >foo(b, fab) : void > : ^^^^ >foo : (x: { kind: T; }, f: (arg: { kind: T; }) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >fab : (arg: A | B) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #45603 @@ -115,7 +115,7 @@ function call( fn(action); >fn(action) : any >fn : (action: Action) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >action : Action > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -134,11 +134,11 @@ const printFn = (action: typeof actionA | typeof actionB)=> console.log(action); >console.log(action) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >action : Action<"ACTION_A", string> | Action<"ACTION_B", boolean> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/coAndContraVariantInferences2.types b/tests/baselines/reference/coAndContraVariantInferences2.types index 5309c2785df83..d5d96850dbe65 100644 --- a/tests/baselines/reference/coAndContraVariantInferences2.types +++ b/tests/baselines/reference/coAndContraVariantInferences2.types @@ -43,11 +43,11 @@ function f1(a: A, b: B) { >cast(a, isC) : C > : ^ >cast : (x: T, test: (x: T) => x is U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >isC : (x: A) => x is C -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const x2 = cast(b, isC); // cast >x2 : C @@ -55,11 +55,11 @@ function f1(a: A, b: B) { >cast(b, isC) : C > : ^ >cast : (x: T, test: (x: T) => x is U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >isC : (x: A) => x is C -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } declare function useA(a: A): void; @@ -92,49 +92,49 @@ function f2(b: B, c: C) { >consume(b, c, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >c : C > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ consume(c, b, useA); // consume >consume(c, b, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >b : B > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ consume(b, b, useA); // consume >consume(b, b, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >b : B > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ consume(c, c, useA); // consume >consume(c, c, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >c : C > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } declare function every(array: readonly T[], f: (x: T) => x is U): array is readonly U[]; @@ -157,11 +157,11 @@ function f3(arr: readonly B[] | readonly C[]) { >every(arr, isC) : boolean > : ^^^^^^^ >every : (array: readonly T[], f: (x: T) => x is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >arr : readonly B[] | readonly C[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isC : (x: A) => x is C -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ arr; // readonly C[] >arr : readonly C[] @@ -247,7 +247,7 @@ declare function canHaveLocals(node: Node): node is HasLocals; declare function assertNode(node: T | undefined, test: (node: T) => node is U): asserts node is U; >assertNode : { (node: T | undefined, test: (node: T) => node is U): asserts node is U; (node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; } -> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node : T | undefined > : ^^^^^^^^^^^^^ >test : (node: T) => node is U @@ -257,7 +257,7 @@ declare function assertNode(node: T | undefined, te declare function assertNode(node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; >assertNode : { (node: T | undefined, test: (node: T) => node is U): asserts node is U; (node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; } -> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node : Node | undefined > : ^^^^^^^^^^^^^^^^ >test : ((node: Node) => boolean) | undefined @@ -275,11 +275,11 @@ function foo(node: FunctionDeclaration | CaseClause) { >assertNode(node, canHaveLocals) : void > : ^^^^ >assertNode : { (node: T | undefined, test: (node: T) => node is U): asserts node is U; (node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; } -> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node : CaseClause | FunctionDeclaration > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >canHaveLocals : (node: Node) => node is HasLocals -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ node; // FunctionDeclaration >node : FunctionDeclaration @@ -314,11 +314,11 @@ function bar(node: Identifier | FunctionDeclaration) { >tryCast(node, isExpression) : Expression > : ^^^^^^^^^^ >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >node : Identifier | FunctionDeclaration > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isExpression : (node: Node) => node is Expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } // Repro from #49924 @@ -383,11 +383,11 @@ const maybeClassStatement = tryCast(statement, isClassLike); // ClassLike1 >tryCast(statement, isClassLike) : ClassLike1 > : ^^^^^^^^^^ >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >statement : Statement1 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^ >isClassLike : (node: Node1) => node is ClassLike1 -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #49924 @@ -419,9 +419,9 @@ const x = tryCast(types, isNodeArray); // NodeAray >tryCast(types, isNodeArray) : NodeArray > : ^^^^^^^^^^^^^^^^^^^ >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >types : readonly TypeNode[] > : ^^^^^^^^^^^^^^^^^^^ >isNodeArray : (array: readonly T[]) => array is NodeArray -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/coAndContraVariantInferences3.types b/tests/baselines/reference/coAndContraVariantInferences3.types index e3c0348fdf6e9..74da1307b0a9c 100644 --- a/tests/baselines/reference/coAndContraVariantInferences3.types +++ b/tests/baselines/reference/coAndContraVariantInferences3.types @@ -246,7 +246,7 @@ declare const updateImportDeclaration: { declare function every(array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; >every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >array : readonly T[] > : ^^^^^^^^^^^^ >callback : (element: T, index: number) => element is U @@ -258,7 +258,7 @@ declare function every(array: readonly T[], callback: (element: declare function every(array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; >every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >array : readonly T[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^ >callback : (element: T, index: number) => element is U @@ -270,7 +270,7 @@ declare function every(array: readonly T[] | undefined, callback declare function every(array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; >every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >array : readonly T[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^ >callback : (element: T, index: number) => boolean @@ -292,30 +292,30 @@ declare const DISALLOW_DECORATORS: DeprecationOptions; buildOverload("updateImportDeclaration") >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) .finish() : ((node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) & ((node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) > : ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ ->buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) .finish : () => ((node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) & ((node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) -> : ^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ +>buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) .finish : () => OverloadFunction<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> +> : ^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) : FinishableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate : (deprecations: OverloadDeprecations<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => FinishableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) : BoundOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind : (binder: OverloadBinders<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => BoundOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) : BindableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >buildOverload("updateImportDeclaration") .overload : (overloads: T) => BindableOverloadBuilder -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >buildOverload("updateImportDeclaration") : OverloadBuilder > : ^^^^^^^^^^^^^^^ >buildOverload : (name: string) => OverloadBuilder -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"updateImportDeclaration" : "updateImportDeclaration" > : ^^^^^^^^^^^^^^^^^^^^^^^^^ .overload({ >overload : (overloads: T) => BindableOverloadBuilder -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, } : { 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; } > : ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ @@ -337,7 +337,7 @@ buildOverload("updateImportDeclaration") >updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >updateImportDeclaration : { (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >node : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >modifiers : readonly Modifier[] | undefined @@ -371,7 +371,7 @@ buildOverload("updateImportDeclaration") >updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >updateImportDeclaration : { (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >node : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >modifiers : readonly Modifier[] | undefined @@ -387,7 +387,7 @@ buildOverload("updateImportDeclaration") }) .bind({ >bind : (binder: OverloadBinders<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => BoundOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >{ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), } : { 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]: [node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined] | [node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined]) => boolean; 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]: [node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined] | [node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined]) => boolean; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -441,11 +441,11 @@ buildOverload("updateImportDeclaration") >every(modifiers, isModifier) : boolean > : ^^^^^^^ >every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >modifiers : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isModifier : (node: Node) => node is Modifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ (importClause === undefined || !isArray(importClause)) && >(importClause === undefined || !isArray(importClause)) : boolean @@ -463,7 +463,7 @@ buildOverload("updateImportDeclaration") >isArray(importClause) : boolean > : ^^^^^^^ >isArray : (value: any) => value is readonly unknown[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >importClause : ImportClause | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -481,7 +481,7 @@ buildOverload("updateImportDeclaration") >isExpression(moduleSpecifier) : boolean > : ^^^^^^^ >isExpression : (node: Node) => node is Expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleSpecifier : Expression | ImportClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -499,7 +499,7 @@ buildOverload("updateImportDeclaration") >isAssertClause(assertClause) : boolean > : ^^^^^^^ >isAssertClause : (node: Node) => node is AssertClause -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >assertClause : Expression | AssertClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -543,11 +543,11 @@ buildOverload("updateImportDeclaration") >every(decorators, isDecorator) : boolean > : ^^^^^^^ >every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >decorators : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isDecorator : (node: Node) => node is Decorator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ (modifiers === undefined || isArray(modifiers)) && >(modifiers === undefined || isArray(modifiers)) : boolean @@ -563,7 +563,7 @@ buildOverload("updateImportDeclaration") >isArray(modifiers) : boolean > : ^^^^^^^ >isArray : (value: any) => value is readonly unknown[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >modifiers : ImportClause | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -581,7 +581,7 @@ buildOverload("updateImportDeclaration") >isImportClause(importClause) : boolean > : ^^^^^^^ >isImportClause : (node: Node) => node is ImportClause -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >importClause : Expression | ImportClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -599,7 +599,7 @@ buildOverload("updateImportDeclaration") >isExpression(moduleSpecifier) : boolean > : ^^^^^^^ >isExpression : (node: Node) => node is Expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleSpecifier : Expression | AssertClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -617,14 +617,14 @@ buildOverload("updateImportDeclaration") >isAssertClause(assertClause) : boolean > : ^^^^^^^ >isAssertClause : (node: Node) => node is AssertClause -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >assertClause : AssertClause > : ^^^^^^^^^^^^ }) .deprecate({ >deprecate : (deprecations: OverloadDeprecations<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => FinishableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >{ 1: DISALLOW_DECORATORS } : { 1: DeprecationOptions; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -636,8 +636,8 @@ buildOverload("updateImportDeclaration") }) .finish(); ->finish : () => ((node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) & ((node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) -> : ^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ +>finish : () => OverloadFunction<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> +> : ^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ declare const modifiers: readonly Modifier[] | readonly Decorator[]; @@ -652,20 +652,20 @@ function foo() { >every(modifiers, isModifier) : boolean > : ^^^^^^^ >every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >modifiers : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isModifier : (node: Node) => node is Modifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ every(modifiers, isDecorator); >every(modifiers, isDecorator) : boolean > : ^^^^^^^ >every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >modifiers : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isDecorator : (node: Node) => node is Decorator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/coAndContraVariantInferences4.types b/tests/baselines/reference/coAndContraVariantInferences4.types index c3b30dd03c0a1..923567537b40b 100644 --- a/tests/baselines/reference/coAndContraVariantInferences4.types +++ b/tests/baselines/reference/coAndContraVariantInferences4.types @@ -66,20 +66,20 @@ function foo() { >every(modifiers, isModifier) : boolean > : ^^^^^^^ >every : (array: readonly T[], callback: (element: T) => element is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >modifiers : readonly Decorator[] | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isModifier : (node: Node) => node is Modifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ every(modifiers, isDecorator); >every(modifiers, isDecorator) : boolean > : ^^^^^^^ >every : (array: readonly T[], callback: (element: T) => element is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >modifiers : readonly Decorator[] | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isDecorator : (node: Node) => node is Decorator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/coAndContraVariantInferences5.types b/tests/baselines/reference/coAndContraVariantInferences5.types index dd9cdf47e2ddf..f2d0d05be6366 100644 --- a/tests/baselines/reference/coAndContraVariantInferences5.types +++ b/tests/baselines/reference/coAndContraVariantInferences5.types @@ -24,9 +24,9 @@ function f( >select({ options, onChange, }) : void > : ^^^^ >select : (props: SelectProps) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ options, onChange, } : { options: SelectOptions; onChange: (status: Thing | null) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ options, >options : SelectOptions @@ -34,7 +34,7 @@ function f( onChange, >onChange : (status: Thing | null) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ }); } diff --git a/tests/baselines/reference/coAndContraVariantInferences6.types b/tests/baselines/reference/coAndContraVariantInferences6.types index 472fa7e8f63e3..45f78449069d0 100644 --- a/tests/baselines/reference/coAndContraVariantInferences6.types +++ b/tests/baselines/reference/coAndContraVariantInferences6.types @@ -71,7 +71,7 @@ createElementIsolated(WrapperIsolated, { value: "C" }); >createElementIsolated(WrapperIsolated, { value: "C" }) : void > : ^^^^ >createElementIsolated :

(type: FunctionComponent

| ComponentClass

| string, props?: P | null) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >WrapperIsolated : JSXElementConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ value: "C" } : { value: "C"; } @@ -93,15 +93,15 @@ declare const stat: any; >[].push.apply(props, stat.properties) : number > : ^^^^^^ >[].push.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[].push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >props : any[] > : ^^^^^ >stat.properties : any diff --git a/tests/baselines/reference/collectionPatternNoError.types b/tests/baselines/reference/collectionPatternNoError.types index 2f00fc10e3b67..d85d37eb1bbe5 100644 --- a/tests/baselines/reference/collectionPatternNoError.types +++ b/tests/baselines/reference/collectionPatternNoError.types @@ -61,7 +61,7 @@ class DataProvider> { >fetchMsg(this.messageList) : U > : ^ >fetchMsg : (protoCtor: MsgConstructor) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >this.messageList : MsgConstructor > : ^^^^^^^^^^^^^^^^^ >this : this @@ -73,11 +73,11 @@ class DataProvider> { >messageList.methodOnMessageList() : T[] > : ^^^ >messageList.methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >messageList : U > : ^ >methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ } } @@ -102,14 +102,14 @@ function f< >fetchMsg(messageList).methodOnMessageList() : T[] > : ^^^ >fetchMsg(messageList).methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >fetchMsg(messageList) : U["TType"] > : ^^^^^^^^^^ >fetchMsg : (protoCtor: MsgConstructor) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >messageList : MsgConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ } diff --git a/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types b/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types index 79e307cd9ea9a..6697ef9c28c26 100644 --- a/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types +++ b/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types @@ -27,11 +27,11 @@ class Foo { >console.log(_i) : void > : ^^^^ >console.log : (msg?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: string): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >_i : string > : ^^^^^^ } diff --git a/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types b/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types index 06e29a7f12f9e..91870dcd747c1 100644 --- a/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types +++ b/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types @@ -3,7 +3,7 @@ === collisionThisExpressionAndLocalVarInLambda.ts === declare function alert(message?: any): void; >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >message : any var x = { @@ -38,7 +38,7 @@ alert(x.doStuff(x => alert(x))); >alert(x.doStuff(x => alert(x))) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x.doStuff(x => alert(x)) : () => any > : ^^^^^^^^^ >x.doStuff : (callback: any) => () => any @@ -53,6 +53,6 @@ alert(x.doStuff(x => alert(x))); >alert(x) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : any diff --git a/tests/baselines/reference/commaOperatorInConditionalExpression.types b/tests/baselines/reference/commaOperatorInConditionalExpression.types index 7aed0002242f8..fc76267aefe21 100644 --- a/tests/baselines/reference/commaOperatorInConditionalExpression.types +++ b/tests/baselines/reference/commaOperatorInConditionalExpression.types @@ -11,7 +11,7 @@ function f (m: string) { >[1, 2, 3].map(i => { return true? { [m]: i } : { [m]: i + 1 } }) : { [x: string]: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -21,7 +21,7 @@ function f (m: string) { >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >i => { return true? { [m]: i } : { [m]: i + 1 } } : (i: number) => { [x: string]: number; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/commaOperatorLeftSideUnused.types b/tests/baselines/reference/commaOperatorLeftSideUnused.types index f775626d818d3..cedcd7377fef3 100644 --- a/tests/baselines/reference/commaOperatorLeftSideUnused.types +++ b/tests/baselines/reference/commaOperatorLeftSideUnused.types @@ -54,11 +54,11 @@ let x = Math.pow((3, 5), 2); >Math.pow((3, 5), 2) : number > : ^^^^^^ >Math.pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Math : Math > : ^^^^ >pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(3, 5) : 5 > : ^ >3, 5 : 5 @@ -557,11 +557,11 @@ xx = (Math.pow(3, 2), 4); >Math.pow(3, 2) : number > : ^^^^^^ >Math.pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Math : Math > : ^^^^ >pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >2 : 2 diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types index 704e3e8a3d032..d6992f9119003 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types @@ -124,11 +124,11 @@ var x: any; >"string".charAt(0) : string > : ^^^^^^ >"string".charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >[null, 1] : number[] @@ -194,11 +194,11 @@ var resultIsAny9 = ("string".charAt(0), undefined); >"string".charAt(0) : string > : ^^^^^^ >"string".charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >undefined : undefined diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types index 734bcbf6c135c..c2525034bbef8 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types @@ -176,11 +176,11 @@ STRING.trim(), NUMBER = 1; >STRING.trim() : string > : ^^^^^^ >STRING.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >NUMBER = 1 : 1 > : ^ >NUMBER : number @@ -267,11 +267,11 @@ var resultIsNumber11 = (STRING.trim(), NUMBER = 1); >STRING.trim() : string > : ^^^^^^ >STRING.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >NUMBER = 1 : 1 > : ^ >NUMBER : number diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types index 474d7765bdd94..83605d899c9be 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types @@ -179,11 +179,11 @@ STRING.toLowerCase(), new CLASS() >STRING.toLowerCase() : string > : ^^^^^^ >STRING.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new CLASS() : CLASS > : ^^^^^ >CLASS : typeof CLASS @@ -270,11 +270,11 @@ var resultIsObject11 = (STRING.toLowerCase(), new CLASS()); >STRING.toLowerCase() : string > : ^^^^^^ >STRING.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new CLASS() : CLASS > : ^^^^^ >CLASS : typeof CLASS diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types index 757e9df81d8e1..e26c7bb76312f 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types @@ -176,11 +176,11 @@ BOOLEAN == undefined, ""; >NUMBER.toString() : string > : ^^^^^^ >NUMBER.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >NUMBER : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ OBJECT = new Object, STRING + "string"; >OBJECT = new Object, STRING + "string" : string @@ -271,11 +271,11 @@ var resultIsString10 = (["a", "b"], NUMBER.toString()); >NUMBER.toString() : string > : ^^^^^^ >NUMBER.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >NUMBER : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var resultIsString11 = (new Object, STRING + "string"); >resultIsString11 : string diff --git a/tests/baselines/reference/commaOperatorsMultipleOperators.types b/tests/baselines/reference/commaOperatorsMultipleOperators.types index 9f09fdd1ca482..9eb2564e74422 100644 --- a/tests/baselines/reference/commaOperatorsMultipleOperators.types +++ b/tests/baselines/reference/commaOperatorsMultipleOperators.types @@ -173,11 +173,11 @@ null, true, 1; >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >new Object() : Object @@ -215,11 +215,11 @@ var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object()); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >new Object() : Object diff --git a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types index 0d2d3fca442d4..54ff2d7d5dcb2 100644 --- a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types +++ b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types @@ -19,11 +19,11 @@ export class Foo { >Promise.resolve('') : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ } diff --git a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types index 7268c04128f95..5bbdfde96b4e6 100644 --- a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types +++ b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types @@ -19,11 +19,11 @@ export class Foo { >Promise.resolve('') : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ } diff --git a/tests/baselines/reference/commentInMethodCall.types b/tests/baselines/reference/commentInMethodCall.types index 74e4d888f1e48..3c0d9899d05d2 100644 --- a/tests/baselines/reference/commentInMethodCall.types +++ b/tests/baselines/reference/commentInMethodCall.types @@ -10,11 +10,11 @@ s.map(// do something >s.map(// do something function () { }) : void[] > : ^^^^^^ >s.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ function () { }); >function () { } : () => void diff --git a/tests/baselines/reference/commentLeadingCloseBrace.types b/tests/baselines/reference/commentLeadingCloseBrace.types index db98c658a1b08..8f55acc0fe99d 100644 --- a/tests/baselines/reference/commentLeadingCloseBrace.types +++ b/tests/baselines/reference/commentLeadingCloseBrace.types @@ -14,7 +14,7 @@ function ifelse() { if (commentedParameters(1, 2)) { >commentedParameters(1, 2) : any >commentedParameters : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -24,7 +24,7 @@ function ifelse() { commentedParameters(3, 4); >commentedParameters(3, 4) : any >commentedParameters : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -35,7 +35,7 @@ function ifelse() { commentedParameters(5, 6); >commentedParameters(5, 6) : any >commentedParameters : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ >6 : 6 diff --git a/tests/baselines/reference/commentOnDecoratedClassDeclaration.types b/tests/baselines/reference/commentOnDecoratedClassDeclaration.types index 8b7853168e63f..35b6306d68adf 100644 --- a/tests/baselines/reference/commentOnDecoratedClassDeclaration.types +++ b/tests/baselines/reference/commentOnDecoratedClassDeclaration.types @@ -13,7 +13,7 @@ declare function decorator(x: string): any; @decorator("hello") >decorator("hello") : any >decorator : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -28,7 +28,7 @@ class Remote { } @decorator("hi") >decorator("hi") : any >decorator : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ diff --git a/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types b/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types index 00113506fbb5c..64a0d0c329b1a 100644 --- a/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types +++ b/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types @@ -15,5 +15,5 @@ var f: () => any; >j : any >f() : any >f : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/commentOnSignature1.types b/tests/baselines/reference/commentOnSignature1.types index 3aa95b36cc563..b72bc29d97102 100644 --- a/tests/baselines/reference/commentOnSignature1.types +++ b/tests/baselines/reference/commentOnSignature1.types @@ -4,20 +4,20 @@ /// function foo2(n: number): void; >foo2 : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ // Don't keep this comment. function foo2(s: string): void; >foo2 : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function foo2(a: any): void { >foo2 : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any } === a.ts === @@ -29,20 +29,20 @@ function foo2(a: any): void { /*! Don't keep this pinned comment */ function foo(n: number): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ // Don't keep this comment. function foo(s: string): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function foo(a: any): void { >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any } diff --git a/tests/baselines/reference/commentsInterface.types b/tests/baselines/reference/commentsInterface.types index 02517758febbc..740c812054b8b 100644 --- a/tests/baselines/reference/commentsInterface.types +++ b/tests/baselines/reference/commentsInterface.types @@ -93,13 +93,13 @@ var i2_i_x = i2_i.x; var i2_i_foo = i2_i.foo; >i2_i_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_foo_r = i2_i.foo(30); >i2_i_foo_r : string @@ -107,11 +107,11 @@ var i2_i_foo_r = i2_i.foo(30); >i2_i.foo(30) : string > : ^^^^^^ >i2_i.foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >30 : 30 > : ^^ @@ -153,13 +153,13 @@ var i2_i_nc_x = i2_i.nc_x; var i2_i_nc_foo = i2_i.nc_foo; >i2_i_nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_nc_foo_r = i2_i.nc_foo(30); >i2_i_nc_foo_r : string @@ -167,11 +167,11 @@ var i2_i_nc_foo_r = i2_i.nc_foo(30); >i2_i.nc_foo(30) : string > : ^^^^^^ >i2_i.nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >30 : 30 > : ^^ @@ -189,13 +189,13 @@ var i2_i_r = i2_i(10, 20); var i2_i_fnfoo = i2_i.fnfoo; >i2_i_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_fnfoo_r = i2_i.fnfoo(10); >i2_i_fnfoo_r : string @@ -203,23 +203,23 @@ var i2_i_fnfoo_r = i2_i.fnfoo(10); >i2_i.fnfoo(10) : string > : ^^^^^^ >i2_i.fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ var i2_i_nc_fnfoo = i2_i.nc_fnfoo; >i2_i_nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_nc_fnfoo_r = i2_i.nc_fnfoo(10); >i2_i_nc_fnfoo_r : string @@ -227,11 +227,11 @@ var i2_i_nc_fnfoo_r = i2_i.nc_fnfoo(10); >i2_i.nc_fnfoo(10) : string > : ^^^^^^ >i2_i.nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -352,11 +352,11 @@ i3_i.f(10); >i3_i.f(10) : string > : ^^^^^^ >i3_i.f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -364,11 +364,11 @@ i3_i.l(10); >i3_i.l(10) : string > : ^^^^^^ >i3_i.l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -376,11 +376,11 @@ i3_i.nc_f(10); >i3_i.nc_f(10) : string > : ^^^^^^ >i3_i.nc_f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >nc_f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -388,11 +388,11 @@ i3_i.nc_l(10); >i3_i.nc_l(10) : string > : ^^^^^^ >i3_i.nc_l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >nc_l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ diff --git a/tests/baselines/reference/commentsOverloads.types b/tests/baselines/reference/commentsOverloads.types index a969b42e94c4e..2ab32c9fb47df 100644 --- a/tests/baselines/reference/commentsOverloads.types +++ b/tests/baselines/reference/commentsOverloads.types @@ -4,19 +4,19 @@ /** this is signature 1*/ function f1(/**param a*/a: number): number; >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function f1(b: string): number; >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ function f1(aOrb: any) { >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -27,7 +27,7 @@ f1("hello"); >f1("hello") : number > : ^^^^^^ >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -35,27 +35,27 @@ f1(10); >f1(10) : number > : ^^^^^^ >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ function f2(a: number): number; >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** this is signature 2*/ function f2(b: string): number; >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** this is f2 var comment*/ function f2(aOrb: any) { >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -66,7 +66,7 @@ f2("hello"); >f2("hello") : number > : ^^^^^^ >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -74,25 +74,25 @@ f2(10); >f2(10) : number > : ^^^^^^ >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ function f3(a: number): number; >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function f3(b: string): number; >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ function f3(aOrb: any) { >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -103,7 +103,7 @@ f3("hello"); >f3("hello") : number > : ^^^^^^ >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -111,27 +111,27 @@ f3(10); >f3(10) : number > : ^^^^^^ >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ /** this is signature 4 - with number parameter*/ function f4(/**param a*/a: number): number; >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** this is signature 4 - with string parameter*/ function f4(b: string): number; >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ function f4(aOrb: any) { >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -142,7 +142,7 @@ f4("hello"); >f4("hello") : number > : ^^^^^^ >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -150,7 +150,7 @@ f4(10); >f4(10) : number > : ^^^^^^ >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ @@ -168,73 +168,73 @@ interface i1 { /** foo 1*/ foo(a: number): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** foo 2*/ foo(b: string): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ // foo 3 foo(arr: number[]): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ /** foo 4 */ foo(arr: string[]): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arr : string[] > : ^^^^^^^^ foo2(a: number): number; >foo2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** foo2 2*/ foo2(b: string): number; >foo2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ foo3(a: number): number; >foo3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ foo3(b: string): number; >foo3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** foo4 1*/ foo4(a: number): number; >foo4 : { (a: number): number; (b: string): number; (c: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ foo4(b: string): number; >foo4 : { (a: number): number; (b: string): number; (c: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** foo4 any */ foo4(c: any): any; >foo4 : { (a: number): number; (b: string): number; (c: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : any /// new 1 @@ -321,19 +321,19 @@ class c { public prop1(a: number): number; >prop1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public prop1(b: string): number; >prop1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop1(aorb: any) { >prop1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -343,19 +343,19 @@ class c { /** prop2 1*/ public prop2(a: number): number; >prop2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public prop2(b: string): number; >prop2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop2(aorb: any) { >prop2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -364,20 +364,20 @@ class c { } public prop3(a: number): number; >prop3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** prop3 2*/ public prop3(b: string): number; >prop3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop3(aorb: any) { >prop3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -387,20 +387,20 @@ class c { /** prop4 1*/ public prop4(a: number): number; >prop4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** prop4 2*/ public prop4(b: string): number; >prop4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop4(aorb: any) { >prop4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -410,21 +410,21 @@ class c { /** prop5 1*/ public prop5(a: number): number; >prop5 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** prop5 2*/ public prop5(b: string): number; >prop5 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** Prop5 implementaion*/ public prop5(aorb: any) { >prop5 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; diff --git a/tests/baselines/reference/commentsVarDecl.types b/tests/baselines/reference/commentsVarDecl.types index d79a81c899b86..08ddb0338d20e 100644 --- a/tests/baselines/reference/commentsVarDecl.types +++ b/tests/baselines/reference/commentsVarDecl.types @@ -99,9 +99,9 @@ var z2: /** type comment*/ (x: number) => string; var x2 = z2; >x2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >z2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var n4: (x: number) => string; >n4 : (x: number) => string @@ -111,9 +111,9 @@ var n4: (x: number) => string; n4 = z2; >n4 = z2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n4 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >z2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index df3f9e75fbbf4..2a976739e0d62 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -33,7 +33,7 @@ fooVar(); >fooVar() : void > : ^^^^ >fooVar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ /**class comment*/ class c { @@ -102,21 +102,21 @@ class c { /** overload signature1*/ public foo1(a: number): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** Overload signature 2*/ public foo1(b: string): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** overload implementation signature*/ public foo1(aOrb) { >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return aOrb.toString(); diff --git a/tests/baselines/reference/commentsemitComments.types b/tests/baselines/reference/commentsemitComments.types index 50bc5f7442b46..e9736dd5447bd 100644 --- a/tests/baselines/reference/commentsemitComments.types +++ b/tests/baselines/reference/commentsemitComments.types @@ -33,7 +33,7 @@ fooVar(); >fooVar() : void > : ^^^^ >fooVar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ /**class comment*/ class c { @@ -102,21 +102,21 @@ class c { /** overload signature1*/ public foo1(a: number): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** Overload signature 2*/ public foo1(b: string): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** overload implementation signature*/ public foo1(aOrb) { >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return aOrb.toString(); diff --git a/tests/baselines/reference/commonSourceDir5.types b/tests/baselines/reference/commonSourceDir5.types index 336cc1f890719..725647dee9428 100644 --- a/tests/baselines/reference/commonSourceDir5.types +++ b/tests/baselines/reference/commonSourceDir5.types @@ -26,11 +26,11 @@ export var i = Math.sqrt(-1); >Math.sqrt(-1) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-1 : -1 > : ^^ >1 : 1 diff --git a/tests/baselines/reference/commonSourceDir6.types b/tests/baselines/reference/commonSourceDir6.types index d99d982ded61b..e8b04776c3075 100644 --- a/tests/baselines/reference/commonSourceDir6.types +++ b/tests/baselines/reference/commonSourceDir6.types @@ -26,11 +26,11 @@ export var i = Math.sqrt(-1); >Math.sqrt(-1) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-1 : -1 > : ^^ >1 : 1 diff --git a/tests/baselines/reference/commonTypeIntersection.types b/tests/baselines/reference/commonTypeIntersection.types index 99a8b1f951c1d..447530c1e1119 100644 --- a/tests/baselines/reference/commonTypeIntersection.types +++ b/tests/baselines/reference/commonTypeIntersection.types @@ -17,7 +17,7 @@ let y1: { __typename?: 'TypeOne' } & { a: boolean} = x1; // should error here >a : boolean > : ^^^^^^^ >x1 : { __typename?: "TypeTwo"; } & { a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ declare let x2: { __typename?: 'TypeTwo' } & string; >x2 : { __typename?: "TypeTwo"; } & string @@ -31,5 +31,5 @@ let y2: { __typename?: 'TypeOne' } & string = x2; // should error here >__typename : "TypeOne" > : ^^^^^^^^^ >x2 : { __typename?: "TypeTwo"; } & string -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithIntersectionType.types b/tests/baselines/reference/comparisonOperatorWithIntersectionType.types index 58c101ca03307..8bf1b5e33a012 100644 --- a/tests/baselines/reference/comparisonOperatorWithIntersectionType.types +++ b/tests/baselines/reference/comparisonOperatorWithIntersectionType.types @@ -11,7 +11,7 @@ a > 1; >a > 1 : boolean > : ^^^^^^^ >a : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >1 : 1 > : ^ @@ -27,7 +27,7 @@ b > 1; >b > 1 : boolean > : ^^^^^^^ >b : { a: 1; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types index 46a08fc91cd5b..e67a171f1a013 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types @@ -145,9 +145,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -155,9 +155,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -165,9 +165,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -175,9 +175,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -185,9 +185,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -195,9 +195,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -205,9 +205,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -215,9 +215,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -225,9 +225,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -235,9 +235,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -245,9 +245,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -255,9 +255,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -265,9 +265,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -275,9 +275,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator > var r2a1 = a1 > b1; @@ -286,9 +286,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -296,9 +296,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -306,9 +306,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -316,9 +316,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -326,9 +326,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -336,9 +336,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -346,9 +346,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -356,9 +356,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -366,9 +366,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -376,9 +376,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -386,9 +386,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -396,9 +396,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -406,9 +406,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -416,9 +416,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator <= var r3a1 = a1 <= b1; @@ -427,9 +427,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -437,9 +437,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -447,9 +447,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -457,9 +457,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -467,9 +467,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -477,9 +477,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -487,9 +487,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -497,9 +497,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -507,9 +507,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -517,9 +517,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -527,9 +527,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -537,9 +537,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -547,9 +547,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -557,9 +557,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator >= var r4a1 = a1 >= b1; @@ -568,9 +568,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -578,9 +578,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -588,9 +588,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -598,9 +598,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -608,9 +608,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -618,9 +618,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -628,9 +628,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -638,9 +638,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -648,9 +648,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -658,9 +658,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -668,9 +668,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -678,9 +678,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -688,9 +688,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -698,9 +698,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator == var r5a1 = a1 == b1; @@ -709,9 +709,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -719,9 +719,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -729,9 +729,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -739,9 +739,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -749,9 +749,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -759,9 +759,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -769,9 +769,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -779,9 +779,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -789,9 +789,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -799,9 +799,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -809,9 +809,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -819,9 +819,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -829,9 +829,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -839,9 +839,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator != var r6a1 = a1 != b1; @@ -850,9 +850,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -860,9 +860,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -870,9 +870,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -880,9 +880,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -890,9 +890,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -900,9 +900,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -910,9 +910,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -920,9 +920,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -930,9 +930,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -940,9 +940,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -950,9 +950,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -960,9 +960,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -970,9 +970,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -980,9 +980,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator === var r7a1 = a1 === b1; @@ -991,9 +991,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -1001,9 +1001,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -1011,9 +1011,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -1021,9 +1021,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1031,9 +1031,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1041,9 +1041,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1051,9 +1051,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -1061,9 +1061,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1071,9 +1071,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1081,9 +1081,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1091,9 +1091,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1101,9 +1101,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1111,9 +1111,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1121,9 +1121,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator !== var r8a1 = a1 !== b1; @@ -1132,9 +1132,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1142,9 +1142,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1152,9 +1152,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1162,9 +1162,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1172,9 +1172,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1182,9 +1182,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1192,9 +1192,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1202,9 +1202,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1212,9 +1212,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1222,9 +1222,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1232,9 +1232,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1242,9 +1242,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1252,9 +1252,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1262,7 +1262,7 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types index 77c581ec872a9..b35a0ae8a9cd2 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types @@ -121,9 +121,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -131,9 +131,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -141,9 +141,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -151,9 +151,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -161,9 +161,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -171,9 +171,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -181,9 +181,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -191,9 +191,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -201,9 +201,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -211,9 +211,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -221,9 +221,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -231,9 +231,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -241,9 +241,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -251,9 +251,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator > var r2a1 = a1 > b1; @@ -262,9 +262,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -272,9 +272,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -282,9 +282,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -292,9 +292,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -302,9 +302,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -312,9 +312,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -322,9 +322,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -332,9 +332,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -342,9 +342,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -352,9 +352,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -362,9 +362,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -372,9 +372,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -382,9 +382,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -392,9 +392,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator <= var r3a1 = a1 <= b1; @@ -403,9 +403,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -413,9 +413,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -423,9 +423,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -433,9 +433,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -443,9 +443,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -453,9 +453,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -463,9 +463,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -473,9 +473,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -483,9 +483,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -493,9 +493,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -503,9 +503,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -513,9 +513,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -523,9 +523,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -533,9 +533,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator >= var r4a1 = a1 >= b1; @@ -544,9 +544,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -554,9 +554,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -564,9 +564,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -574,9 +574,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -584,9 +584,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -594,9 +594,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -604,9 +604,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -614,9 +614,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -624,9 +624,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -634,9 +634,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -644,9 +644,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -654,9 +654,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -664,9 +664,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -674,9 +674,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator == var r5a1 = a1 == b1; @@ -685,9 +685,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -695,9 +695,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -705,9 +705,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -715,9 +715,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -725,9 +725,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -735,9 +735,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -745,9 +745,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -755,9 +755,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -765,9 +765,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -775,9 +775,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -785,9 +785,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -795,9 +795,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -805,9 +805,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -815,9 +815,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator != var r6a1 = a1 != b1; @@ -826,9 +826,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -836,9 +836,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -846,9 +846,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -856,9 +856,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -866,9 +866,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -876,9 +876,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -886,9 +886,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -896,9 +896,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -906,9 +906,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -916,9 +916,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -926,9 +926,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -936,9 +936,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -946,9 +946,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -956,9 +956,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator === var r7a1 = a1 === b1; @@ -967,9 +967,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -977,9 +977,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -987,9 +987,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -997,9 +997,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1007,9 +1007,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1017,9 +1017,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1027,9 +1027,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -1037,9 +1037,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1047,9 +1047,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1057,9 +1057,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1067,9 +1067,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1077,9 +1077,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1087,9 +1087,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1097,9 +1097,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator !== var r8a1 = a1 !== b1; @@ -1108,9 +1108,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1118,9 +1118,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1128,9 +1128,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1138,9 +1138,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1148,9 +1148,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1158,9 +1158,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1168,9 +1168,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1178,9 +1178,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1188,9 +1188,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1198,9 +1198,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1208,9 +1208,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1218,9 +1218,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1228,9 +1228,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1238,7 +1238,7 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types index 57fd6b6b0152c..491973861c672 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types @@ -139,9 +139,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -149,9 +149,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -159,9 +159,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -169,9 +169,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -179,9 +179,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -189,9 +189,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -199,9 +199,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -209,9 +209,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -219,9 +219,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -229,9 +229,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -239,9 +239,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -249,9 +249,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator > var r2a1 = a1 > b1; @@ -260,9 +260,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -270,9 +270,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -280,9 +280,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -290,9 +290,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -300,9 +300,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -310,9 +310,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -320,9 +320,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -330,9 +330,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -340,9 +340,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -350,9 +350,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -360,9 +360,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -370,9 +370,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator <= var r3a1 = a1 <= b1; @@ -381,9 +381,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -391,9 +391,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -401,9 +401,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -411,9 +411,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -421,9 +421,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -431,9 +431,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -441,9 +441,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -451,9 +451,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -461,9 +461,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -471,9 +471,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -481,9 +481,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -491,9 +491,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator >= var r4a1 = a1 >= b1; @@ -502,9 +502,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -512,9 +512,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -522,9 +522,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -532,9 +532,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -542,9 +542,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -552,9 +552,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -562,9 +562,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -572,9 +572,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -582,9 +582,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -592,9 +592,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -602,9 +602,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -612,9 +612,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator == var r5a1 = a1 == b1; @@ -623,9 +623,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -633,9 +633,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -643,9 +643,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -653,9 +653,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -663,9 +663,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -673,9 +673,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -683,9 +683,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -693,9 +693,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -703,9 +703,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -713,9 +713,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -723,9 +723,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -733,9 +733,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator != var r6a1 = a1 != b1; @@ -744,9 +744,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -754,9 +754,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -764,9 +764,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -774,9 +774,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -784,9 +784,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -794,9 +794,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -804,9 +804,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -814,9 +814,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -824,9 +824,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -834,9 +834,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -844,9 +844,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -854,9 +854,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator === var r7a1 = a1 === b1; @@ -865,9 +865,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -875,9 +875,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -885,9 +885,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -895,9 +895,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -905,9 +905,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -915,9 +915,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -925,9 +925,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -935,9 +935,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -945,9 +945,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -955,9 +955,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -965,9 +965,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -975,9 +975,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator !== var r8a1 = a1 !== b1; @@ -986,9 +986,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -996,9 +996,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1006,9 +1006,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1016,9 +1016,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1026,9 +1026,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1036,9 +1036,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1046,9 +1046,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1056,9 +1056,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1066,9 +1066,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1076,9 +1076,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1086,9 +1086,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1096,7 +1096,7 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types index 3b3bd17987c77..ef580e1103e55 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types @@ -115,9 +115,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -125,9 +125,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -135,9 +135,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -145,9 +145,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -155,9 +155,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -165,9 +165,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -175,9 +175,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -185,9 +185,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -195,9 +195,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -205,9 +205,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -215,9 +215,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -225,9 +225,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator > var r2a1 = a1 > b1; @@ -236,9 +236,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -246,9 +246,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -256,9 +256,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -266,9 +266,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -276,9 +276,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -286,9 +286,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -296,9 +296,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -306,9 +306,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -316,9 +316,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -326,9 +326,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -336,9 +336,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -346,9 +346,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator <= var r3a1 = a1 <= b1; @@ -357,9 +357,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -367,9 +367,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -377,9 +377,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -387,9 +387,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -397,9 +397,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -407,9 +407,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -417,9 +417,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -427,9 +427,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -437,9 +437,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -447,9 +447,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -457,9 +457,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -467,9 +467,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator >= var r4a1 = a1 >= b1; @@ -478,9 +478,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -488,9 +488,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -498,9 +498,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -508,9 +508,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -518,9 +518,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -528,9 +528,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -538,9 +538,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -548,9 +548,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -558,9 +558,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -568,9 +568,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -578,9 +578,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -588,9 +588,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator == var r5a1 = a1 == b1; @@ -599,9 +599,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -609,9 +609,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -619,9 +619,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -629,9 +629,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -639,9 +639,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -649,9 +649,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -659,9 +659,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -669,9 +669,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -679,9 +679,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -689,9 +689,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -699,9 +699,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -709,9 +709,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator != var r6a1 = a1 != b1; @@ -720,9 +720,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -730,9 +730,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -740,9 +740,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -750,9 +750,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -760,9 +760,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -770,9 +770,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -780,9 +780,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -790,9 +790,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -800,9 +800,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -810,9 +810,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -820,9 +820,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -830,9 +830,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator === var r7a1 = a1 === b1; @@ -841,9 +841,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -851,9 +851,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -861,9 +861,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -871,9 +871,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -881,9 +881,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -891,9 +891,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -901,9 +901,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -911,9 +911,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -921,9 +921,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -931,9 +931,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -941,9 +941,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -951,9 +951,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator !== var r8a1 = a1 !== b1; @@ -962,9 +962,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -972,9 +972,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -982,9 +982,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -992,9 +992,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1002,9 +1002,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1012,9 +1012,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1022,9 +1022,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1032,9 +1032,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1042,9 +1042,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1052,9 +1052,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1062,9 +1062,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1072,7 +1072,7 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types index 810140ee07db1..548498383daa3 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types @@ -188,7 +188,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1a7 = t < g; >r1a7 : boolean @@ -256,7 +256,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -329,7 +329,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2a7 = t < g; >r2a7 : boolean @@ -397,7 +397,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -470,7 +470,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3a7 = t < g; >r3a7 : boolean @@ -538,7 +538,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -611,7 +611,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4a7 = t < g; >r4a7 : boolean @@ -679,7 +679,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -752,7 +752,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5a7 = t < g; >r5a7 : boolean @@ -820,7 +820,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -893,7 +893,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6a7 = t < g; >r6a7 : boolean @@ -961,7 +961,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -1034,7 +1034,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7a7 = t < g; >r7a7 : boolean @@ -1102,7 +1102,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -1175,7 +1175,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8a7 = t < g; >r8a7 : boolean @@ -1243,7 +1243,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types index 895b55cc9775e..0c2b4c851d32c 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types @@ -201,9 +201,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -211,9 +211,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -221,9 +221,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -231,9 +231,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -241,9 +241,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -251,9 +251,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -261,9 +261,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a8 = a8 < b8; >r1a8 : boolean @@ -271,9 +271,9 @@ var r1a8 = a8 < b8; >a8 < b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a9 = a9 < b9; >r1a9 : boolean @@ -281,9 +281,9 @@ var r1a9 = a9 < b9; >a9 < b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a10 = a10 < b10; >r1a10 : boolean @@ -291,9 +291,9 @@ var r1a10 = a10 < b10; >a10 < b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a11 = a11 < b11; >r1a11 : boolean @@ -301,9 +301,9 @@ var r1a11 = a11 < b11; >a11 < b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r1a12 = a12 < b12; @@ -313,9 +313,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -323,9 +323,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -333,9 +333,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -343,9 +343,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -353,9 +353,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -363,9 +363,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -373,9 +373,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b8 = b8 < a8; >r1b8 : boolean @@ -383,9 +383,9 @@ var r1b8 = b8 < a8; >b8 < a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b9 = b9 < a9; >r1b9 : boolean @@ -393,9 +393,9 @@ var r1b9 = b9 < a9; >b9 < a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b10 = b10 < a10; >r1b10 : boolean @@ -403,9 +403,9 @@ var r1b10 = b10 < a10; >b10 < a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1b11 = b11 < a11; >r1b11 : boolean @@ -413,9 +413,9 @@ var r1b11 = b11 < a11; >b11 < a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r1b12 = b12 < a12; @@ -426,9 +426,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -436,9 +436,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -446,9 +446,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -456,9 +456,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -466,9 +466,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -476,9 +476,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -486,9 +486,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a8 = a8 > b8; >r2a8 : boolean @@ -496,9 +496,9 @@ var r2a8 = a8 > b8; >a8 > b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a9 = a9 > b9; >r2a9 : boolean @@ -506,9 +506,9 @@ var r2a9 = a9 > b9; >a9 > b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a10 = a10 > b10; >r2a10 : boolean @@ -516,9 +516,9 @@ var r2a10 = a10 > b10; >a10 > b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a11 = a11 > b11; >r2a11 : boolean @@ -526,9 +526,9 @@ var r2a11 = a11 > b11; >a11 > b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r2a12 = a12 > b12; @@ -538,9 +538,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -548,9 +548,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -558,9 +558,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -568,9 +568,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -578,9 +578,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -588,9 +588,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -598,9 +598,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b8 = b8 > a8; >r2b8 : boolean @@ -608,9 +608,9 @@ var r2b8 = b8 > a8; >b8 > a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b9 = b9 > a9; >r2b9 : boolean @@ -618,9 +618,9 @@ var r2b9 = b9 > a9; >b9 > a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b10 = b10 > a10; >r2b10 : boolean @@ -628,9 +628,9 @@ var r2b10 = b10 > a10; >b10 > a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2b11 = b11 > a11; >r2b11 : boolean @@ -638,9 +638,9 @@ var r2b11 = b11 > a11; >b11 > a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r2b12 = b12 > a12; @@ -651,9 +651,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -661,9 +661,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -671,9 +671,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -681,9 +681,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -691,9 +691,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -701,9 +701,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -711,9 +711,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a8 = a8 <= b8; >r3a8 : boolean @@ -721,9 +721,9 @@ var r3a8 = a8 <= b8; >a8 <= b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a9 = a9 <= b9; >r3a9 : boolean @@ -731,9 +731,9 @@ var r3a9 = a9 <= b9; >a9 <= b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a10 = a10 <= b10; >r3a10 : boolean @@ -741,9 +741,9 @@ var r3a10 = a10 <= b10; >a10 <= b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a11 = a11 <= b11; >r3a11 : boolean @@ -751,9 +751,9 @@ var r3a11 = a11 <= b11; >a11 <= b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r3a12 = a12 <= b12; @@ -763,9 +763,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -773,9 +773,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -783,9 +783,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -793,9 +793,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -803,9 +803,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -813,9 +813,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -823,9 +823,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b8 = b8 <= a8; >r3b8 : boolean @@ -833,9 +833,9 @@ var r3b8 = b8 <= a8; >b8 <= a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b9 = b9 <= a9; >r3b9 : boolean @@ -843,9 +843,9 @@ var r3b9 = b9 <= a9; >b9 <= a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b10 = b10 <= a10; >r3b10 : boolean @@ -853,9 +853,9 @@ var r3b10 = b10 <= a10; >b10 <= a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3b11 = b11 <= a11; >r3b11 : boolean @@ -863,9 +863,9 @@ var r3b11 = b11 <= a11; >b11 <= a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r3b12 = b12 <= a12; @@ -876,9 +876,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -886,9 +886,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -896,9 +896,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -906,9 +906,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -916,9 +916,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -926,9 +926,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -936,9 +936,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a8 = a8 >= b8; >r4a8 : boolean @@ -946,9 +946,9 @@ var r4a8 = a8 >= b8; >a8 >= b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a9 = a9 >= b9; >r4a9 : boolean @@ -956,9 +956,9 @@ var r4a9 = a9 >= b9; >a9 >= b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a10 = a10 >= b10; >r4a10 : boolean @@ -966,9 +966,9 @@ var r4a10 = a10 >= b10; >a10 >= b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a11 = a11 >= b11; >r4a11 : boolean @@ -976,9 +976,9 @@ var r4a11 = a11 >= b11; >a11 >= b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r4a12 = a12 >= b12; @@ -988,9 +988,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -998,9 +998,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -1008,9 +1008,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -1018,9 +1018,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -1028,9 +1028,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -1038,9 +1038,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -1048,9 +1048,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b8 = b8 >= a8; >r4b8 : boolean @@ -1058,9 +1058,9 @@ var r4b8 = b8 >= a8; >b8 >= a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b9 = b9 >= a9; >r4b9 : boolean @@ -1068,9 +1068,9 @@ var r4b9 = b9 >= a9; >b9 >= a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b10 = b10 >= a10; >r4b10 : boolean @@ -1078,9 +1078,9 @@ var r4b10 = b10 >= a10; >b10 >= a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4b11 = b11 >= a11; >r4b11 : boolean @@ -1088,9 +1088,9 @@ var r4b11 = b11 >= a11; >b11 >= a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r4b12 = b12 >= a12; @@ -1101,9 +1101,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -1111,9 +1111,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -1121,9 +1121,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -1131,9 +1131,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -1141,9 +1141,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -1151,9 +1151,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -1161,9 +1161,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a8 = a8 == b8; >r5a8 : boolean @@ -1171,9 +1171,9 @@ var r5a8 = a8 == b8; >a8 == b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a9 = a9 == b9; >r5a9 : boolean @@ -1181,9 +1181,9 @@ var r5a9 = a9 == b9; >a9 == b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a10 = a10 == b10; >r5a10 : boolean @@ -1191,9 +1191,9 @@ var r5a10 = a10 == b10; >a10 == b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a11 = a11 == b11; >r5a11 : boolean @@ -1201,9 +1201,9 @@ var r5a11 = a11 == b11; >a11 == b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r5a12 = a12 == b12; @@ -1213,9 +1213,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -1223,9 +1223,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -1233,9 +1233,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -1243,9 +1243,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -1253,9 +1253,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -1263,9 +1263,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -1273,9 +1273,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b8 = b8 == a8; >r5b8 : boolean @@ -1283,9 +1283,9 @@ var r5b8 = b8 == a8; >b8 == a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b9 = b9 == a9; >r5b9 : boolean @@ -1293,9 +1293,9 @@ var r5b9 = b9 == a9; >b9 == a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b10 = b10 == a10; >r5b10 : boolean @@ -1303,9 +1303,9 @@ var r5b10 = b10 == a10; >b10 == a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5b11 = b11 == a11; >r5b11 : boolean @@ -1313,9 +1313,9 @@ var r5b11 = b11 == a11; >b11 == a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r5b12 = b12 == a12; @@ -1326,9 +1326,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -1336,9 +1336,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -1346,9 +1346,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -1356,9 +1356,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -1366,9 +1366,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -1376,9 +1376,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -1386,9 +1386,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a8 = a8 != b8; >r6a8 : boolean @@ -1396,9 +1396,9 @@ var r6a8 = a8 != b8; >a8 != b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a9 = a9 != b9; >r6a9 : boolean @@ -1406,9 +1406,9 @@ var r6a9 = a9 != b9; >a9 != b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a10 = a10 != b10; >r6a10 : boolean @@ -1416,9 +1416,9 @@ var r6a10 = a10 != b10; >a10 != b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a11 = a11 != b11; >r6a11 : boolean @@ -1426,9 +1426,9 @@ var r6a11 = a11 != b11; >a11 != b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r6a12 = a12 != b12; @@ -1438,9 +1438,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -1448,9 +1448,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -1458,9 +1458,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -1468,9 +1468,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -1478,9 +1478,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -1488,9 +1488,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -1498,9 +1498,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b8 = b8 != a8; >r6b8 : boolean @@ -1508,9 +1508,9 @@ var r6b8 = b8 != a8; >b8 != a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b9 = b9 != a9; >r6b9 : boolean @@ -1518,9 +1518,9 @@ var r6b9 = b9 != a9; >b9 != a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b10 = b10 != a10; >r6b10 : boolean @@ -1528,9 +1528,9 @@ var r6b10 = b10 != a10; >b10 != a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6b11 = b11 != a11; >r6b11 : boolean @@ -1538,9 +1538,9 @@ var r6b11 = b11 != a11; >b11 != a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r6b12 = b12 != a12; @@ -1551,9 +1551,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -1561,9 +1561,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -1571,9 +1571,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -1581,9 +1581,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1591,9 +1591,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1601,9 +1601,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1611,9 +1611,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a8 = a8 === b8; >r7a8 : boolean @@ -1621,9 +1621,9 @@ var r7a8 = a8 === b8; >a8 === b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a9 = a9 === b9; >r7a9 : boolean @@ -1631,9 +1631,9 @@ var r7a9 = a9 === b9; >a9 === b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a10 = a10 === b10; >r7a10 : boolean @@ -1641,9 +1641,9 @@ var r7a10 = a10 === b10; >a10 === b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a11 = a11 === b11; >r7a11 : boolean @@ -1651,9 +1651,9 @@ var r7a11 = a11 === b11; >a11 === b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r7a12 = a12 === b12; @@ -1663,9 +1663,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1673,9 +1673,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1683,9 +1683,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1693,9 +1693,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1703,9 +1703,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1713,9 +1713,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1723,9 +1723,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b8 = b8 === a8; >r7b8 : boolean @@ -1733,9 +1733,9 @@ var r7b8 = b8 === a8; >b8 === a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b9 = b9 === a9; >r7b9 : boolean @@ -1743,9 +1743,9 @@ var r7b9 = b9 === a9; >b9 === a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b10 = b10 === a10; >r7b10 : boolean @@ -1753,9 +1753,9 @@ var r7b10 = b10 === a10; >b10 === a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7b11 = b11 === a11; >r7b11 : boolean @@ -1763,9 +1763,9 @@ var r7b11 = b11 === a11; >b11 === a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r7b12 = b12 === a12; @@ -1776,9 +1776,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1786,9 +1786,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1796,9 +1796,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1806,9 +1806,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1816,9 +1816,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1826,9 +1826,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1836,9 +1836,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a8 = a8 !== b8; >r8a8 : boolean @@ -1846,9 +1846,9 @@ var r8a8 = a8 !== b8; >a8 !== b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a9 = a9 !== b9; >r8a9 : boolean @@ -1856,9 +1856,9 @@ var r8a9 = a9 !== b9; >a9 !== b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a10 = a10 !== b10; >r8a10 : boolean @@ -1866,9 +1866,9 @@ var r8a10 = a10 !== b10; >a10 !== b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a11 = a11 !== b11; >r8a11 : boolean @@ -1876,9 +1876,9 @@ var r8a11 = a11 !== b11; >a11 !== b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r8a12 = a12 !== b12; @@ -1888,9 +1888,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1898,9 +1898,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1908,9 +1908,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1918,9 +1918,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1928,9 +1928,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1938,9 +1938,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1948,9 +1948,9 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b8 = b8 !== a8; >r8b8 : boolean @@ -1958,9 +1958,9 @@ var r8b8 = b8 !== a8; >b8 !== a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b9 = b9 !== a9; >r8b9 : boolean @@ -1968,9 +1968,9 @@ var r8b9 = b9 !== a9; >b9 !== a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b10 = b10 !== a10; >r8b10 : boolean @@ -1978,9 +1978,9 @@ var r8b10 = b10 !== a10; >b10 !== a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8b11 = b11 !== a11; >r8b11 : boolean @@ -1988,8 +1988,8 @@ var r8b11 = b11 !== a11; >b11 !== a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r8b12 = b12 !== a12; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types index 2ca35e1624653..e740e0c2a8921 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types @@ -141,9 +141,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -151,9 +151,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -161,9 +161,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -171,9 +171,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -181,9 +181,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -191,9 +191,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -201,9 +201,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a8 = a8 < b8; >r1a8 : boolean @@ -211,9 +211,9 @@ var r1a8 = a8 < b8; >a8 < b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a9 = a9 < b9; >r1a9 : boolean @@ -221,9 +221,9 @@ var r1a9 = a9 < b9; >a9 < b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r1a10 = a10 < b10; @@ -233,9 +233,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -243,9 +243,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -253,9 +253,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -263,9 +263,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -273,9 +273,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -283,9 +283,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -293,9 +293,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1b8 = b8 < a8; >r1b8 : boolean @@ -303,9 +303,9 @@ var r1b8 = b8 < a8; >b8 < a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1b9 = b9 < a9; >r1b9 : boolean @@ -313,9 +313,9 @@ var r1b9 = b9 < a9; >b9 < a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r1b10 = b10 < a10; @@ -326,9 +326,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -336,9 +336,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -346,9 +346,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -356,9 +356,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -366,9 +366,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -376,9 +376,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -386,9 +386,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a8 = a8 > b8; >r2a8 : boolean @@ -396,9 +396,9 @@ var r2a8 = a8 > b8; >a8 > b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a9 = a9 > b9; >r2a9 : boolean @@ -406,9 +406,9 @@ var r2a9 = a9 > b9; >a9 > b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r2a10 = a10 > b10; @@ -418,9 +418,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -428,9 +428,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -438,9 +438,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -448,9 +448,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -458,9 +458,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -468,9 +468,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -478,9 +478,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2b8 = b8 > a8; >r2b8 : boolean @@ -488,9 +488,9 @@ var r2b8 = b8 > a8; >b8 > a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2b9 = b9 > a9; >r2b9 : boolean @@ -498,9 +498,9 @@ var r2b9 = b9 > a9; >b9 > a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r2b10 = b10 > a10; @@ -511,9 +511,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -521,9 +521,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -531,9 +531,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -541,9 +541,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -551,9 +551,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -561,9 +561,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -571,9 +571,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a8 = a8 <= b8; >r3a8 : boolean @@ -581,9 +581,9 @@ var r3a8 = a8 <= b8; >a8 <= b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a9 = a9 <= b9; >r3a9 : boolean @@ -591,9 +591,9 @@ var r3a9 = a9 <= b9; >a9 <= b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r3a10 = a10 <= b10; @@ -603,9 +603,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -613,9 +613,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -623,9 +623,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -633,9 +633,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -643,9 +643,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -653,9 +653,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -663,9 +663,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3b8 = b8 <= a8; >r3b8 : boolean @@ -673,9 +673,9 @@ var r3b8 = b8 <= a8; >b8 <= a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3b9 = b9 <= a9; >r3b9 : boolean @@ -683,9 +683,9 @@ var r3b9 = b9 <= a9; >b9 <= a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r3b10 = b10 <= a10; @@ -696,9 +696,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -706,9 +706,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -716,9 +716,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -726,9 +726,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -736,9 +736,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -746,9 +746,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -756,9 +756,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a8 = a8 >= b8; >r4a8 : boolean @@ -766,9 +766,9 @@ var r4a8 = a8 >= b8; >a8 >= b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a9 = a9 >= b9; >r4a9 : boolean @@ -776,9 +776,9 @@ var r4a9 = a9 >= b9; >a9 >= b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r4a10 = a10 >= b10; @@ -788,9 +788,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -798,9 +798,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -808,9 +808,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -818,9 +818,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -828,9 +828,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -838,9 +838,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -848,9 +848,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b8 = b8 >= a8; >r4b8 : boolean @@ -858,9 +858,9 @@ var r4b8 = b8 >= a8; >b8 >= a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4b9 = b9 >= a9; >r4b9 : boolean @@ -868,9 +868,9 @@ var r4b9 = b9 >= a9; >b9 >= a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r4b10 = b10 >= a10; @@ -881,9 +881,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -891,9 +891,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -901,9 +901,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -911,9 +911,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -921,9 +921,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -931,9 +931,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -941,9 +941,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a8 = a8 == b8; >r5a8 : boolean @@ -951,9 +951,9 @@ var r5a8 = a8 == b8; >a8 == b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a9 = a9 == b9; >r5a9 : boolean @@ -961,9 +961,9 @@ var r5a9 = a9 == b9; >a9 == b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r5a10 = a10 == b10; @@ -973,9 +973,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -983,9 +983,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -993,9 +993,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -1003,9 +1003,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -1013,9 +1013,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -1023,9 +1023,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -1033,9 +1033,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5b8 = b8 == a8; >r5b8 : boolean @@ -1043,9 +1043,9 @@ var r5b8 = b8 == a8; >b8 == a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5b9 = b9 == a9; >r5b9 : boolean @@ -1053,9 +1053,9 @@ var r5b9 = b9 == a9; >b9 == a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r5b10 = b10 == a10; @@ -1066,9 +1066,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -1076,9 +1076,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -1086,9 +1086,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -1096,9 +1096,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -1106,9 +1106,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -1116,9 +1116,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -1126,9 +1126,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a8 = a8 != b8; >r6a8 : boolean @@ -1136,9 +1136,9 @@ var r6a8 = a8 != b8; >a8 != b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a9 = a9 != b9; >r6a9 : boolean @@ -1146,9 +1146,9 @@ var r6a9 = a9 != b9; >a9 != b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r6a10 = a10 != b10; @@ -1158,9 +1158,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -1168,9 +1168,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -1178,9 +1178,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -1188,9 +1188,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -1198,9 +1198,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -1208,9 +1208,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -1218,9 +1218,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b8 = b8 != a8; >r6b8 : boolean @@ -1228,9 +1228,9 @@ var r6b8 = b8 != a8; >b8 != a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6b9 = b9 != a9; >r6b9 : boolean @@ -1238,9 +1238,9 @@ var r6b9 = b9 != a9; >b9 != a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r6b10 = b10 != a10; @@ -1251,9 +1251,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -1261,9 +1261,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -1271,9 +1271,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -1281,9 +1281,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1291,9 +1291,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1301,9 +1301,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1311,9 +1311,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a8 = a8 === b8; >r7a8 : boolean @@ -1321,9 +1321,9 @@ var r7a8 = a8 === b8; >a8 === b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a9 = a9 === b9; >r7a9 : boolean @@ -1331,9 +1331,9 @@ var r7a9 = a9 === b9; >a9 === b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r7a10 = a10 === b10; @@ -1343,9 +1343,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1353,9 +1353,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1363,9 +1363,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1373,9 +1373,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1383,9 +1383,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1393,9 +1393,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1403,9 +1403,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7b8 = b8 === a8; >r7b8 : boolean @@ -1413,9 +1413,9 @@ var r7b8 = b8 === a8; >b8 === a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7b9 = b9 === a9; >r7b9 : boolean @@ -1423,9 +1423,9 @@ var r7b9 = b9 === a9; >b9 === a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r7b10 = b10 === a10; @@ -1436,9 +1436,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1446,9 +1446,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1456,9 +1456,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1466,9 +1466,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1476,9 +1476,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1486,9 +1486,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1496,9 +1496,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a8 = a8 !== b8; >r8a8 : boolean @@ -1506,9 +1506,9 @@ var r8a8 = a8 !== b8; >a8 !== b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a9 = a9 !== b9; >r8a9 : boolean @@ -1516,9 +1516,9 @@ var r8a9 = a9 !== b9; >a9 !== b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r8a10 = a10 !== b10; @@ -1528,9 +1528,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1538,9 +1538,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1548,9 +1548,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1558,9 +1558,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1568,9 +1568,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1578,9 +1578,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1588,9 +1588,9 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8b8 = b8 !== a8; >r8b8 : boolean @@ -1598,9 +1598,9 @@ var r8b8 = b8 !== a8; >b8 !== a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8b9 = b9 !== a9; >r8b9 : boolean @@ -1608,8 +1608,8 @@ var r8b9 = b9 !== a9; >b9 !== a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r8b10 = b10 !== a10; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types index e4845adab1c43..553082c6e33b2 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types @@ -145,9 +145,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -155,9 +155,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -165,9 +165,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -175,9 +175,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -185,9 +185,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -195,9 +195,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r1a7 = a7 < b7; @@ -207,9 +207,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -217,9 +217,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -227,9 +227,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -237,9 +237,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -247,9 +247,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -257,9 +257,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r1b7 = b7 < a7; @@ -270,9 +270,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -280,9 +280,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -290,9 +290,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -300,9 +300,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -310,9 +310,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -320,9 +320,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r2a7 = a7 > b7; @@ -332,9 +332,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -342,9 +342,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -352,9 +352,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -362,9 +362,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -372,9 +372,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -382,9 +382,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r2b7 = b7 > a7; @@ -395,9 +395,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -405,9 +405,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -415,9 +415,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -425,9 +425,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -435,9 +435,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -445,9 +445,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r3a7 = a7 <= b7; @@ -457,9 +457,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -467,9 +467,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -477,9 +477,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -487,9 +487,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -497,9 +497,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -507,9 +507,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r3b7 = b7 <= a7; @@ -520,9 +520,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -530,9 +530,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -540,9 +540,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -550,9 +550,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -560,9 +560,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -570,9 +570,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r4a7 = a7 >= b7; @@ -582,9 +582,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -592,9 +592,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -602,9 +602,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -612,9 +612,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -622,9 +622,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -632,9 +632,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r4b7 = b7 >= a7; @@ -645,9 +645,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -655,9 +655,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -665,9 +665,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -675,9 +675,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -685,9 +685,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -695,9 +695,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r5a7 = a7 == b7; @@ -707,9 +707,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -717,9 +717,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -727,9 +727,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -737,9 +737,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -747,9 +747,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -757,9 +757,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r5b7 = b7 == a7; @@ -770,9 +770,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -780,9 +780,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -790,9 +790,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -800,9 +800,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -810,9 +810,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -820,9 +820,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r6a7 = a7 != b7; @@ -832,9 +832,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -842,9 +842,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -852,9 +852,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -862,9 +862,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -872,9 +872,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -882,9 +882,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r6b7 = b7 != a7; @@ -895,9 +895,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -905,9 +905,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -915,9 +915,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -925,9 +925,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -935,9 +935,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -945,9 +945,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r7a7 = a7 === b7; @@ -957,9 +957,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -967,9 +967,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -977,9 +977,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -987,9 +987,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -997,9 +997,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1007,9 +1007,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r7b7 = b7 === a7; @@ -1020,9 +1020,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1030,9 +1030,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1040,9 +1040,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1050,9 +1050,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1060,9 +1060,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1070,9 +1070,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r8a7 = a7 !== b7; @@ -1082,9 +1082,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1092,9 +1092,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1102,9 +1102,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1112,9 +1112,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1122,9 +1122,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1132,8 +1132,8 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r8b7 = b7 !== a7; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types index 6ea3287e40501..454954ac0c783 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types @@ -119,9 +119,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -129,9 +129,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -139,9 +139,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -149,9 +149,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -159,9 +159,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -169,9 +169,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r1a7 = a7 < b7; @@ -181,9 +181,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -191,9 +191,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -201,9 +201,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -211,9 +211,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -221,9 +221,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -231,9 +231,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r1b7 = b7 < a7; @@ -244,9 +244,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -254,9 +254,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -264,9 +264,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -274,9 +274,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -284,9 +284,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -294,9 +294,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r2a7 = a7 > b7; @@ -306,9 +306,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -316,9 +316,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -326,9 +326,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -336,9 +336,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -346,9 +346,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -356,9 +356,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r2b7 = b7 > a7; @@ -369,9 +369,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -379,9 +379,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -389,9 +389,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -399,9 +399,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -409,9 +409,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -419,9 +419,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r3a7 = a7 <= b7; @@ -431,9 +431,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -441,9 +441,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -451,9 +451,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -461,9 +461,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -471,9 +471,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -481,9 +481,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r3b7 = b7 <= a7; @@ -494,9 +494,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -504,9 +504,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -514,9 +514,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -524,9 +524,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -534,9 +534,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -544,9 +544,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r4a7 = a7 >= b7; @@ -556,9 +556,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -566,9 +566,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -576,9 +576,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -586,9 +586,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -596,9 +596,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -606,9 +606,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r4b7 = b7 >= a7; @@ -619,9 +619,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -629,9 +629,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -639,9 +639,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -649,9 +649,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -659,9 +659,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -669,9 +669,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r5a7 = a7 == b7; @@ -681,9 +681,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -691,9 +691,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -701,9 +701,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -711,9 +711,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -721,9 +721,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -731,9 +731,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r5b7 = b7 == a7; @@ -744,9 +744,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -754,9 +754,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -764,9 +764,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -774,9 +774,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -784,9 +784,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -794,9 +794,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r6a7 = a7 != b7; @@ -806,9 +806,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -816,9 +816,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -826,9 +826,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -836,9 +836,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -846,9 +846,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -856,9 +856,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r6b7 = b7 != a7; @@ -869,9 +869,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -879,9 +879,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -889,9 +889,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -899,9 +899,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -909,9 +909,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -919,9 +919,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r7a7 = a7 === b7; @@ -931,9 +931,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -941,9 +941,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -951,9 +951,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -961,9 +961,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -971,9 +971,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -981,9 +981,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r7b7 = b7 === a7; @@ -994,9 +994,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1004,9 +1004,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1014,9 +1014,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1024,9 +1024,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1034,9 +1034,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1044,9 +1044,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r8a7 = a7 !== b7; @@ -1056,9 +1056,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1066,9 +1066,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1076,9 +1076,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1086,9 +1086,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1096,9 +1096,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1106,8 +1106,8 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r8b7 = b7 !== a7; diff --git a/tests/baselines/reference/completionsStringMethods.baseline b/tests/baselines/reference/completionsStringMethods.baseline index bffbebf8fd576..f8406ab6904f1 100644 --- a/tests/baselines/reference/completionsStringMethods.baseline +++ b/tests/baselines/reference/completionsStringMethods.baseline @@ -10,7 +10,7 @@ // | (method) String.lastIndexOf(searchString: string, position?: number): number // | (property) String.length: number // | (method) String.localeCompare(that: string): number (+1 overload) -// | (method) String.match(regexp: string | RegExp): RegExpMatchArray +// | (method) String.match(regexp: string | RegExp): RegExpMatchArray | null // | (method) String.replace(searchValue: string | RegExp, replaceValue: string): string (+1 overload) // | (method) String.search(regexp: string | RegExp): number // | (method) String.slice(start?: number, end?: number): string @@ -890,6 +890,22 @@ { "text": "RegExpMatchArray", "kind": "interfaceName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" } ], "documentation": [ diff --git a/tests/baselines/reference/complexClassRelationships.types b/tests/baselines/reference/complexClassRelationships.types index 4a523de25e84c..215b0b3f3a87d 100644 --- a/tests/baselines/reference/complexClassRelationships.types +++ b/tests/baselines/reference/complexClassRelationships.types @@ -124,11 +124,11 @@ class Foo { >BaseCollection : typeof BaseCollection > : ^^^^^^^^^^^^^^^^^^^^^ >Derived.createEmpty : () => Derived -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >createEmpty : () => Derived -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/complexRecursiveCollections.types b/tests/baselines/reference/complexRecursiveCollections.types index 77efaab96cf4f..11d60bdbb0778 100644 --- a/tests/baselines/reference/complexRecursiveCollections.types +++ b/tests/baselines/reference/complexRecursiveCollections.types @@ -41,7 +41,7 @@ interface Collection { // these seem necessary to push it over the top for memory usage reduce(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; >reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : R @@ -59,7 +59,7 @@ interface Collection { reduce(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; >reduce : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: V | R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : V | R @@ -325,7 +325,7 @@ declare module Immutable { update(index: number, notSetValue: T, updater: (value: T) => T): this; >update : { (index: number, notSetValue: T, updater: (value: T) => T): this; (index: number, updater: (value: T) => T): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ >notSetValue : T @@ -337,7 +337,7 @@ declare module Immutable { update(index: number, updater: (value: T) => T): this; >update : { (index: number, notSetValue: T, updater: (value: T) => T): this; (index: number, updater: (value: T) => T): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ >updater : (value: T) => T @@ -347,7 +347,7 @@ declare module Immutable { update(updater: (value: this) => R): R; >update : { (index: number, notSetValue: T, updater: (value: T) => T): this; (index: number, updater: (value: T) => T): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >updater : (value: this) => R > : ^ ^^ ^^^^^ >value : this @@ -430,7 +430,7 @@ declare module Immutable { updateIn(keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >notSetValue : any @@ -442,7 +442,7 @@ declare module Immutable { updateIn(keyPath: Iterable, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >updater : (value: any) => any @@ -520,7 +520,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): List; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): List; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -534,7 +534,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): List; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -633,7 +633,7 @@ declare module Immutable { update(key: K, notSetValue: V, updater: (value: V) => V): this; >update : { (key: K, notSetValue: V, updater: (value: V) => V): this; (key: K, updater: (value: V) => V): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >key : K > : ^ >notSetValue : V @@ -645,7 +645,7 @@ declare module Immutable { update(key: K, updater: (value: V) => V): this; >update : { (key: K, notSetValue: V, updater: (value: V) => V): this; (key: K, updater: (value: V) => V): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >key : K > : ^ >updater : (value: V) => V @@ -655,7 +655,7 @@ declare module Immutable { update(updater: (value: this) => R): R; >update : { (key: K, notSetValue: V, updater: (value: V) => V): this; (key: K, updater: (value: V) => V): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >updater : (value: this) => R > : ^ ^^ ^^^^^ >value : this @@ -732,7 +732,7 @@ declare module Immutable { updateIn(keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >notSetValue : any @@ -744,7 +744,7 @@ declare module Immutable { updateIn(keyPath: Iterable, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >updater : (value: any) => any @@ -787,14 +787,14 @@ declare module Immutable { // Sequence algorithms concat(...collections: Array>): Map; ->concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ concat(...collections: Array<{[key: string]: C}>): Map; >concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -858,7 +858,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Map; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Map; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -872,7 +872,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Map; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -925,14 +925,14 @@ declare module Immutable { export interface OrderedMap extends Map { // Sequence algorithms concat(...collections: Array>): OrderedMap; ->concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ concat(...collections: Array<{[key: string]: C}>): OrderedMap; >concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -996,7 +996,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): OrderedMap; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): OrderedMap; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -1010,7 +1010,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): OrderedMap; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -1040,13 +1040,13 @@ declare module Immutable { function fromKeys(iter: Collection): Set; >fromKeys : { (iter: Collection): Set; (obj: { [key: string]: any; }): Set; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >iter : Collection > : ^^^^^^^^^^^^^^^^^^ function fromKeys(obj: {[key: string]: any}): Set; >fromKeys : { (iter: Collection): Set; (obj: { [key: string]: any; }): Set; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { [key: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1183,7 +1183,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1197,7 +1197,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1227,13 +1227,13 @@ declare module Immutable { function fromKeys(iter: Collection): OrderedSet; >fromKeys : { (iter: Collection): OrderedSet; (obj: { [key: string]: any; }): OrderedSet; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >iter : Collection > : ^^^^^^^^^^^^^^^^^^ function fromKeys(obj: {[key: string]: any}): OrderedSet; >fromKeys : { (iter: Collection): OrderedSet; (obj: { [key: string]: any; }): OrderedSet; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { [key: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1291,7 +1291,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): OrderedSet; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): OrderedSet; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1305,7 +1305,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): OrderedSet; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1325,7 +1325,7 @@ declare module Immutable { zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; >zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z_1, ...collections: Array>): OrderedSet; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U) => Z > : ^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1337,7 +1337,7 @@ declare module Immutable { zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; >zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z_1, ...collections: Array>): OrderedSet; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U, thirdValue: V) => Z > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1353,7 +1353,7 @@ declare module Immutable { zipWith(zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; >zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (...any: Array) => Z > : ^^^^ ^^ ^^^^^ >any : any[] @@ -1491,7 +1491,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): Set; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Set; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1505,7 +1505,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Set; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1812,16 +1812,16 @@ declare module Immutable { export module Keyed {} export function Keyed(collection: Iterable<[K, V]>): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Keyed; (): Keyed; (): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >collection : Iterable<[K, V]> > : ^^^^^^^^^^^^^^^^ >Seq : any > : ^^^ export function Keyed(obj: {[key: string]: V}): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V_1]>): Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Keyed; (): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K, V_1]>): Seq.Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >obj : { [key: string]: V; } > : ^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1830,14 +1830,14 @@ declare module Immutable { > : ^^^ export function Keyed(): Seq.Keyed; ->Keyed : { (collection: Iterable<[K_1, V_1]>): Keyed; (obj: { [key: string]: V_1; }): Keyed; (): Seq.Keyed; (): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K_1, V_1]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >Seq : any > : ^^^ export function Keyed(): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V; }): Keyed; (): Keyed; (): Seq.Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >Seq : any > : ^^^ @@ -1860,16 +1860,16 @@ declare module Immutable { > : ^^^^^^ concat(...collections: Array>): Seq.Keyed; ->concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ >Seq : any > : ^^^ concat(...collections: Array<{[key: string]: C}>): Seq.Keyed; ->concat : { (...collections: Array>): Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +>concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1943,7 +1943,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq.Keyed; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -1958,8 +1958,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2061,7 +2061,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): Seq.Indexed; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Seq.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2076,8 +2076,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Seq.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2179,7 +2179,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): Seq.Set; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Seq.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2194,8 +2194,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Seq.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2307,7 +2307,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2321,7 +2321,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2371,16 +2371,16 @@ declare module Immutable { export module Keyed {} export function Keyed(collection: Iterable<[K, V]>): Collection.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Collection.Keyed; (obj: { [key: string]: V_1; }): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K, V]>): Collection.Keyed; (obj: { [key: string]: V_1; }): Collection.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >collection : Iterable<[K, V]> > : ^^^^^^^^^^^^^^^^ >Collection : any > : ^^^ export function Keyed(obj: {[key: string]: V}): Collection.Keyed; ->Keyed : { (collection: Iterable<[K, V_1]>): Keyed; (obj: { [key: string]: V; }): Collection.Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>Keyed : { (collection: Iterable<[K, V_1]>): Collection.Keyed; (obj: { [key: string]: V; }): Collection.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj : { [key: string]: V; } > : ^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -2411,16 +2411,16 @@ declare module Immutable { > : ^^^^^^ concat(...collections: Array>): Collection.Keyed; ->concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ >Collection : any > : ^^^ concat(...collections: Array<{[key: string]: C}>): Collection.Keyed; ->concat : { (...collections: Array>): Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +>concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -2494,7 +2494,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection.Keyed; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2509,8 +2509,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2552,8 +2552,8 @@ declare module Immutable { // Reading values get(index: number, notSetValue: NSV): T | NSV; ->get : { (index: number, notSetValue: NSV): T | NSV; (index: number): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +>get : { (index: number, notSetValue: NSV): T | NSV; (index: number): T | undefined; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ >notSetValue : NSV @@ -2561,7 +2561,7 @@ declare module Immutable { get(index: number): T | undefined; >get : { (index: number, notSetValue: NSV): T | NSV; (index: number): T | undefined; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ @@ -2610,8 +2610,8 @@ declare module Immutable { > : ^^^ zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z_1, ...collections: Array>): Indexed; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z_1, ...collections: Array>): Collection.Indexed; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U) => Z > : ^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2624,8 +2624,8 @@ declare module Immutable { > : ^^^ zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z_1, ...collections: Array>): Indexed; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +>zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z_1, ...collections: Array>): Collection.Indexed; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U, thirdValue: V) => Z > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2642,8 +2642,8 @@ declare module Immutable { > : ^^^ zipWith(zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +>zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (...any: Array) => Z > : ^^^^ ^^ ^^^^^ >any : any[] @@ -2737,7 +2737,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): Collection.Indexed; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Collection.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2752,8 +2752,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Collection.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2842,7 +2842,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): Collection.Set; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Collection.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2857,8 +2857,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Collection.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2919,8 +2919,8 @@ declare module Immutable { // Reading values get(key: K, notSetValue: NSV): V | NSV; ->get : { (key: K, notSetValue: NSV): V | NSV; (key: K): V; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +>get : { (key: K, notSetValue: NSV): V | NSV; (key: K): V | undefined; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : K > : ^ >notSetValue : NSV @@ -2928,7 +2928,7 @@ declare module Immutable { get(key: K): V | undefined; >get : { (key: K, notSetValue: NSV): V | NSV; (key: K): V | undefined; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : K > : ^ @@ -3102,7 +3102,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -3116,7 +3116,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -3311,13 +3311,13 @@ declare module Immutable { flatten(depth?: number): Collection; >flatten : { (depth?: number): Collection; (shallow?: boolean): Collection; } -> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >depth : number > : ^^^^^^ flatten(shallow?: boolean): Collection; >flatten : { (depth?: number): Collection; (shallow?: boolean): Collection; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >shallow : boolean > : ^^^^^^^ @@ -3338,7 +3338,7 @@ declare module Immutable { // Reducing a value reduce(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; >reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : R @@ -3356,7 +3356,7 @@ declare module Immutable { reduce(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; >reduce : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: V | R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : V | R @@ -3370,7 +3370,7 @@ declare module Immutable { reduceRight(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; >reduceRight : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : R @@ -3388,7 +3388,7 @@ declare module Immutable { reduceRight(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; >reduceRight : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: V | R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : V | R @@ -3440,11 +3440,11 @@ declare module Immutable { count(): number; >count : { (): number; (predicate: (value: V, key: K, iter: this) => boolean, context?: any): number; } -> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ count(predicate: (value: V, key: K, iter: this) => boolean, context?: any): number; >count : { (): number; (predicate: (value: V, key: K, iter: this) => boolean, context?: any): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => boolean > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V diff --git a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types index 40b6472a23f48..bfb1d6d746566 100644 --- a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types +++ b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types @@ -95,8 +95,8 @@ const newTextChannel = makeNewChannel('text'); > : ^^^^^^^^^^^^^^^^^^^^^^^ >makeNewChannel('text') : NewChannel > : ^^^^^^^^^^^^^^^^^^^^^^^ ->makeNewChannel : (type: T) => NewChannel | ChannelOfType> -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>makeNewChannel : (type: T) => NewChannel> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'text' : "text" > : ^^^^^^ @@ -118,8 +118,8 @@ const newTextChannel2 : NewChannel = makeNewChannel('text'); > : ^^^^^^^^^^^^^^^^^^^^^^^ >makeNewChannel('text') : NewChannel > : ^^^^^^^^^^^^^^^^^^^^^^^ ->makeNewChannel : (type: T) => NewChannel | ChannelOfType> -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>makeNewChannel : (type: T) => NewChannel> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'text' : "text" > : ^^^^^^ diff --git a/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types b/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types index 8220532c735ae..f1114d508acbc 100644 --- a/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types +++ b/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types @@ -34,7 +34,7 @@ Func({ >Func({ initialValues: { foo: "" }, validate: props => { props.foo; }}) : void > : ^^^^ >Func : (x: (string extends "validate" | "initialValues" | keyof ExtraProps ? Readonly & ExtraProps> : Pick & ExtraProps>, "validate" | "initialValues" | Exclude> & Partial & ExtraProps>, "validateOnChange" | Extract>>)) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ >{ initialValues: { foo: "" }, validate: props => { props.foo; }} : { initialValues: { foo: string; }; validate: (props: { foo: string; }) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/compositeContextualSignature.types b/tests/baselines/reference/compositeContextualSignature.types index 6f5c1f4c51932..4fabb5fc1abaa 100644 --- a/tests/baselines/reference/compositeContextualSignature.types +++ b/tests/baselines/reference/compositeContextualSignature.types @@ -46,11 +46,11 @@ f([ >console.log('Hello') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'Hello' : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/compositeGenericFunction.types b/tests/baselines/reference/compositeGenericFunction.types index c970a57b4c2ad..26d92ea93f944 100644 --- a/tests/baselines/reference/compositeGenericFunction.types +++ b/tests/baselines/reference/compositeGenericFunction.types @@ -23,7 +23,7 @@ var z: number = h(f); >h(f) : number > : ^^^^^^ >h : (func: (x: number) => R) => R -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (value: T) => T > : ^ ^^ ^^ ^^^^^^ @@ -33,7 +33,7 @@ var z: number = h(f); >h(f) : number > : ^^^^^^ >h : (func: (x: number) => R) => R -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (value: T) => T > : ^ ^^ ^^ ^^^^^^ diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types index feaeda0812c5a..75206941990c4 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types @@ -58,7 +58,7 @@ x4 += ''; >x4 += '' : string > : ^^^^^^ >x4 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/compoundAssignmentLHSIsReference.types b/tests/baselines/reference/compoundAssignmentLHSIsReference.types index 0eef9403b74f9..f4eeb8aa06707 100644 --- a/tests/baselines/reference/compoundAssignmentLHSIsReference.types +++ b/tests/baselines/reference/compoundAssignmentLHSIsReference.types @@ -55,7 +55,7 @@ x3.a *= value; >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -65,7 +65,7 @@ x3.a += value; >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -76,7 +76,7 @@ x3['a'] *= value; >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -86,7 +86,7 @@ x3['a'] += value; >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -141,7 +141,7 @@ function fn2(x4: number) { >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -153,7 +153,7 @@ function fn2(x4: number) { >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -166,7 +166,7 @@ function fn2(x4: number) { >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -178,7 +178,7 @@ function fn2(x4: number) { >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types index 69cd232a1d6f5..9a71c0e71ec45 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types @@ -43,7 +43,7 @@ x3.a **= value; >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -54,7 +54,7 @@ x3['a'] **= value; >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -93,7 +93,7 @@ function fn2(x4: number) { >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -106,7 +106,7 @@ function fn2(x4: number) { >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any diff --git a/tests/baselines/reference/computedEnumTypeWidening.types b/tests/baselines/reference/computedEnumTypeWidening.types index 660fd13691fe7..6fa088fdad919 100644 --- a/tests/baselines/reference/computedEnumTypeWidening.types +++ b/tests/baselines/reference/computedEnumTypeWidening.types @@ -17,7 +17,7 @@ enum E { >computed(0) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,7 +27,7 @@ enum E { >computed(1) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -37,7 +37,7 @@ enum E { >computed(2) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ @@ -47,7 +47,7 @@ enum E { >computed(3) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ } diff --git a/tests/baselines/reference/computedPropertiesNarrowed.types b/tests/baselines/reference/computedPropertiesNarrowed.types index 726ce7a62716c..81a74a3aca456 100644 --- a/tests/baselines/reference/computedPropertiesNarrowed.types +++ b/tests/baselines/reference/computedPropertiesNarrowed.types @@ -9,11 +9,11 @@ const x: 0 | 1 = Math.random()? 0: 1; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ >1 : 1 @@ -29,7 +29,7 @@ assert(x); >assert(x) : void > : ^^^^ >assert : (n: number) => asserts n is 1 -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : 0 | 1 > : ^^^^^ @@ -195,7 +195,7 @@ export let o7 = { >foo() : 1 > : ^ >foo : () => 1 -> : ^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types index aa1fb0c5f61b8..c3729ec41f0bf 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.types +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -22,7 +22,7 @@ extractIndexer({ >extractIndexer({ [a]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [a]: ""} : { [x: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ extractIndexer({ >extractIndexer({ [E.x]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [E.x]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ ["" || 0]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames48_ES6.types b/tests/baselines/reference/computedPropertyNames48_ES6.types index 490a198ee1081..4c0d97a7815c0 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES6.types +++ b/tests/baselines/reference/computedPropertyNames48_ES6.types @@ -22,7 +22,7 @@ extractIndexer({ >extractIndexer({ [a]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [a]: ""} : { [x: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ extractIndexer({ >extractIndexer({ [E.x]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [E.x]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ ["" || 0]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames52(target=es2015).types b/tests/baselines/reference/computedPropertyNames52(target=es2015).types index 363489a32ea45..df52d0e4b1c76 100644 --- a/tests/baselines/reference/computedPropertyNames52(target=es2015).types +++ b/tests/baselines/reference/computedPropertyNames52(target=es2015).types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >array.push(class C { [i] = () => C; static [i] = 100; }) : number > : ^^^^^^ >array.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >array : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { [i] = () => C; static [i] = 100; } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/computedPropertyNames52(target=es5).types b/tests/baselines/reference/computedPropertyNames52(target=es5).types index 363489a32ea45..df52d0e4b1c76 100644 --- a/tests/baselines/reference/computedPropertyNames52(target=es5).types +++ b/tests/baselines/reference/computedPropertyNames52(target=es5).types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >array.push(class C { [i] = () => C; static [i] = 100; }) : number > : ^^^^^^ >array.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >array : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { [i] = () => C; static [i] = 100; } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.types b/tests/baselines/reference/computedPropertyNames9_ES5.types index a4d84fddd98ca..a6307cdf10b54 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.types +++ b/tests/baselines/reference/computedPropertyNames9_ES5.types @@ -3,25 +3,25 @@ === computedPropertyNames9_ES5.ts === function f(s: string): string; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function f(n: number): number; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ function f(x: T): T; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ function f(x): any { } >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -37,7 +37,7 @@ var v = { >f("") : string > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >0 : 0 @@ -49,7 +49,7 @@ var v = { >f(0) : number > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >0 : 0 @@ -61,7 +61,7 @@ var v = { >f(true) : true > : ^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >true : true > : ^^^^ >0 : 0 diff --git a/tests/baselines/reference/computedPropertyNames9_ES6.types b/tests/baselines/reference/computedPropertyNames9_ES6.types index 87b749e8e8ced..f4113d070a58e 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES6.types +++ b/tests/baselines/reference/computedPropertyNames9_ES6.types @@ -3,25 +3,25 @@ === computedPropertyNames9_ES6.ts === function f(s: string): string; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function f(n: number): number; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ function f(x: T): T; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ function f(x): any { } >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -37,7 +37,7 @@ var v = { >f("") : string > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >0 : 0 @@ -49,7 +49,7 @@ var v = { >f(0) : number > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >0 : 0 @@ -61,7 +61,7 @@ var v = { >f(true) : true > : ^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >true : true > : ^^^^ >0 : 0 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types index 303bd8cdbe6ef..46a48f1958f3d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types @@ -17,7 +17,7 @@ foo({ >foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | true | (() => void) | number[]; [x: number]: number | (() => void) | number[]; p: string; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types index d0543e5febc75..5a92a5e64cb0d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types @@ -17,7 +17,7 @@ foo({ >foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | true | (() => void) | number[]; [x: number]: number | (() => void) | number[]; p: string; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types index 1ede0808db128..a66a079a392cb 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types @@ -28,7 +28,7 @@ foo({ >foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ g({ p: "" }); >g({ p: "" }) : string > : ^^^^^^ >g : (obj: J) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "" } : { p: string; } > : ^^^^^^^^^^^^^^ >p : string diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types index 355e5969d43bc..7598bb927f06a 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types @@ -28,7 +28,7 @@ foo({ >foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ g({ p: "" }); >g({ p: "" }) : string > : ^^^^^^ >g : (obj: J) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "" } : { p: string; } > : ^^^^^^^^^^^^^^ >p : string diff --git a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types index 2092e7521c257..b230aeac1b469 100644 --- a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types +++ b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types @@ -40,11 +40,11 @@ type FooBar = { foo: "hello"; bar: "world"; }; type WithIndex = Compute; // { [x: string]: {}; foo: "hello"; bar: "world"; } <-- OK >WithIndex : { [x: string]: {}; foo: "hello"; bar: "world"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ type WithoutIndex = OmitIndex; // { foo: "hello"; bar: "world"; } <-- OK >WithoutIndex : OmitIndex<{ [x: string]: {}; foo: "hello"; bar: "world"; }, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ type FooBarKey = keyof FooBar; // "foo" | "bar" <-- OK >FooBarKey : keyof FooBar diff --git a/tests/baselines/reference/concatError.types b/tests/baselines/reference/concatError.types index e4de328530b08..116168a81693e 100644 --- a/tests/baselines/reference/concatError.types +++ b/tests/baselines/reference/concatError.types @@ -23,11 +23,11 @@ fa = fa.concat([0]); >fa.concat([0]) : number[] > : ^^^^^^^^ >fa.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >fa : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 @@ -41,11 +41,11 @@ fa = fa.concat(0); >fa.concat(0) : number[] > : ^^^^^^^^ >fa.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >fa : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/concatTuples.types b/tests/baselines/reference/concatTuples.types index bcf330f4e7ee9..2c2d51bba4bfb 100644 --- a/tests/baselines/reference/concatTuples.types +++ b/tests/baselines/reference/concatTuples.types @@ -21,11 +21,11 @@ ijs = ijs.concat([[3, 4], [5, 6]]); >ijs.concat([[3, 4], [5, 6]]) : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >ijs.concat : { (...items: ConcatArray<[number, number]>[]): [number, number][]; (...items: ([number, number] | ConcatArray<[number, number]>)[]): [number, number][]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >ijs : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >concat : { (...items: ConcatArray<[number, number]>[]): [number, number][]; (...items: ([number, number] | ConcatArray<[number, number]>)[]): [number, number][]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[[3, 4], [5, 6]] : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >[3, 4] : [number, number] diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types index 7c7217aa59e37..74c0f7412c6ed 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types @@ -273,11 +273,11 @@ C.doIt() ? exprString1 : exprString2; >C.doIt() : void > : ^^^^ >C.doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprString2 : string @@ -289,11 +289,11 @@ condObject.valueOf() ? exprIsObject1 : exprIsObject2; >condObject.valueOf() : Object > : ^^^^^^ >condObject.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condObject : Object > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprIsObject1 : Object > : ^^^^^^ >exprIsObject2 : Object @@ -558,11 +558,11 @@ var resultIsString3 = C.doIt() ? exprString1 : exprString2; >C.doIt() : void > : ^^^^ >C.doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprString2 : string @@ -576,11 +576,11 @@ var resultIsObject3 = condObject.valueOf() ? exprIsObject1 : exprIsObject2; >condObject.valueOf() : Object > : ^^^^^^ >condObject.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condObject : Object > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprIsObject1 : Object > : ^^^^^^ >exprIsObject2 : Object @@ -594,11 +594,11 @@ var resultIsStringOrBoolean3 = C.doIt() ? exprString1 : exprBoolean1; // union >C.doIt() : void > : ^^^^ >C.doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types index 9f5b1f0eec828..25f1e9c51dd01 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types @@ -192,11 +192,11 @@ condString.toUpperCase ? exprBoolean1 : exprBoolean2; >condString.toUpperCase ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >condString.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condString : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprBoolean1 : boolean > : ^^^^^^^ >exprBoolean2 : boolean @@ -407,11 +407,11 @@ var resultIsBoolean3 = condString.toUpperCase ? exprBoolean1 : exprBoolean2; >condString.toUpperCase ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >condString.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condString : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprBoolean1 : boolean > : ^^^^^^^ >exprBoolean2 : boolean @@ -483,11 +483,11 @@ var resultIsStringOrBoolean4 = condString.toUpperCase ? exprString1 : exprBoolea >condString.toUpperCase ? exprString1 : exprBoolean1 : string | boolean > : ^^^^^^^^^^^^^^^^ >condString.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condString : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types index b848fd8f663b3..52645c7bfcb5c 100644 --- a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types +++ b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types @@ -41,7 +41,7 @@ export function func(x: XX, tipos: { value: XX }[]) { >x : XX > : ^^ >tipos : { value: XX; }[] -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ >"value" : "value" > : ^^^^^^^ } @@ -73,7 +73,7 @@ onlyNullablePlease(z); // works as expected >onlyNullablePlease(z) : void > : ^^^^ >onlyNullablePlease : (value: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : string | null > : ^^^^^^^^^^^^^ @@ -81,7 +81,7 @@ onlyNullablePlease2(z); // works as expected >onlyNullablePlease2(z) : void > : ^^^^ >onlyNullablePlease2 : (value: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : string | null > : ^^^^^^^^^^^^^ @@ -93,7 +93,7 @@ onlyNullablePlease(y); // error as expected >onlyNullablePlease(y) : void > : ^^^^ >onlyNullablePlease : (value: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : string > : ^^^^^^ @@ -101,7 +101,7 @@ onlyNullablePlease2(y); // error as expected >onlyNullablePlease2(y) : void > : ^^^^ >onlyNullablePlease2 : (value: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : string > : ^^^^^^ @@ -121,11 +121,11 @@ function f(t: T) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >t : T @@ -135,7 +135,7 @@ function f(t: T) { >onlyNullablePlease(x) : void > : ^^^^ >onlyNullablePlease : (value: T_1) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T | null > : ^^^^^^^^ @@ -143,7 +143,7 @@ function f(t: T) { >onlyNullablePlease2(x) : void > : ^^^^ >onlyNullablePlease2 : (value: T_1) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T | null > : ^^^^^^^^ } @@ -166,19 +166,19 @@ function f2(t1: { x: T; y: T }, t2: T extends T ? { x: T; y: T } : never) { t1 = t2; // OK >t1 = t2 : T extends T ? { x: T; y: T; } : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ >t1 : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >t2 : T extends T ? { x: T; y: T; } : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ t2 = t1; // should fail >t2 = t1 : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >t2 : T extends T ? { x: T; y: T; } : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ >t1 : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } type Foo = T extends true ? string : "a"; @@ -287,7 +287,7 @@ function testAssignabilityToConditionalType() { >b : number > : ^^^^^^ >x : [T] extends [string] ? { y: number; } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ // Infer type parameters: no good const o2: [T] extends [[infer U]] ? U : { b: number } = o; @@ -382,7 +382,7 @@ class Foo2 { >set(this, "prop", "hi") : Unwrap > : ^^^^^^^^^^^^^^^^^^^^ >set : (obj: T, key: K, value: Unwrap) => Unwrap -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >"prop" : "prop" @@ -396,7 +396,7 @@ set(new Foo2(), "prop", "hi"); // <-- typechecks >set(new Foo2(), "prop", "hi") : string > : ^^^^^^ >set : (obj: T, key: K, value: Unwrap) => Unwrap -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >new Foo2() : Foo2 > : ^^^^ >Foo2 : typeof Foo2 diff --git a/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types b/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types index 860f6dc05b55c..a56552dfb5913 100644 --- a/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types +++ b/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types @@ -21,7 +21,7 @@ const func1 = useState1(() => () => 0); >useState1(() => () => 0) : () => 0 > : ^^^^^^^ >useState1 : (initialState: (S extends (() => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 @@ -35,7 +35,7 @@ const func2 = useState2(() => () => 0); >useState2(() => () => 0) : () => 0 > : ^^^^^^^ >useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 @@ -63,7 +63,7 @@ const func3 = useState1(() => () => 0); >useState1(() => () => 0) : () => 0 > : ^^^^^^^ >useState1 : (initialState: (S extends (() => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 @@ -77,7 +77,7 @@ const func4 = useState2(() => () => 0); >useState2(() => () => 0) : () => 0 > : ^^^^^^^ >useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 diff --git a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types index 6ff9bd7d48d8d..cf591a358dfca 100644 --- a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types +++ b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types @@ -110,11 +110,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {name: instance as TYPE}) : SO_FAR & { name: TYPE; } > : ^^^^^^^^^^^^^^^^^ ^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -199,11 +199,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString}) : SO_FAR & { storedAs: PubSubRecordIsStoredInRedisAsA; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -241,11 +241,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.redisHash}) : SO_FAR & { storedAs: PubSubRecordIsStoredInRedisAsA; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -351,11 +351,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {identifier: instance as TYPE}) : SO_FAR & Record<"record", unknown> & { identifier: TYPE; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR & Record<"record", unknown> @@ -438,11 +438,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {record: instance as TYPE}) : SO_FAR & { record: TYPE; } > : ^^^^^^^^^^^^^^^^^^^ ^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -531,11 +531,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {maxMsToWaitBeforePublishing: instance}) : SO_FAR & { maxMsToWaitBeforePublishing: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -565,11 +565,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign({}, soFar, {maxMsToWaitBeforePublishing: 0}) : SO_FAR & { maxMsToWaitBeforePublishing: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -683,11 +683,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.keys(soFar) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >soFar : SO_FAR > : ^^^^^^ @@ -730,11 +730,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.assign( {}, buildNameFieldConstructor(soFar), buildIdentifierFieldConstructor(soFar), buildRecordFieldConstructor(soFar), buildStoredAsConstructor(soFar), buildMaxMsToWaitBeforePublishingFieldConstructor(soFar), buildType(soFar) ) : any > : ^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ {}, >{} : {} @@ -766,7 +766,7 @@ export enum PubSubRecordIsStoredInRedisAsA { buildStoredAsConstructor(soFar), >buildStoredAsConstructor(soFar) : { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >buildStoredAsConstructor : (soFar: SO_FAR_1) => { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >soFar : SO_FAR diff --git a/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types b/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types index 8e55fd5fb2afa..b9fd8f3398815 100644 --- a/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types +++ b/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types @@ -126,7 +126,7 @@ function g(p1: I, p2: Partial): I { >f(p1, p2) : I > : ^ >f : (t: T, partial: DeepPartial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : I > : ^ >p2 : Partial diff --git a/tests/baselines/reference/conditionalTypes1.types b/tests/baselines/reference/conditionalTypes1.types index a3414034e8557..d2b47907af5d2 100644 --- a/tests/baselines/reference/conditionalTypes1.types +++ b/tests/baselines/reference/conditionalTypes1.types @@ -172,7 +172,7 @@ type Options = { k: "a", a: number } | { k: "b", b: string } | { k: "c", c: bool type T10 = Exclude; // { k: "c", c: boolean } >T10 : { k: "c"; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >k : "a" | "b" > : ^^^^^^^^^ @@ -184,7 +184,7 @@ type T11 = Extract; // { k: "a", a: number } | { k: type T12 = Exclude; // { k: "c", c: boolean } >T12 : { k: "c"; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >k : "a" > : ^^^ >k : "b" @@ -220,11 +220,11 @@ declare function f5(p: K): Extractx0 : { k: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f5("a") : { k: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f5 : (p: K) => Extract -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -1577,7 +1577,7 @@ assign(a, {o: 2, c: {0: {a: 2, c: '213123'}}}) >assign(a, {o: 2, c: {0: {a: 2, c: '213123'}}}) : void > : ^^^^ >assign : (o: T, a: RecursivePartial) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : { o: number; b: number; c: { a: number; c: string; }[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{o: 2, c: {0: {a: 2, c: '213123'}}} : { o: number; c: { 0: { a: number; c: string; }; }; } diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types index 3eb2ab299bef7..420f38399194e 100644 --- a/tests/baselines/reference/conditionalTypes2.types +++ b/tests/baselines/reference/conditionalTypes2.types @@ -122,7 +122,7 @@ function getFunction(item: T) { >isFunction(item) : boolean > : ^^^^^^^ >isFunction : (value: T_1) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >item : T > : ^ @@ -147,7 +147,7 @@ function f10(x: T) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (value: T_1) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -175,15 +175,15 @@ function f11(x: string | (() => string) | undefined) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (value: T) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | (() => string) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ x(); >x() : string > : ^^^^^^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -195,19 +195,19 @@ function f12(x: string | (() => string) | undefined) { const f = getFunction(x); // () => string >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >getFunction(x) : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >getFunction : (item: T) => Extract > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | (() => string) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ f(); >f() : string > : ^^^^^^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } type Foo = { foo: string }; @@ -260,7 +260,7 @@ function f20(x: Extract, Bar>, y: Extract, z: E >fooBar(x) : void > : ^^^^ >fooBar : (x: { foo: string; bar: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Extract, Bar> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -268,7 +268,7 @@ function f20(x: Extract, Bar>, y: Extract, z: E >fooBar(y) : void > : ^^^^ >fooBar : (x: { foo: string; bar: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : Extract > : ^^^^^^^^^^^^^^^^^^^^^ @@ -276,7 +276,7 @@ function f20(x: Extract, Bar>, y: Extract, z: E >fooBar(z) : void > : ^^^^ >fooBar : (x: { foo: string; bar: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z : Extract2 > : ^^^^^^^^^^^^^^^^^^^^^ } @@ -295,7 +295,7 @@ function f21(x: Extract, Bar>, y: Extract, z: E >fooBat(x) : void > : ^^^^ >fooBat : (x: { foo: string; bat: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Extract, Bar> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -303,7 +303,7 @@ function f21(x: Extract, Bar>, y: Extract, z: E >fooBat(y) : void > : ^^^^ >fooBat : (x: { foo: string; bat: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : Extract > : ^^^^^^^^^^^^^^^^^^^^^ @@ -311,7 +311,7 @@ function f21(x: Extract, Bar>, y: Extract, z: E >fooBat(z) : void > : ^^^^ >fooBat : (x: { foo: string; bat: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z : Extract2 > : ^^^^^^^^^^^^^^^^^^^^^ } @@ -356,7 +356,7 @@ class Vector implements Seq { } partition2(predicate:(v:T)=>v is U): [Vector,Vector>]; >partition2 : { (predicate: (v: T) => v is U): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >predicate : (v: T) => v is U > : ^ ^^ ^^^^^ >v : T @@ -364,7 +364,7 @@ class Vector implements Seq { partition2(predicate:(x:T)=>boolean): [Vector,Vector]; >partition2 : { (predicate: (v: T) => v is U): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >predicate : (x: T) => boolean > : ^ ^^ ^^^^^ >x : T @@ -372,7 +372,7 @@ class Vector implements Seq { partition2(predicate:(v:T)=>boolean): [Vector,Vector] { >partition2 : { (predicate: (v: T) => v is U_1): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >predicate : (v: T) => boolean > : ^ ^^ ^^^^^ >v : T @@ -430,7 +430,7 @@ function foo(value: T) { >isFunction(value) : boolean > : ^^^^^^^ >isFunction : (value: T_1) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : T > : ^ @@ -438,7 +438,7 @@ function foo(value: T) { >toString1(value) : string > : ^^^^^^ >toString1 : (value: object | Function) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : Extract > : ^^^^^^^^^^^^^^^^^^^^ @@ -446,7 +446,7 @@ function foo(value: T) { >toString2(value) : string > : ^^^^^^ >toString2 : (value: Function) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : Extract > : ^^^^^^^^^^^^^^^^^^^^ } @@ -652,9 +652,9 @@ exportCommand(save); >exportCommand(save) : void > : ^^^^ >exportCommand : (functionToCall: IExportCallback) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >save : (_response: IRootResponse) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function exportCommand(functionToCall: IExportCallback): void; >exportCommand : (functionToCall: IExportCallback) => void @@ -745,9 +745,9 @@ gg(ff); >gg(ff) : void > : ^^^^ >gg : (f: (x: Foo3) => void) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ff : (x: Foo3) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #41613 diff --git a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types index eb2c3818264f8..9ec6db762e6b8 100644 --- a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types +++ b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types @@ -3,7 +3,7 @@ === conditionallyDuplicateOverloadsCausedByOverloadResolution.ts === declare function foo(func: (x: string, y: string) => any): boolean; >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: string) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -13,7 +13,7 @@ declare function foo(func: (x: string, y: string) => any): boolean; declare function foo(func: (x: string, y: number) => any): string; >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: number) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -27,7 +27,7 @@ var out = foo((x, y) => { >foo((x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;}) : boolean > : ^^^^^^^ >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;} : (x: string, y: string) => { (a: typeof x): void; (b: typeof y): void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string @@ -37,7 +37,7 @@ var out = foo((x, y) => { function bar(a: typeof x): void; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ >x : string @@ -45,7 +45,7 @@ var out = foo((x, y) => { function bar(b: typeof y): void; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ >y : string @@ -53,17 +53,17 @@ var out = foo((x, y) => { function bar() { } >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return bar; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ }); declare function foo2(func: (x: string, y: string) => any): boolean; >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: string) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -73,7 +73,7 @@ declare function foo2(func: (x: string, y: string) => any): boolean; declare function foo2(func: (x: string, y: number) => any): string; >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: number) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -87,7 +87,7 @@ var out2 = foo2((x, y) => { >foo2((x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;}) : boolean > : ^^^^^^^ >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;} : (x: string, y: string) => { (a: typeof x): void; (b: typeof y): void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string @@ -114,6 +114,6 @@ var out2 = foo2((x, y) => { }; return bar; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ }); diff --git a/tests/baselines/reference/configFileExtendsAsList.types b/tests/baselines/reference/configFileExtendsAsList.types index 9fb65f5a38f36..81bb0266fd9e2 100644 --- a/tests/baselines/reference/configFileExtendsAsList.types +++ b/tests/baselines/reference/configFileExtendsAsList.types @@ -15,9 +15,9 @@ y.toLowerCase(); // strictNullChecks error >y.toLowerCase() : string > : ^^^^^^ >y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types index a6369d495a927..a03e6763b5da7 100644 --- a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types +++ b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types @@ -29,11 +29,11 @@ declare module "./index" { === node_modules/@types/lodash/pick.d.ts === import { pick } from "./index"; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export = pick; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ === node_modules/@types/lodash/index.d.ts === /// @@ -58,7 +58,7 @@ declare namespace _ { === index.ts === import * as pick from 'lodash/pick'; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export const pick = () => pick(); >pick : () => any diff --git a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types index dff5e5388e5bc..d258c492aa683 100644 --- a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types +++ b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types @@ -29,11 +29,11 @@ declare module "./index" { === node_modules/@types/lodash/pick.d.ts === import { pick } from "./index"; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export = pick; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ === node_modules/@types/lodash/index.d.ts === /// @@ -58,7 +58,7 @@ declare namespace _ { === index.ts === import * as pick from 'lodash/pick'; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export const pick = () => pick(); >pick : () => any diff --git a/tests/baselines/reference/conflictingTypeAnnotatedVar.types b/tests/baselines/reference/conflictingTypeAnnotatedVar.types index 3d209000d9735..f7dd6ea206419 100644 --- a/tests/baselines/reference/conflictingTypeAnnotatedVar.types +++ b/tests/baselines/reference/conflictingTypeAnnotatedVar.types @@ -11,5 +11,5 @@ function foo(): number { } function foo(): number { } >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/constAssertions.types b/tests/baselines/reference/constAssertions.types index d4a7e84f2e562..e64ff4ce6e3fa 100644 --- a/tests/baselines/reference/constAssertions.types +++ b/tests/baselines/reference/constAssertions.types @@ -601,7 +601,7 @@ let e3 = id(1) as const; // Error >id(1) : 1 > : ^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/constDeclarations-access2.types b/tests/baselines/reference/constDeclarations-access2.types index d21531db4ab8d..cd01c56db5549 100644 --- a/tests/baselines/reference/constDeclarations-access2.types +++ b/tests/baselines/reference/constDeclarations-access2.types @@ -193,9 +193,9 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access3.types b/tests/baselines/reference/constDeclarations-access3.types index 61af6834cf444..78061b4268fa0 100644 --- a/tests/baselines/reference/constDeclarations-access3.types +++ b/tests/baselines/reference/constDeclarations-access3.types @@ -306,7 +306,7 @@ M.x.toString(); >M.x.toString() : string > : ^^^^^^ >M.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >M.x : 0 > : ^ >M : typeof M @@ -314,5 +314,5 @@ M.x.toString(); >x : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access4.types b/tests/baselines/reference/constDeclarations-access4.types index 67d1056a28c78..54064b5a8599e 100644 --- a/tests/baselines/reference/constDeclarations-access4.types +++ b/tests/baselines/reference/constDeclarations-access4.types @@ -304,7 +304,7 @@ M.x.toString(); >M.x.toString() : string > : ^^^^^^ >M.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >M.x : number > : ^^^^^^ >M : typeof M @@ -312,5 +312,5 @@ M.x.toString(); >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access5.types b/tests/baselines/reference/constDeclarations-access5.types index 6c919c4df0c63..54ad90a7a7f49 100644 --- a/tests/baselines/reference/constDeclarations-access5.types +++ b/tests/baselines/reference/constDeclarations-access5.types @@ -304,7 +304,7 @@ m.x.toString(); >m.x.toString() : string > : ^^^^^^ >m.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m.x : 0 > : ^ >m : typeof m @@ -312,7 +312,7 @@ m.x.toString(); >x : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === constDeclarations_access_1.ts === export const x = 0; diff --git a/tests/baselines/reference/constEnum2.types b/tests/baselines/reference/constEnum2.types index 925fd300ae866..fbf5db0f6796f 100644 --- a/tests/baselines/reference/constEnum2.types +++ b/tests/baselines/reference/constEnum2.types @@ -37,21 +37,21 @@ const enum D { >Math.floor(Math.random() * 1000) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 1000 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1000 : 1000 > : ^^^^ @@ -71,21 +71,21 @@ const enum D { >Math.floor(Math.random() % 8) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() % 8 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >8 : 8 > : ^ diff --git a/tests/baselines/reference/constEnumErrors.types b/tests/baselines/reference/constEnumErrors.types index dac9eff6e5ce7..3c1b64ca3c5ca 100644 --- a/tests/baselines/reference/constEnumErrors.types +++ b/tests/baselines/reference/constEnumErrors.types @@ -127,7 +127,7 @@ foo(E2); >foo(E2) : void > : ^^^^ >foo : (t: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >E2 : typeof E2 > : ^^^^^^^^^ diff --git a/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types b/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types index d2af85522d212..3f677bc15ec17 100644 --- a/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types +++ b/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types @@ -11,11 +11,11 @@ console.log(Bebra.constructor) >console.log(Bebra.constructor) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.constructor : any > : ^^^ >Bebra : typeof Bebra @@ -27,11 +27,11 @@ console.log(Bebra.hasOwnProperty) >console.log(Bebra.hasOwnProperty) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.hasOwnProperty : any > : ^^^ >Bebra : typeof Bebra @@ -43,11 +43,11 @@ console.log(Bebra.isPrototypeOf) >console.log(Bebra.isPrototypeOf) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.isPrototypeOf : any > : ^^^ >Bebra : typeof Bebra @@ -59,11 +59,11 @@ console.log(Bebra.propertyIsEnumerable) >console.log(Bebra.propertyIsEnumerable) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.propertyIsEnumerable : any > : ^^^ >Bebra : typeof Bebra @@ -75,11 +75,11 @@ console.log(Bebra.toLocaleString) >console.log(Bebra.toLocaleString) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.toLocaleString : any > : ^^^ >Bebra : typeof Bebra @@ -91,11 +91,11 @@ console.log(Bebra.toString) >console.log(Bebra.toString) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.toString : any > : ^^^ >Bebra : typeof Bebra @@ -107,11 +107,11 @@ console.log(Bebra.valueOf) >console.log(Bebra.valueOf) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.valueOf : any > : ^^^ >Bebra : typeof Bebra diff --git a/tests/baselines/reference/constEnumPropertyAccess3.types b/tests/baselines/reference/constEnumPropertyAccess3.types index 4d1871ac0ac4f..dbe5149b90c66 100644 --- a/tests/baselines/reference/constEnumPropertyAccess3.types +++ b/tests/baselines/reference/constEnumPropertyAccess3.types @@ -64,7 +64,7 @@ E.A.toString(); >E.A.toString() : string > : ^^^^^^ >E.A.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.A : E.A > : ^^^ >E : typeof E @@ -72,13 +72,13 @@ E.A.toString(); >A : E.A > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E.B.toString(); >E.B.toString() : string > : ^^^^^^ >E.B.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.B : E.B > : ^^^ >E : typeof E @@ -86,13 +86,13 @@ E.B.toString(); >B : E.B > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E.C.toString(); >E.C.toString() : string > : ^^^^^^ >E.C.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.C : E.C > : ^^^ >E : typeof E @@ -100,13 +100,13 @@ E.C.toString(); >C : E.C > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E.D.toString(); >E.D.toString() : string > : ^^^^^^ >E.D.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.D : E.C > : ^^^ >E : typeof E @@ -114,13 +114,13 @@ E.D.toString(); >D : E.C > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["A"].toString(); >E["A"].toString() : string > : ^^^^^^ >E["A"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["A"] : E.A > : ^^^ >E : typeof E @@ -128,13 +128,13 @@ E["A"].toString(); >"A" : "A" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["B"].toString(); >E["B"].toString() : string > : ^^^^^^ >E["B"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["B"] : E.B > : ^^^ >E : typeof E @@ -142,13 +142,13 @@ E["B"].toString(); >"B" : "B" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["C"].toString(); >E["C"].toString() : string > : ^^^^^^ >E["C"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["C"] : E.C > : ^^^ >E : typeof E @@ -156,13 +156,13 @@ E["C"].toString(); >"C" : "C" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["D"].toString(); >E["D"].toString() : string > : ^^^^^^ >E["D"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["D"] : E.C > : ^^^ >E : typeof E @@ -170,13 +170,13 @@ E["D"].toString(); >"D" : "D" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["E"].toString(); >E["E"].toString() : string > : ^^^^^^ >E["E"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["E"] : E.E > : ^^^ >E : typeof E @@ -184,5 +184,5 @@ E["E"].toString(); >"E" : "E" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constEnumToStringNoComments.types b/tests/baselines/reference/constEnumToStringNoComments.types index 607d59dfae2fc..28649bed99cbe 100644 --- a/tests/baselines/reference/constEnumToStringNoComments.types +++ b/tests/baselines/reference/constEnumToStringNoComments.types @@ -54,7 +54,7 @@ let x0 = Foo.X.toString(); >Foo.X.toString() : string > : ^^^^^^ >Foo.X.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.X : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -62,7 +62,7 @@ let x0 = Foo.X.toString(); >X : Foo.X > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let x1 = Foo["X"].toString(); >x1 : string @@ -70,7 +70,7 @@ let x1 = Foo["X"].toString(); >Foo["X"].toString() : string > : ^^^^^^ >Foo["X"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["X"] : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -78,7 +78,7 @@ let x1 = Foo["X"].toString(); >"X" : "X" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y0 = Foo.Y.toString(); >y0 : string @@ -86,7 +86,7 @@ let y0 = Foo.Y.toString(); >Foo.Y.toString() : string > : ^^^^^^ >Foo.Y.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Y : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -94,7 +94,7 @@ let y0 = Foo.Y.toString(); >Y : Foo.Y > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y1 = Foo["Y"].toString(); >y1 : string @@ -102,7 +102,7 @@ let y1 = Foo["Y"].toString(); >Foo["Y"].toString() : string > : ^^^^^^ >Foo["Y"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Y"] : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -110,7 +110,7 @@ let y1 = Foo["Y"].toString(); >"Y" : "Y" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z0 = Foo.Z.toString(); >z0 : string @@ -118,7 +118,7 @@ let z0 = Foo.Z.toString(); >Foo.Z.toString() : string > : ^^^^^^ >Foo.Z.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Z : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -126,7 +126,7 @@ let z0 = Foo.Z.toString(); >Z : Foo.Z > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z1 = Foo["Z"].toString(); >z1 : string @@ -134,7 +134,7 @@ let z1 = Foo["Z"].toString(); >Foo["Z"].toString() : string > : ^^^^^^ >Foo["Z"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Z"] : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -142,7 +142,7 @@ let z1 = Foo["Z"].toString(); >"Z" : "Z" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a0 = Foo.A.toString(); >a0 : string @@ -150,7 +150,7 @@ let a0 = Foo.A.toString(); >Foo.A.toString() : string > : ^^^^^^ >Foo.A.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.A : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -158,7 +158,7 @@ let a0 = Foo.A.toString(); >A : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a1 = Foo["A"].toString(); >a1 : string @@ -166,7 +166,7 @@ let a1 = Foo["A"].toString(); >Foo["A"].toString() : string > : ^^^^^^ >Foo["A"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["A"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -174,7 +174,7 @@ let a1 = Foo["A"].toString(); >"A" : "A" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b0 = Foo.B.toString(); >b0 : string @@ -182,7 +182,7 @@ let b0 = Foo.B.toString(); >Foo.B.toString() : string > : ^^^^^^ >Foo.B.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.B : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -190,7 +190,7 @@ let b0 = Foo.B.toString(); >B : Foo.B > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b1 = Foo["B"].toString(); >b1 : string @@ -198,7 +198,7 @@ let b1 = Foo["B"].toString(); >Foo["B"].toString() : string > : ^^^^^^ >Foo["B"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["B"] : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -206,7 +206,7 @@ let b1 = Foo["B"].toString(); >"B" : "B" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c0 = Foo.C.toString(); >c0 : string @@ -214,7 +214,7 @@ let c0 = Foo.C.toString(); >Foo.C.toString() : string > : ^^^^^^ >Foo.C.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.C : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -222,7 +222,7 @@ let c0 = Foo.C.toString(); >C : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c1 = Foo["C"].toString(); >c1 : string @@ -230,7 +230,7 @@ let c1 = Foo["C"].toString(); >Foo["C"].toString() : string > : ^^^^^^ >Foo["C"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["C"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -238,5 +238,5 @@ let c1 = Foo["C"].toString(); >"C" : "C" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constEnumToStringWithComments.types b/tests/baselines/reference/constEnumToStringWithComments.types index 4cc67f9b39f0e..0433029d0c072 100644 --- a/tests/baselines/reference/constEnumToStringWithComments.types +++ b/tests/baselines/reference/constEnumToStringWithComments.types @@ -54,7 +54,7 @@ let x0 = Foo.X.toString(); >Foo.X.toString() : string > : ^^^^^^ >Foo.X.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.X : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -62,7 +62,7 @@ let x0 = Foo.X.toString(); >X : Foo.X > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let x1 = Foo["X"].toString(); >x1 : string @@ -70,7 +70,7 @@ let x1 = Foo["X"].toString(); >Foo["X"].toString() : string > : ^^^^^^ >Foo["X"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["X"] : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -78,7 +78,7 @@ let x1 = Foo["X"].toString(); >"X" : "X" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y0 = Foo.Y.toString(); >y0 : string @@ -86,7 +86,7 @@ let y0 = Foo.Y.toString(); >Foo.Y.toString() : string > : ^^^^^^ >Foo.Y.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Y : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -94,7 +94,7 @@ let y0 = Foo.Y.toString(); >Y : Foo.Y > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y1 = Foo["Y"].toString(); >y1 : string @@ -102,7 +102,7 @@ let y1 = Foo["Y"].toString(); >Foo["Y"].toString() : string > : ^^^^^^ >Foo["Y"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Y"] : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -110,7 +110,7 @@ let y1 = Foo["Y"].toString(); >"Y" : "Y" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z0 = Foo.Z.toString(); >z0 : string @@ -118,7 +118,7 @@ let z0 = Foo.Z.toString(); >Foo.Z.toString() : string > : ^^^^^^ >Foo.Z.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Z : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -126,7 +126,7 @@ let z0 = Foo.Z.toString(); >Z : Foo.Z > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z1 = Foo["Z"].toString(); >z1 : string @@ -134,7 +134,7 @@ let z1 = Foo["Z"].toString(); >Foo["Z"].toString() : string > : ^^^^^^ >Foo["Z"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Z"] : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -142,7 +142,7 @@ let z1 = Foo["Z"].toString(); >"Z" : "Z" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a0 = Foo.A.toString(); >a0 : string @@ -150,7 +150,7 @@ let a0 = Foo.A.toString(); >Foo.A.toString() : string > : ^^^^^^ >Foo.A.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.A : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -158,7 +158,7 @@ let a0 = Foo.A.toString(); >A : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a1 = Foo["A"].toString(); >a1 : string @@ -166,7 +166,7 @@ let a1 = Foo["A"].toString(); >Foo["A"].toString() : string > : ^^^^^^ >Foo["A"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["A"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -174,7 +174,7 @@ let a1 = Foo["A"].toString(); >"A" : "A" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b0 = Foo.B.toString(); >b0 : string @@ -182,7 +182,7 @@ let b0 = Foo.B.toString(); >Foo.B.toString() : string > : ^^^^^^ >Foo.B.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.B : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -190,7 +190,7 @@ let b0 = Foo.B.toString(); >B : Foo.B > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b1 = Foo["B"].toString(); >b1 : string @@ -198,7 +198,7 @@ let b1 = Foo["B"].toString(); >Foo["B"].toString() : string > : ^^^^^^ >Foo["B"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["B"] : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -206,7 +206,7 @@ let b1 = Foo["B"].toString(); >"B" : "B" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c0 = Foo.C.toString(); >c0 : string @@ -214,7 +214,7 @@ let c0 = Foo.C.toString(); >Foo.C.toString() : string > : ^^^^^^ >Foo.C.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.C : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -222,7 +222,7 @@ let c0 = Foo.C.toString(); >C : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c1 = Foo["C"].toString(); >c1 : string @@ -230,7 +230,7 @@ let c1 = Foo["C"].toString(); >Foo["C"].toString() : string > : ^^^^^^ >Foo["C"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["C"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -238,5 +238,5 @@ let c1 = Foo["C"].toString(); >"C" : "C" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constLocalsInFunctionExpressions.types b/tests/baselines/reference/constLocalsInFunctionExpressions.types index 62d0a1ecce0b4..dd6430242dde6 100644 --- a/tests/baselines/reference/constLocalsInFunctionExpressions.types +++ b/tests/baselines/reference/constLocalsInFunctionExpressions.types @@ -15,7 +15,7 @@ function f1() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -51,7 +51,7 @@ function f2() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x !== "string") { >typeof x !== "string" : boolean @@ -88,7 +88,7 @@ function f3() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -124,7 +124,7 @@ function f4() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x !== "string") { >typeof x !== "string" : boolean @@ -161,7 +161,7 @@ function f5() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean diff --git a/tests/baselines/reference/constantOverloadFunction.types b/tests/baselines/reference/constantOverloadFunction.types index 5db6d5a1219b9..4a7b2d87e01c3 100644 --- a/tests/baselines/reference/constantOverloadFunction.types +++ b/tests/baselines/reference/constantOverloadFunction.types @@ -33,31 +33,31 @@ class Derived3 extends Base { biz() { } } function foo(tagName: 'canvas'): Derived1; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ function foo(tagName: 'div'): Derived2; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ function foo(tagName: 'span'): Derived3; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ function foo(tagName: string): Base; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ function foo(tagName: any): Base { >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types index c6577eced24fe..c22ff4030d88c 100644 --- a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types +++ b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types @@ -33,31 +33,31 @@ class Derived3 extends Base { biz() { } } function foo(tagName: 'canvas'): Derived3; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ function foo(tagName: 'div'): Derived2; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ function foo(tagName: 'span'): Derived1; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ function foo(tagName: number): Base; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : number > : ^^^^^^ function foo(tagName: any): Base { >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/constraintPropagationThroughReturnTypes.types b/tests/baselines/reference/constraintPropagationThroughReturnTypes.types index 53db6a5d2b344..d3cfa1aad6fdb 100644 --- a/tests/baselines/reference/constraintPropagationThroughReturnTypes.types +++ b/tests/baselines/reference/constraintPropagationThroughReturnTypes.types @@ -26,7 +26,7 @@ function f(x: S) { >g(x) : S > : ^ >g : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : S > : ^ diff --git a/tests/baselines/reference/constraintSatisfactionWithAny.types b/tests/baselines/reference/constraintSatisfactionWithAny.types index 5453a44761180..20c51d8b19499 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny.types +++ b/tests/baselines/reference/constraintSatisfactionWithAny.types @@ -19,8 +19,8 @@ function foo2(x: T): T { return null; } //function foo3(x: T): T { return null; } function foo4(x: T) => void>(x: T): T { return null; } ->foo4 : (x: T_1) => void>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>foo4 : (x: T_1) => void>(x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -32,20 +32,20 @@ var a; foo(a); >foo(a) : any >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any foo2(a); >foo2(a) : any >foo2 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any //foo3(a); foo4(a); >foo4(a) : any ->foo4 : (x: T_1) => void>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +>foo4 : (x: T_1) => void>(x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any var b: number; @@ -55,22 +55,22 @@ var b: number; foo(b); >foo(b) : any >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ foo2(b); >foo2(b) : any >foo2 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ //foo3(b); foo4(b); >foo4(b) : any ->foo4 : (x: T_1) => void>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +>foo4 : (x: T_1) => void>(x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/constraintSatisfactionWithAny2.types b/tests/baselines/reference/constraintSatisfactionWithAny2.types index eba2a0e10d87e..d221c8063bfb9 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny2.types +++ b/tests/baselines/reference/constraintSatisfactionWithAny2.types @@ -19,12 +19,12 @@ foo(a); >foo(a) : unknown > : ^^^^^^^ >foo : (x: U) => Z>(y: T) => Z -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any foo(a); >foo(a) : any >foo : (x: U) => Z>(y: T) => Z -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types index 6ae822e08e50b..41d74877dba8d 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types @@ -92,11 +92,11 @@ module MemberWithConstructSignature { >new b.a(1) : void > : ^^^^ >b.a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types index c2156dd40d742..ea87c3c3f0d58 100644 --- a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types @@ -164,7 +164,7 @@ var r5 = new a(1, ''); >new a(1, '') : C > : ^ >a : { new (x: number, y: string): C; new (x: number, y: string): C; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" @@ -193,7 +193,7 @@ var r6 = new b(1, ''); >new b(1, '') : C2 > : ^^^^^^^^^^ >b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/constructSignaturesWithOverloads.types b/tests/baselines/reference/constructSignaturesWithOverloads.types index f2375c4dfa3a0..6e52b77cec9d2 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithOverloads.types @@ -165,7 +165,7 @@ var r5 = new a(1, ''); >new a(1, '') : C > : ^ >a : { new (x: number, y?: string): C; new (x: number, y: string): C; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" @@ -194,7 +194,7 @@ var r6 = new b(1, ''); >new b(1, '') : C2 > : ^^^^^^^^^^ >b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/constructorAsType.types b/tests/baselines/reference/constructorAsType.types index 20c1eaea1f665..878f3266b0ece 100644 --- a/tests/baselines/reference/constructorAsType.types +++ b/tests/baselines/reference/constructorAsType.types @@ -23,9 +23,9 @@ var Person2:{new() : {name:string;};}; Person = Person2; >Person = Person2 : new () => { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >Person : new () => { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >Person2 : new () => { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ diff --git a/tests/baselines/reference/constructorFunctionMethodTypeParameters.types b/tests/baselines/reference/constructorFunctionMethodTypeParameters.types index 03f7ec728fa44..422134c46ce4d 100644 --- a/tests/baselines/reference/constructorFunctionMethodTypeParameters.types +++ b/tests/baselines/reference/constructorFunctionMethodTypeParameters.types @@ -42,7 +42,7 @@ Cls.prototype.topLevelComment = function (t, v) { >topLevelComment : any > : ^^^ >function (t, v) { return v} : (t: T, v: V) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >v : V diff --git a/tests/baselines/reference/constructorFunctions2.types b/tests/baselines/reference/constructorFunctions2.types index d2ad5b375fe05..0bd871bd0da8d 100644 --- a/tests/baselines/reference/constructorFunctions2.types +++ b/tests/baselines/reference/constructorFunctions2.types @@ -18,7 +18,7 @@ const A = require("./other"); >require("./other") : typeof A > : ^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./other" : "./other" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/constructorOverloads6.types b/tests/baselines/reference/constructorOverloads6.types index 73ed33c48819b..d1a0e909ceb3a 100644 --- a/tests/baselines/reference/constructorOverloads6.types +++ b/tests/baselines/reference/constructorOverloads6.types @@ -98,9 +98,9 @@ f1.bar1(); >f1.bar1() : void > : ^^^^ >f1.bar1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f1 : Foo > : ^^^ >bar1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/constructorOverloads7.types b/tests/baselines/reference/constructorOverloads7.types index 40836690f0701..50b7412e6a2ff 100644 --- a/tests/baselines/reference/constructorOverloads7.types +++ b/tests/baselines/reference/constructorOverloads7.types @@ -83,7 +83,7 @@ declare function EF1(a:number, b:number):number; function EF1(a,b) { return a+b; } >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any diff --git a/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types b/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types index 9e79e9b25cdba..a607604ddf522 100644 --- a/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types +++ b/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types @@ -19,11 +19,11 @@ a = b = function c () { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/constructorTagWithThisTag.types b/tests/baselines/reference/constructorTagWithThisTag.types index 9b21670fe4ec1..4565fa4e586c5 100644 --- a/tests/baselines/reference/constructorTagWithThisTag.types +++ b/tests/baselines/reference/constructorTagWithThisTag.types @@ -16,7 +16,7 @@ function C() { >this.e : number > : ^^^^^^ >this : { e: number; m: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >e : number > : ^^^^^^ >this.m + 1 : number @@ -24,7 +24,7 @@ function C() { >this.m : number > : ^^^^^^ >this : { e: number; m: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >m : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types index 9867e65c2538e..1732ef9e66df6 100644 --- a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types +++ b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types @@ -72,11 +72,11 @@ module TypeScriptAllInOne { >bfs.VARIABLES() : number > : ^^^^^^ >bfs.VARIABLES : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bfs : BasicFeatures > : ^^^^^^^^^^^^^ >VARIABLES : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (retValue != 0 ^= { >retValue != 0 : boolean @@ -455,27 +455,27 @@ module TypeScriptAllInOne { >float.toString() : string > : ^^^^^^ >float.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >float : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >float2.toString() : string > : ^^^^^^ >float2.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >float2 : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >reg.toString() : string > : ^^^^^^ >reg.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >reg : RegExp > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >objLit : { var: number; equals: (x: any) => boolean; instanceof: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >weekday : Weekdays.Monday @@ -859,11 +859,11 @@ module TypeScriptAllInOne { >xx.Foo() : bool > : ^^^^ >xx.Foo : () => bool -> : ^^^^^^^^^^ +> : ^^^^^^ >xx : IF > : ^^ >Foo : () => bool -> : ^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types b/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types index 7aeae08f1443d..7bc3ff61df6b7 100644 --- a/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types +++ b/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types @@ -21,9 +21,9 @@ class A { ({ key: this.#privateField } = arg); >({ key: this.#privateField } = arg) : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } = arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } : { key: string; } > : ^^^^^^^^^^^^^^^^ >key : string @@ -33,7 +33,7 @@ class A { >this : this > : ^^^^ >arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } log() { @@ -44,11 +44,11 @@ class A { >console.log(this.#privateField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#privateField : string > : ^^^^^^ >this : this @@ -58,11 +58,11 @@ class A { >console.log(this.exposedField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.exposedField : number > : ^^^^^^ >this : this @@ -94,9 +94,9 @@ class B { ({ key: this.#privateField } = arg); >({ key: this.#privateField } = arg) : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } = arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } : { key: string; } > : ^^^^^^^^^^^^^^^^ >key : string @@ -106,7 +106,7 @@ class B { >this : this > : ^^^^ >arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } log() { @@ -117,11 +117,11 @@ class B { >console.log(this.#privateField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#privateField : string > : ^^^^^^ >this : this @@ -131,11 +131,11 @@ class B { >console.log(this.exposedField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.exposedField : number > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types b/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types index 9f84826cc57c5..30a76942116fb 100644 --- a/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types +++ b/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types @@ -15,11 +15,11 @@ class A { >console.log("A") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"A" : "A" > : ^^^ } @@ -40,11 +40,11 @@ class B extends A { >console.log("B") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"B" : "B" > : ^^^ diff --git a/tests/baselines/reference/contextSensitiveReturnTypeInference.types b/tests/baselines/reference/contextSensitiveReturnTypeInference.types index 325ce90784d6f..f8e0f5c915746 100644 --- a/tests/baselines/reference/contextSensitiveReturnTypeInference.types +++ b/tests/baselines/reference/contextSensitiveReturnTypeInference.types @@ -43,7 +43,7 @@ const DEPS = { test( >test( (deps, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps, data) => ({ >(deps, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }) : (deps: { foo: number; }, data: IData) => { fn1: () => number; fn2: boolean; } @@ -89,7 +89,7 @@ test( test( >test( (deps: typeof DEPS, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps: typeof DEPS, data) => ({ >(deps: typeof DEPS, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }) : (deps: typeof DEPS, data: IData) => { fn1: () => number; fn2: boolean; } @@ -137,7 +137,7 @@ test( test( >test( (deps, data) => ({ fn1: () => deps.foo, fn2: data.bar }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps, data) => ({ >(deps, data) => ({ fn1: () => deps.foo, fn2: data.bar }) : (deps: { foo: number; }, data: IData) => { fn1: () => number; fn2: boolean; } @@ -183,7 +183,7 @@ test( test( >test( (deps, data) => { return { fn1() { return deps.foo }, fn2: data.bar } }, DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps, data) => { >(deps, data) => { return { fn1() { return deps.foo }, fn2: data.bar } } : (deps: { foo: number; }, data: IData) => { fn1(): number; fn2: boolean; } @@ -227,7 +227,7 @@ test( test( >test( (deps) => ({ fn1() { return deps.foo }, fn2: 1 }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps) => ({ >(deps) => ({ fn1() { return deps.foo }, fn2: 1 }) : (deps: { foo: number; }) => { fn1(): number; fn2: number; } diff --git a/tests/baselines/reference/contextualComputedNonBindablePropertyType.types b/tests/baselines/reference/contextualComputedNonBindablePropertyType.types index 6add4763e75c0..f0005bc284b56 100644 --- a/tests/baselines/reference/contextualComputedNonBindablePropertyType.types +++ b/tests/baselines/reference/contextualComputedNonBindablePropertyType.types @@ -20,7 +20,7 @@ forceMatch({ >forceMatch({ [testD()]: "d",}) : void > : ^^^^ >forceMatch : (matched: { [key in keyof T]: key; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [testD()]: "d",} : { d: "d"; } > : ^^^^^^^^^^^ @@ -30,7 +30,7 @@ forceMatch({ >testD() : "d" > : ^^^ >testD : () => "d" -> : ^^^^^^^^^ +> : ^^^^^^ >"d" : "d" > : ^^^ @@ -54,7 +54,7 @@ forceMatch2({ >forceMatch2({ [testD()]: ({ key }) => {},}) : void > : ^^^^ >forceMatch2 : (matched: { [key in keyof T]: ({ key }: { key: key; }) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [testD()]: ({ key }) => {},} : { d: ({ key }: { key: "d"; }) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -64,7 +64,7 @@ forceMatch2({ >testD() : "d" > : ^^^ >testD : () => "d" -> : ^^^^^^^^^ +> : ^^^^^^ >({ key }) => {} : ({ key }: { key: "d"; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >key : "d" @@ -135,7 +135,7 @@ const unexpectedlyFailingExample: Mapped = { >propSelector('bar') : "bar" > : ^^^^^ >propSelector : (propName: propName) => propName -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'bar' : "bar" > : ^^^^^ >(arg) => 51345 : (arg: number) => number diff --git a/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types b/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types index e8255351465c0..6f988422ddcb7 100644 --- a/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types +++ b/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types @@ -27,11 +27,11 @@ export default class Operation { >Object.keys(parameterValues) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >parameterValues : any const parameter: any = (this as any).getParameter();; @@ -100,7 +100,7 @@ export default class Operation { >(result || []).concat(innerResult) : IValidationError[] > : ^^^^^^^^^^^^^^^^^^ >(result || []).concat : { (...items: ConcatArray[]): IValidationError[]; (...items: (IValidationError | ConcatArray)[]): IValidationError[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(result || []) : IValidationError[] > : ^^^^^^^^^^^^^^^^^^ >result || [] : IValidationError[] @@ -110,7 +110,7 @@ export default class Operation { >[] : never[] > : ^^^^^^^ >concat : { (...items: ConcatArray[]): IValidationError[]; (...items: (IValidationError | ConcatArray)[]): IValidationError[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >innerResult : any } } diff --git a/tests/baselines/reference/contextualIntersectionType.types b/tests/baselines/reference/contextualIntersectionType.types index 0690dc2ab7855..157b56dc565ee 100644 --- a/tests/baselines/reference/contextualIntersectionType.types +++ b/tests/baselines/reference/contextualIntersectionType.types @@ -17,7 +17,7 @@ x = { >x = { a: s => s, b: n => n} : { a: (s: string) => string; b: (n: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : { a: (s: string) => string; } & { b: (n: number) => number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >{ a: s => s, b: n => n} : { a: (s: string) => string; b: (n: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types index 80401736ee18c..605b0678ec89e 100644 --- a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types +++ b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types @@ -11,11 +11,11 @@ export const yThen = y.map(item => item.length); >y.map(item => item.length) : number[] > : ^^^^^^^^ >y.map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : never[] | string[] > : ^^^^^^^^^^^^^^^^^^ >map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >item => item.length : (item: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >item : string @@ -38,11 +38,11 @@ export const yThen = y.map(item => item.length); >y.map(item => item.length) : number[] > : ^^^^^^^^ >y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : string[] | number[][] > : ^^^^^^^^^^^^^^^^^^^^^ >map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U, thisArg?: any) => U[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >item => item.length : (item: string | number[]) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string | number[] @@ -77,7 +77,7 @@ const resizeObserver = new ResizeObserver(([entry]) => { >new ResizeObserver(([entry]) => { entry}) : ResizeObserver > : ^^^^^^^^^^^^^^ >ResizeObserver : { new (callback: globalThis.ResizeObserverCallback): ResizeObserver; prototype: ResizeObserver; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >([entry]) => { entry} : ([entry]: ResizeObserverEntry[]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >entry : ResizeObserverEntry @@ -189,11 +189,11 @@ export function series(tasks: Task[], callback: Callback): void { >results.push(result!) : number > : ^^^^^^ >results.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >results : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result! : NonNullable > : ^^^^^^^^^^^^^^ >result : T | null @@ -219,7 +219,7 @@ series([ >series([ cb => setTimeout(() => cb(null, 1), 300), cb => setTimeout(() => cb(null, 2), 200), cb => setTimeout(() => cb(null, 3), 100),], (error, results) => { if (error) { console.error(error) } else { console.log(results) }}) : void > : ^^^^ >series : (tasks: Task[], callback: Callback) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[ cb => setTimeout(() => cb(null, 1), 300), cb => setTimeout(() => cb(null, 2), 200), cb => setTimeout(() => cb(null, 3), 100),] : ((cb: Callback) => number)[] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -231,7 +231,7 @@ series([ >setTimeout(() => cb(null, 1), 300) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => cb(null, 1) : () => unknown > : ^^^^^^^^^^^^^ >cb(null, 1) : unknown @@ -251,7 +251,7 @@ series([ >setTimeout(() => cb(null, 2), 200) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => cb(null, 2) : () => unknown > : ^^^^^^^^^^^^^ >cb(null, 2) : unknown @@ -271,7 +271,7 @@ series([ >setTimeout(() => cb(null, 3), 100) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => cb(null, 3) : () => unknown > : ^^^^^^^^^^^^^ >cb(null, 3) : unknown @@ -299,11 +299,11 @@ series([ >console.error(error) : void > : ^^^^ >console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >error : Error > : ^^^^^ @@ -312,11 +312,11 @@ series([ >console.log(results) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >results : unknown[] | null > : ^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/contextualPropertyOfGenericMappedType.types b/tests/baselines/reference/contextualPropertyOfGenericMappedType.types index ff39597cf94da..193315b5625d0 100644 --- a/tests/baselines/reference/contextualPropertyOfGenericMappedType.types +++ b/tests/baselines/reference/contextualPropertyOfGenericMappedType.types @@ -19,7 +19,7 @@ f({ data: 0 }, { data(value, key) {} }); >f({ data: 0 }, { data(value, key) {} }) : void > : ^^^^ >f : (data: T, handlers: { [P in keyof T]: (value: T[P], prop: P) => void; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ data: 0 } : { data: number; } > : ^^^^^^^^^^^^^^^^^ >data : number diff --git a/tests/baselines/reference/contextualReturnTypeOfIIFE.types b/tests/baselines/reference/contextualReturnTypeOfIIFE.types index bfcb9902790d3..30826b407b155 100644 --- a/tests/baselines/reference/contextualReturnTypeOfIIFE.types +++ b/tests/baselines/reference/contextualReturnTypeOfIIFE.types @@ -31,13 +31,13 @@ const test2: Promise<[one: number, two: string]> = new Promise( (resolve) => resolve([1, 'two']), >(resolve) => resolve([1, 'two']) : (resolve: (value: [one: number, two: string] | PromiseLike<[one: number, two: string]>) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: [one: number, two: string] | PromiseLike<[one: number, two: string]>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve([1, 'two']) : void > : ^^^^ >resolve : (value: [one: number, two: string] | PromiseLike<[one: number, two: string]>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1, 'two'] : [number, string] > : ^^^^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/contextualReturnTypeOfIIFE3.types b/tests/baselines/reference/contextualReturnTypeOfIIFE3.types index 0c68961a06f99..4012e250b4523 100644 --- a/tests/baselines/reference/contextualReturnTypeOfIIFE3.types +++ b/tests/baselines/reference/contextualReturnTypeOfIIFE3.types @@ -27,15 +27,15 @@ app.foo.bar = (function () { >app.foo.bar = (function () { return { someFun(arg) {} };})() : { someFun(arg: number): void; } > : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >app.foo.bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >app.foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >app : typeof app > : ^^^^^^^^^^ >foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >(function () { return { someFun(arg) {} };})() : { someFun(arg: number): void; } > : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >(function () { return { someFun(arg) {} };}) : () => { someFun(arg: number): void; } @@ -57,19 +57,19 @@ app.foo.bar.someFun(1); >app.foo.bar.someFun(1) : void > : ^^^^ >app.foo.bar.someFun : (arg: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >app.foo.bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >app.foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >app : typeof app > : ^^^^^^^^^^ >foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >someFun : (arg: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/contextualSigInstantiationRestParams.types b/tests/baselines/reference/contextualSigInstantiationRestParams.types index 5c9194efb236b..ba478ebb4f885 100644 --- a/tests/baselines/reference/contextualSigInstantiationRestParams.types +++ b/tests/baselines/reference/contextualSigInstantiationRestParams.types @@ -17,9 +17,9 @@ declare function contextual(...s: string[]): string var sig: typeof contextual = toInstantiate; >sig : (...s: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >contextual : (...s: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >toInstantiate : (a?: A, b?: B) => B -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types index 374ef8eb4d3df..14f47ec04722f 100644 --- a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types +++ b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types @@ -59,19 +59,19 @@ createMachine({}, (ev) => { >createMachine({}, (ev) => { ev.type; // should be `string`}) : void > : ^^^^ >createMachine : (config: { types?: TTypesMeta; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >(ev) => { ev.type; // should be `string`} : (ev: { type: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^ >ev : { type: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ ev.type; // should be `string` >ev.type : string > : ^^^^^^ >ev : { type: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >type : string > : ^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types b/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types index 79534f8f3b856..d35386ade5f37 100644 --- a/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types +++ b/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types @@ -21,7 +21,7 @@ test([ >test([ (arg) => { arg; // number },]) : void > : ^^^^ >test : (arg: Record void> | Array<(arg: number) => void>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[ (arg) => { arg; // number },] : ((arg: any) => void)[] > : ^^ ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types b/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types index dc6eaf3d0aa33..ec1e380e86f28 100644 --- a/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types +++ b/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types @@ -21,7 +21,7 @@ test([ >test([ (arg) => { arg; // number },]) : void > : ^^^^ >test : (arg: Record void> | Array<(arg: number) => void>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[ (arg) => { arg; // number },] : ((arg: any) => void)[] > : ^^ ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInObjectFreeze.types b/tests/baselines/reference/contextualSignatureInObjectFreeze.types index 54e6efc3154e2..d5c9c252c5ac8 100644 --- a/tests/baselines/reference/contextualSignatureInObjectFreeze.types +++ b/tests/baselines/reference/contextualSignatureInObjectFreeze.types @@ -7,11 +7,11 @@ Object.freeze({ >Object.freeze({ f: function () { }}) : Readonly<{ f: () => void; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ f: function () { }} : { f: () => void; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation.types b/tests/baselines/reference/contextualSignatureInstantiation.types index b322c38be4399..8b2fb9e27a584 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation.types +++ b/tests/baselines/reference/contextualSignatureInstantiation.types @@ -71,13 +71,13 @@ var a = bar(1, 1, g); // Should be number >bar(1, 1, g) : number > : ^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >1 : 1 > : ^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var a = baz(1, 1, g); // Should be number >a : number @@ -85,13 +85,13 @@ var a = baz(1, 1, g); // Should be number >baz(1, 1, g) : number > : ^^^^^^ >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >1 : 1 > : ^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b: number | string; >b : string | number @@ -103,9 +103,9 @@ var b = foo(g); // Error, number and string are disjoint types >foo(g) : unknown > : ^^^^^^^ >foo : (cb: (x: number, y: string) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b = bar(1, "one", g); // Error, number and string are disjoint types >b : string | number @@ -113,13 +113,13 @@ var b = bar(1, "one", g); // Error, number and string are disjoint types >bar(1, "one", g) : unknown > : ^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"one" : "one" > : ^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b = bar("one", 1, g); // Error, number and string are disjoint types >b : string | number @@ -127,13 +127,13 @@ var b = bar("one", 1, g); // Error, number and string are disjoint types >bar("one", 1, g) : unknown > : ^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"one" : "one" > : ^^^^^ >1 : 1 > : ^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b = baz(b, b, g); // Should be number | string >b : string | number @@ -141,13 +141,13 @@ var b = baz(b, b, g); // Should be number | string >baz(b, b, g) : string | number > : ^^^^^^^^^^^^^^^ >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : string | number > : ^^^^^^^^^^^^^^^ >b : string | number > : ^^^^^^^^^^^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var d: number[] | string[]; >d : number[] | string[] @@ -159,9 +159,9 @@ var d = foo(h); // Should be number[] | string[] >foo(h) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >foo : (cb: (x: number, y: string) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >h : (x: T, y: U) => T[] | U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var d = bar(1, "one", h); // Should be number[] | string[] >d : number[] | string[] @@ -169,13 +169,13 @@ var d = bar(1, "one", h); // Should be number[] | string[] >bar(1, "one", h) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"one" : "one" > : ^^^^^ >h : (x: T, y: U) => T[] | U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var d = bar("one", 1, h); // Should be number[] | string[] >d : number[] | string[] @@ -183,13 +183,13 @@ var d = bar("one", 1, h); // Should be number[] | string[] >bar("one", 1, h) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"one" : "one" > : ^^^^^ >1 : 1 > : ^ >h : (x: T, y: U) => T[] | U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var d = baz(d, d, g); // Should be number[] | string[] >d : number[] | string[] @@ -197,11 +197,11 @@ var d = baz(d, d, g); // Should be number[] | string[] >baz(d, d, g) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >d : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >d : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation1.types b/tests/baselines/reference/contextualSignatureInstantiation1.types index 4c57b2dfa251e..2d2177488d58b 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation1.types +++ b/tests/baselines/reference/contextualSignatureInstantiation1.types @@ -29,11 +29,11 @@ var e = (x: string, y?: K) => x.length; var r99 = map(e); // should be {}[] for S since a generic lambda is not inferentially typed >r99 : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map(e) : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map : (f: (x: S) => T) => (a: S[]) => T[] -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >e : (x: string, y?: K) => number > : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ @@ -67,11 +67,11 @@ var e2 = (x: string, y?: K) => x.length; var r100 = map2(e2); // type arg inference should fail for S since a generic lambda is not inferentially typed. Falls back to { length: number } >r100 : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map2(e2) : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map2 : (f: (x: S) => T) => (a: S[]) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >e2 : (x: string, y?: K) => number > : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation2.types b/tests/baselines/reference/contextualSignatureInstantiation2.types index 2cf405a944c60..0f793310a8e60 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation2.types +++ b/tests/baselines/reference/contextualSignatureInstantiation2.types @@ -20,7 +20,7 @@ dot = (f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x) >dot = (f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x)) : (f: (_: T) => S) => (g: (_: U) => T) => (r: U) => S > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^ >dot : (f: (_: T) => S) => (g: (_: U) => T) => (_: U) => S -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x)) : (f: (_: T) => S) => (g: (_: U) => T) => (r: U) => S > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^ >f : (_: T) => S @@ -42,11 +42,11 @@ dot = (f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x) >f(g(x)) : S > : ^ >f : (_: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g(x) : T > : ^ >g : (_: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : U > : ^ @@ -62,11 +62,11 @@ var r23 = dot(id)(id); >dot(id)(id) : (_: T) => unknown > : ^^^^ ^^^^^^^^^^^^^^^ >dot(id) : (g: (_: U) => unknown) => (_: U) => unknown -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^ >dot : (f: (_: T) => S) => (g: (_: U) => T) => (_: U) => S -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation3.types b/tests/baselines/reference/contextualSignatureInstantiation3.types index e628879c4e440..a2333e0bc0395 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation3.types +++ b/tests/baselines/reference/contextualSignatureInstantiation3.types @@ -15,13 +15,13 @@ function map(items: T[], f: (x: T) => U): U[]{ >items.map(f) : U[] > : ^^^ >items.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >items : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function identity(x: T) { @@ -71,11 +71,11 @@ var v1 = xs.map(identity); // Error if not number[] >xs.map(identity) : number[] > : ^^^^^^^^ >xs.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >xs : number[] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >identity : (x: T) => T > : ^ ^^ ^^ ^^^^^^ @@ -85,7 +85,7 @@ var v1 = map(xs, identity); // Error if not number[] >map(xs, identity) : number[] > : ^^^^^^^^ >map : (items: T[], f: (x: T) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >xs : number[] > : ^^^^^^^^ >identity : (x: T) => T @@ -101,11 +101,11 @@ var v2 = xs.map(singleton); // Error if not number[][] >xs.map(singleton) : number[][] > : ^^^^^^^^^^ >xs.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >xs : number[] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >singleton : (x: T) => T[] > : ^ ^^ ^^ ^^^^^^^^ @@ -115,7 +115,7 @@ var v2 = map(xs, singleton); // Error if not number[][] >map(xs, singleton) : number[][] > : ^^^^^^^^^^ >map : (items: T[], f: (x: T) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >xs : number[] > : ^^^^^^^^ >singleton : (x: T) => T[] diff --git a/tests/baselines/reference/contextualSignatureInstantiation4.types b/tests/baselines/reference/contextualSignatureInstantiation4.types index 1a761b8416e0a..ef73a4c0e6413 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation4.types +++ b/tests/baselines/reference/contextualSignatureInstantiation4.types @@ -25,7 +25,7 @@ const banana1 = fruitFactory1(Banana) // Banana >fruitFactory1(Banana) : Banana > : ^^^^^^^^^^^ >fruitFactory1 : (Fruit: new (...args: any[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -45,7 +45,7 @@ const banana2 = fruitFactory2(Banana) // Banana >fruitFactory2(Banana) : Banana > : ^^^^^^^^^^^ >fruitFactory2 : (Fruit: new (a: string, ...args: any[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -67,7 +67,7 @@ const banana3 = fruitFactory3(Banana) // Banana<"foo"> >fruitFactory3(Banana) : Banana<"foo"> > : ^^^^^^^^^^^^^ >fruitFactory3 : (Fruit: new (a: string, s: "foo", ...args: any[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -87,7 +87,7 @@ const banana4 = fruitFactory4(Banana) // Banana<"foo"> >fruitFactory4(Banana) : Banana<"foo"> > : ^^^^^^^^^^^^^ >fruitFactory4 : (Fruit: new (a: string, ...args: "foo"[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -105,7 +105,7 @@ const banana5 = fruitFactory5(Banana) // Banana<"foo"> >fruitFactory5(Banana) : Banana<"foo"> > : ^^^^^^^^^^^^^ >fruitFactory5 : (Fruit: new (...args: "foo"[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types index b693c252547fe..eb9f014482106 100644 --- a/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types @@ -13,7 +13,7 @@ function f() { return g; >g : (u: U) => U -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ } var h: (v: V, func: (v: V) => W) => W; >h : (v: V, func: (v: V) => W) => W @@ -31,11 +31,11 @@ var x = h("", f()); // Call should succeed and x should be string. All t >h("", f()) : string > : ^^^^^^ >h : (v: V, func: (v: V) => W) => W -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >f() : (u: U) => U > : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >f : () => (u: U) => U -> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.types b/tests/baselines/reference/contextualSignatureInstatiationContravariance.types index 64c0eeb87037b..b8639428a0a55 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.types +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.types @@ -31,11 +31,11 @@ var g2: (g: Giraffe, e: Elephant) => void; g2 = f2; // error because Giraffe and Elephant are disjoint types >g2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : (g: Giraffe, e: Elephant) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var h2: (g1: Giraffe, g2: Giraffe) => void; >h2 : (g1: Giraffe, g2: Giraffe) => void @@ -47,9 +47,9 @@ var h2: (g1: Giraffe, g2: Giraffe) => void; h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. >h2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >h2 : (g1: Giraffe, g2: Giraffe) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstatiationCovariance.types b/tests/baselines/reference/contextualSignatureInstatiationCovariance.types index 1573125257575..c9ed4c430e07c 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationCovariance.types +++ b/tests/baselines/reference/contextualSignatureInstatiationCovariance.types @@ -28,11 +28,11 @@ var g2: (a: Animal, t: TallThing) => void; g2 = f2; // While neither Animal nor TallThing satisfy the constraint, T is at worst a Giraffe and compatible with both via covariance. >g2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : (a: Animal, t: TallThing) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var h2: (a1: Animal, a2: Animal) => void; >h2 : (a1: Animal, a2: Animal) => void @@ -44,9 +44,9 @@ var h2: (a1: Animal, a2: Animal) => void; h2 = f2; // Animal does not satisfy the constraint, but T is at worst a Giraffe and compatible with Animal via covariance. >h2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >h2 : (a1: Animal, a2: Animal) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualTupleTypeParameterReadonly.types b/tests/baselines/reference/contextualTupleTypeParameterReadonly.types index 57eeaab7b181b..792662e0013b5 100644 --- a/tests/baselines/reference/contextualTupleTypeParameterReadonly.types +++ b/tests/baselines/reference/contextualTupleTypeParameterReadonly.types @@ -39,11 +39,11 @@ const cases = [ const eacher = each(cases); >eacher : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >each(cases) : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >each : >(cases: ReadonlyArray) => (fn: (...args: T) => any) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cases : readonly [readonly [1, "1"], readonly [2, "2"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -51,7 +51,7 @@ eacher((a, b) => { >eacher((a, b) => { a; b;}) : void > : ^^^^ >eacher : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(a, b) => { a; b;} : (a: 1 | 2, b: "1" | "2") => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >a : 1 | 2 @@ -74,7 +74,7 @@ eacher((...args) => { >eacher((...args) => { const [a, b] = args; a; b;}) : void > : ^^^^ >eacher : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(...args) => { const [a, b] = args; a; b;} : (...args: readonly [1, "1"] | readonly [2, "2"]) => void > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : readonly [1, "1"] | readonly [2, "2"] diff --git a/tests/baselines/reference/contextualTypeAppliedToVarArgs.types b/tests/baselines/reference/contextualTypeAppliedToVarArgs.types index 1b725ccd7346f..0581b69e86693 100644 --- a/tests/baselines/reference/contextualTypeAppliedToVarArgs.types +++ b/tests/baselines/reference/contextualTypeAppliedToVarArgs.types @@ -29,9 +29,9 @@ class Foo{ delegate(this, function (source, args2) >delegate(this, function (source, args2) { var a = source.node; var b = args2.node; } ) : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >delegate : (instance: any, method: (...args: any[]) => any, data?: any) => (...args: any[]) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >function (source, args2) { var a = source.node; var b = args2.node; } : (source: any, args2: any) => void diff --git a/tests/baselines/reference/contextualTypeCaching.types b/tests/baselines/reference/contextualTypeCaching.types index 56c22d27c1f4f..468ad19af18c8 100644 --- a/tests/baselines/reference/contextualTypeCaching.types +++ b/tests/baselines/reference/contextualTypeCaching.types @@ -48,7 +48,7 @@ emit('a', { >emit('a', { callback: (r) => {}, nested: { nestedCallback: (r) => {}, },}) : void > : ^^^^ >emit : (type: T, data: CustomEvents[T]) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >{ callback: (r) => {}, nested: { nestedCallback: (r) => {}, },} : { callback: (r: string) => void; nested: { nestedCallback: (r: string) => void; }; } @@ -137,7 +137,7 @@ export const applyOptimizationDefaults = (optimization: Optimization) => { >A(optimization, "minimizer", () => [ { apply: (compiler) => {}, }, ]) : void > : ^^^^ >A : (obj: T, prop: P, factory: () => T[P]) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >optimization : Optimization > : ^^^^^^^^^^^^ >"minimizer" : "minimizer" diff --git a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types index 436338ac46beb..e046fab296264 100644 --- a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types +++ b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types @@ -43,13 +43,13 @@ const { s } = t; >s : any > : ^^^ >t : { s: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ function fst({ s } = t) { } >fst : ({ s }?: { s: string; } | undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >s : any > : ^^^ >t : { s: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypeFromJSDoc.types b/tests/baselines/reference/contextualTypeFromJSDoc.types index 1a8d58ed9417f..e96f075e12e25 100644 --- a/tests/baselines/reference/contextualTypeFromJSDoc.types +++ b/tests/baselines/reference/contextualTypeFromJSDoc.types @@ -4,7 +4,7 @@ /** @type {Array<[string, {x?:number, y?:number}]>} */ const arr = [ >arr : [string, { x?: number; y?: number; }][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[ ['a', { x: 1 }], ['b', { y: 2 }]] : ([string, { x: number; }] | [string, { y: number; }])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -79,11 +79,11 @@ class C { >x : [string, { x?: number; y?: number; }][] > : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >value : [string, { x?: number; y?: number; }][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ get x() { >x : [string, { x?: number; y?: number; }][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ return [ >[ ['a', { x: 1 }], ['b', { y: 2 }] ] : ([string, { x: number; }] | [string, { y: number; }])[] diff --git a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types index f163aab9426a1..6287ef7f3a5a2 100644 --- a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types +++ b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types @@ -29,7 +29,7 @@ f("a", { >f("a", { cb: p => p,}) : void > : ^^^^ >f : (key: K, options: OptionsForKey[K]) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ >{ cb: p => p,} : { cb: (p: number) => number; } @@ -65,7 +65,7 @@ function g< >x = y : string > : ^^^^^^ >x : ({ a: string; } & { b: string; })[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^ ^^^^^^^ >y : string > : ^^^^^^ } diff --git a/tests/baselines/reference/contextualTypeOnYield1.types b/tests/baselines/reference/contextualTypeOnYield1.types index bde3fa35982f9..fc62787521274 100644 --- a/tests/baselines/reference/contextualTypeOnYield1.types +++ b/tests/baselines/reference/contextualTypeOnYield1.types @@ -23,11 +23,11 @@ const f: FuncOrGeneratorFunc = function*() { >console.log(num) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >num : number > : ^^^^^^ } diff --git a/tests/baselines/reference/contextualTypeOnYield2.types b/tests/baselines/reference/contextualTypeOnYield2.types index ec126a35ee75e..3d33e07f42d91 100644 --- a/tests/baselines/reference/contextualTypeOnYield2.types +++ b/tests/baselines/reference/contextualTypeOnYield2.types @@ -21,11 +21,11 @@ const g: OrGen = function* () { >console.log(num) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >num : number > : ^^^^^^ } diff --git a/tests/baselines/reference/contextualTypeSelfReferencing.types b/tests/baselines/reference/contextualTypeSelfReferencing.types index 301490dd0e75f..0f6e839781322 100644 --- a/tests/baselines/reference/contextualTypeSelfReferencing.types +++ b/tests/baselines/reference/contextualTypeSelfReferencing.types @@ -26,7 +26,7 @@ const result = parse([{ a: "foo" }]); >parse([{ a: "foo" }]) : [{ a: "foo"; }] > : ^^^^^^^^^^^^^^^ >parse : (def: narrow) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[{ a: "foo" }] : [{ a: "foo"; }] > : ^^^^^^^^^^^^^^^ >{ a: "foo" } : { a: "foo"; } diff --git a/tests/baselines/reference/contextualTypeTupleEnd.types b/tests/baselines/reference/contextualTypeTupleEnd.types index 28095e062b15f..062d95bdbf9ae 100644 --- a/tests/baselines/reference/contextualTypeTupleEnd.types +++ b/tests/baselines/reference/contextualTypeTupleEnd.types @@ -31,13 +31,13 @@ f1(); // Error >f1() : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ f1(x => str(x)); >f1(x => str(x)) : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x => str(x) : (x: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : string @@ -45,7 +45,7 @@ f1(x => str(x)); >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -53,7 +53,7 @@ f1(x => num(x), x => str(x)); >f1(x => num(x), x => str(x)) : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x => num(x) : (x: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : number @@ -61,7 +61,7 @@ f1(x => num(x), x => str(x)); >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -71,7 +71,7 @@ f1(x => num(x), x => str(x)); >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -79,7 +79,7 @@ f1(x => num(x), x => num(x), x => str(x)); >f1(x => num(x), x => num(x), x => str(x)) : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x => num(x) : (x: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : number @@ -87,7 +87,7 @@ f1(x => num(x), x => num(x), x => str(x)); >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => num(x) : (x: number) => void @@ -97,7 +97,7 @@ f1(x => num(x), x => num(x), x => str(x)); >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -107,7 +107,7 @@ f1(x => num(x), x => num(x), x => str(x)); >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -129,7 +129,7 @@ const a1: Funcs = [x => str(x)]; >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -145,7 +145,7 @@ const a2: Funcs = [x => num(x), x => str(x)]; >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -155,7 +155,7 @@ const a2: Funcs = [x => num(x), x => str(x)]; >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -171,7 +171,7 @@ const a3: Funcs = [x => num(x), x => num(x), x => str(x)]; >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => num(x) : (x: number) => void @@ -181,7 +181,7 @@ const a3: Funcs = [x => num(x), x => num(x), x => str(x)]; >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -191,7 +191,7 @@ const a3: Funcs = [x => num(x), x => num(x), x => str(x)]; >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -233,13 +233,13 @@ export function createSelector>(...selecto >console.log(selectors) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >selectors : [...selectors: S, f: (x: any) => any] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ } createSelector( @@ -296,7 +296,7 @@ example( >example( x => x.foo, // Error x => x.bar, // Error x => x.baz,) : void > : ^^^^ >example : (...args: [...((n: number) => void)[], (x: any) => void]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ x => x.foo, // Error >x => x.foo : (x: number) => any @@ -352,7 +352,7 @@ test(a => a, b => b, c => c); >test(a => a, b => b, c => c) : void > : ^^^^ >test : (...args: [...((arg: number) => void)[], (arg: string) => void]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a => a : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/contextualTypeWithTuple.types b/tests/baselines/reference/contextualTypeWithTuple.types index 48717f9d77084..af3f3025b8ca3 100644 --- a/tests/baselines/reference/contextualTypeWithTuple.types +++ b/tests/baselines/reference/contextualTypeWithTuple.types @@ -153,7 +153,7 @@ objNumTuple = [ {}, 5]; >objNumTuple = [ {}, 5] : [{}, number] > : ^^^^^^^^^^^^ >objNumTuple : [{ a: string; }, number] -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^ >[ {}, 5] : [{}, number] > : ^^^^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types index 3d03711c89fdd..d5470ad755e56 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types @@ -51,11 +51,11 @@ var x: IWithNoCallSignatures | IWithCallSignatures = a => a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // With call signatures with different return type var x2: IWithCallSignatures | IWithCallSignatures2 = a => a.toString(); // Like iWithCallSignatures @@ -68,11 +68,11 @@ var x2: IWithCallSignatures | IWithCallSignatures2 = a => a.toString(); // Like >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var x2: IWithCallSignatures | IWithCallSignatures2 = a => a; // Like iWithCallSignatures2 >x2 : IWithCallSignatures | IWithCallSignatures2 @@ -109,9 +109,9 @@ var x4: IWithCallSignatures | IWithCallSignatures4 = a => /*here a should be any >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types index c6a212e8e3d0e..7239654cafbb5 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types @@ -108,11 +108,11 @@ var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a.to >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a }; // a should be number >x2 : IWithStringIndexSignature1 | IWithStringIndexSignature2 @@ -184,11 +184,11 @@ var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a.to >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a }; // a should be number >x4 : IWithNumberIndexSignature1 | IWithNumberIndexSignature2 diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types index 6e18fc27d6711..d3f6a07dc2755 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types @@ -478,11 +478,11 @@ var i11Ori21: I11 | I21 = { >a.charAt(b) : string > : ^^^^^^ >a.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -521,11 +521,11 @@ var i11Ori21: I11 | I21 = { >a.charCodeAt(b) : number > : ^^^^^^ >a.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -576,11 +576,11 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { >a.charAt(b) : string > : ^^^^^^ >a.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -616,11 +616,11 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { >a.charCodeAt(b) : number > : ^^^^^^ >a.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types index f182c5f7ec6e3..e0b7462a267d4 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types @@ -39,11 +39,11 @@ var objStrOrNum1: { prop: string } | { prop: number } = objStr || objNum; >prop : number > : ^^^^^^ >objStr || objNum : { prop: string; } | { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >objStr : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >objNum : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var objStrOrNum2: { prop: string | number } = objStr || objNum; >objStrOrNum2 : { prop: string | number; } @@ -51,11 +51,11 @@ var objStrOrNum2: { prop: string | number } = objStr || objNum; >prop : string | number > : ^^^^^^^^^^^^^^^ >objStr || objNum : { prop: string; } | { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >objStr : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >objNum : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ // Below is error because : // Spec says: @@ -256,11 +256,11 @@ var i11Ori21: I11 | I21 = { // Like i1 >a.charAt(b) : string > : ^^^^^^ >a.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -292,11 +292,11 @@ var i11Ori21: I11 | I21 = { // Like i2 >a.charCodeAt(b) : number > : ^^^^^^ >a.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/contextualTypedSpecialAssignment.types b/tests/baselines/reference/contextualTypedSpecialAssignment.types index 3b08b736557fc..8c5d1bbc1c6f6 100644 --- a/tests/baselines/reference/contextualTypedSpecialAssignment.types +++ b/tests/baselines/reference/contextualTypedSpecialAssignment.types @@ -292,11 +292,11 @@ module.exports = { >module.exports = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } > : ^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^ >module.exports : { status: "done"; m(n: number): void; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^ >module : { exports: { status: "done"; m(n: number): void; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^^^^ >exports : { status: "done"; m(n: number): void; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^ >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTyping.types b/tests/baselines/reference/contextualTyping.types index 05c458a59dc96..91a02669eecc6 100644 --- a/tests/baselines/reference/contextualTyping.types +++ b/tests/baselines/reference/contextualTyping.types @@ -317,11 +317,11 @@ class C4T5 { >this.foo = function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.foo : (i: number, s: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >foo : (i: number, s: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >i : number @@ -353,7 +353,7 @@ module C5T5 { >foo = function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >foo : (i: number, s: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >i : number @@ -378,7 +378,7 @@ c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; >c6t5 = <(n: number) => IFoo>function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^ ^^^^^ >c6t5 : (n: number) => IFoo -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ><(n: number) => IFoo>function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^ ^^^^^ >n : number @@ -598,11 +598,11 @@ objc8.t1 = (function(s) { return s }); >objc8.t1 = (function(s) { return s }) : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >objc8.t1 : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t1 : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(function(s) { return s }) : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >function(s) { return s } : (s: string) => string @@ -617,8 +617,8 @@ objc8.t2 = ({ > : ^^^^ >objc8.t2 : IFoo > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t2 : IFoo > : ^^^^ >({ n: 1}) : IFoo @@ -640,8 +640,8 @@ objc8.t3 = []; > : ^^^^^^^^^^^ >objc8.t3 : number[] > : ^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t3 : number[] > : ^^^^^^^^ >[] : undefined[] @@ -651,11 +651,11 @@ objc8.t4 = function() { return ({}) }; >objc8.t4 = function() { return ({}) } : () => IFoo > : ^^^^^^ >objc8.t4 : () => IFoo -> : ^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t4 : () => IFoo -> : ^^^^^^^^^^ +> : ^^^^^^ >function() { return ({}) } : () => IFoo > : ^^^^^^ >({}) : IFoo @@ -669,11 +669,11 @@ objc8.t5 = function(n) { return ({}) }; >objc8.t5 = function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^^^^^^^^^^^^ >objc8.t5 : (n: number) => IFoo -> : ^ ^^ ^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t5 : (n: number) => IFoo -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^^^^^^^^^^^^ >n : number @@ -689,11 +689,11 @@ objc8.t6 = function(n, s) { return ({}) }; >objc8.t6 = function(n, s) { return ({}) } : (n: number, s: string) => IFoo > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ >objc8.t6 : (n: number, s: string) => IFoo -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t6 : (n: number, s: string) => IFoo -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n, s) { return ({}) } : (n: number, s: string) => IFoo > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ >n : number @@ -711,11 +711,11 @@ objc8.t7 = function(n: number) { return n }; >objc8.t7 = function(n: number) { return n } : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >objc8.t7 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t7 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n: number) { return n } : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number @@ -727,11 +727,11 @@ objc8.t8 = function(n) { return n; }; >objc8.t8 = function(n) { return n; } : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >objc8.t8 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t8 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n) { return n; } : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -744,8 +744,8 @@ objc8.t9 = [[],[]]; > : ^^^^^^^^^^^^^ >objc8.t9 : number[][] > : ^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t9 : number[][] > : ^^^^^^^^^^ >[[],[]] : undefined[][] @@ -760,8 +760,8 @@ objc8.t10 = [({}),({})]; > : ^^^^^^ >objc8.t10 : IFoo[] > : ^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t10 : IFoo[] > : ^^^^^^ >[({}),({})] : IFoo[] @@ -783,11 +783,11 @@ objc8.t11 = [function(n, s) { return s; }]; >objc8.t11 = [function(n, s) { return s; }] : ((n: number, s: string) => string)[] > : ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >objc8.t11 : ((n: number, s: string) => string)[] -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t11 : ((n: number, s: string) => string)[] -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[function(n, s) { return s; }] : ((n: number, s: string) => string)[] > : ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >function(n, s) { return s; } : (n: number, s: string) => string @@ -804,8 +804,8 @@ objc8.t12 = { > : ^^^^^^^ ^^^ >objc8.t12 : IBar > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t12 : IBar > : ^^^^ >{ foo: ({})} : { foo: IFoo; } @@ -826,8 +826,8 @@ objc8.t13 = ({ > : ^^^^ >objc8.t13 : IFoo > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t13 : IFoo > : ^^^^ >({ f: function(i, s) { return s; }}) : IFoo @@ -855,8 +855,8 @@ objc8.t14 = ({ > : ^^^^ >objc8.t14 : IFoo > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t14 : IFoo > : ^^^^ >({ a: []}) : IFoo @@ -1205,7 +1205,7 @@ declare function EF1(a:number, b:number):number; function EF1(a,b) { return a+b; } >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1223,7 +1223,7 @@ var efv = EF1(1,2); >EF1(1,2) : number > : ^^^^^^ >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1285,7 +1285,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -1293,7 +1293,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/contextualTyping16.types b/tests/baselines/reference/contextualTyping16.types index 327cc15c45939..be42d74f04c18 100644 --- a/tests/baselines/reference/contextualTyping16.types +++ b/tests/baselines/reference/contextualTyping16.types @@ -15,7 +15,7 @@ var foo: {id:number;} = {id:4}; foo = {id:5}; >foo = {id:5} : { id: number; } > : ^^^^^^^^^^^^^^^ >foo : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{id:5} : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number diff --git a/tests/baselines/reference/contextualTyping17.types b/tests/baselines/reference/contextualTyping17.types index ad6de2b08dd7e..aca3a69c52746 100644 --- a/tests/baselines/reference/contextualTyping17.types +++ b/tests/baselines/reference/contextualTyping17.types @@ -15,7 +15,7 @@ var foo: {id:number;} = {id:4}; foo = {id: 5, name:"foo"}; >foo = {id: 5, name:"foo"} : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{id: 5, name:"foo"} : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number diff --git a/tests/baselines/reference/contextualTyping18.types b/tests/baselines/reference/contextualTyping18.types index 06dd976055e8c..00619f3abafc4 100644 --- a/tests/baselines/reference/contextualTyping18.types +++ b/tests/baselines/reference/contextualTyping18.types @@ -17,7 +17,7 @@ var foo: {id:number;} = <{id:number;}>({ }); foo = {id: 5}; >foo = {id: 5} : { id: number; } > : ^^^^^^^^^^^^^^^ >foo : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{id: 5} : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number diff --git a/tests/baselines/reference/contextualTyping19.types b/tests/baselines/reference/contextualTyping19.types index e45a1e68626f1..4b97cebe4ea93 100644 --- a/tests/baselines/reference/contextualTyping19.types +++ b/tests/baselines/reference/contextualTyping19.types @@ -17,7 +17,7 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, {id:2}]; >foo = [{id:1}, {id:2}] : { id: number; }[] > : ^^^^^^^^^^^^^^^^^ >foo : { id: number; }[] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >[{id:1}, {id:2}] : { id: number; }[] > : ^^^^^^^^^^^^^^^^^ >{id:1} : { id: number; } diff --git a/tests/baselines/reference/contextualTyping20.types b/tests/baselines/reference/contextualTyping20.types index 0edddc6fc5c7d..fffd62c1366fb 100644 --- a/tests/baselines/reference/contextualTyping20.types +++ b/tests/baselines/reference/contextualTyping20.types @@ -17,7 +17,7 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, {id:2, name:"foo"}]; >foo = [{id:1}, {id:2, name:"foo"}] : ({ id: number; } | { id: number; name: string; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { id: number; }[] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >[{id:1}, {id:2, name:"foo"}] : ({ id: number; } | { id: number; name: string; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{id:1} : { id: number; } diff --git a/tests/baselines/reference/contextualTyping21.types b/tests/baselines/reference/contextualTyping21.types index 405b8ca0443cd..3520e3d01d217 100644 --- a/tests/baselines/reference/contextualTyping21.types +++ b/tests/baselines/reference/contextualTyping21.types @@ -17,7 +17,7 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, 1]; >foo = [{id:1}, 1] : (number | { id: number; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { id: number; }[] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >[{id:1}, 1] : (number | { id: number; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{id:1} : { id: number; } diff --git a/tests/baselines/reference/contextualTyping22.types b/tests/baselines/reference/contextualTyping22.types index b6c10b42e1783..c3865c8bc8107 100644 --- a/tests/baselines/reference/contextualTyping22.types +++ b/tests/baselines/reference/contextualTyping22.types @@ -15,7 +15,7 @@ var foo:(a:number)=>number = function(a){return a}; foo = function(b){return b}; >foo = function(b){return b} : (b: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(b){return b} : (b: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >b : number diff --git a/tests/baselines/reference/contextualTyping23.types b/tests/baselines/reference/contextualTyping23.types index e1b8ad23f4ca2..53e0a4fc763ac 100644 --- a/tests/baselines/reference/contextualTyping23.types +++ b/tests/baselines/reference/contextualTyping23.types @@ -9,13 +9,13 @@ var foo:(a:{():number; (i:number):number; })=>number; foo = function(a){return 5 >i : number > : ^^^^^^ >foo = function(a){return 5} : (a: { (): number; (i: number): number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ >foo : (a: { (): number; (i: number): number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(a){return 5} : (a: { (): number; (i: number): number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ >a : { (): number; (i: number): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/contextualTyping24.types b/tests/baselines/reference/contextualTyping24.types index 265e9c7dc8217..847fdbc66ce2a 100644 --- a/tests/baselines/reference/contextualTyping24.types +++ b/tests/baselines/reference/contextualTyping24.types @@ -11,7 +11,7 @@ var foo:(a:{():number; (i:number):number; })=>number; foo = function(this: void, >foo = function(this: void, a:string){return 5} : (this: void, a: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >foo : (a: { (): number; (i: number): number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(this: void, a:string){return 5} : (this: void, a: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : void diff --git a/tests/baselines/reference/contextualTypingFunctionReturningFunction.types b/tests/baselines/reference/contextualTypingFunctionReturningFunction.types index b37b35dd409c6..4c33e1e7d72d2 100644 --- a/tests/baselines/reference/contextualTypingFunctionReturningFunction.types +++ b/tests/baselines/reference/contextualTypingFunctionReturningFunction.types @@ -25,7 +25,7 @@ f({ >f({ a: s => {}, b: () => n => {},}) : void > : ^^^^ >f : (i: I) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: s => {}, b: () => n => {},} : { a: (s: string) => void; b: () => (n: number) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types b/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types index 5d78b4039de43..12fb97ef2c171 100644 --- a/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types +++ b/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types @@ -3,13 +3,13 @@ === contextualTypingFunctionReturningFunction2.ts === declare function f(n: number): void; >f : { (n: number): void; (cb: () => (n: number) => number): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function f(cb: () => (n: number) => number): void; >f : { (n: number): void; (cb: () => (n: number) => number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : () => (n: number) => number > : ^^^^^^ >n : number @@ -19,7 +19,7 @@ f(() => n => n); >f(() => n => n) : void > : ^^^^ >f : { (n: number): void; (cb: () => (n: number) => number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >() => n => n : () => (n: number) => number > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >n => n : (n: number) => number diff --git a/tests/baselines/reference/contextualTypingOfAccessors.types b/tests/baselines/reference/contextualTypingOfAccessors.types index 69758964aa78b..fe8faed1bf275 100644 --- a/tests/baselines/reference/contextualTypingOfAccessors.types +++ b/tests/baselines/reference/contextualTypingOfAccessors.types @@ -18,7 +18,7 @@ x = { >x = { get foo() { return (n)=>n }, set foo(x) {}} : { foo: (n: any) => any; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^ >x : { foo: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ get foo() { return (n)=>n }, set foo(x) {}} : { foo: (n: any) => any; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypingOfArrayLiterals1.types b/tests/baselines/reference/contextualTypingOfArrayLiterals1.types index 7d8f6fee45da2..38fc587b905c2 100644 --- a/tests/baselines/reference/contextualTypingOfArrayLiterals1.types +++ b/tests/baselines/reference/contextualTypingOfArrayLiterals1.types @@ -33,9 +33,9 @@ r2.getDate(); >r2.getDate() : number > : ^^^^^^ >r2.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >r2 : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression.types b/tests/baselines/reference/contextualTypingOfConditionalExpression.types index c2d453a6d0801..870fbb5f83730 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression.types +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression.types @@ -17,11 +17,11 @@ var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed( >a.toExponential() : string > : ^^^^^^ >a.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(b) => b.toFixed() : (b: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >b : number @@ -29,11 +29,11 @@ var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed( >b.toFixed() : string > : ^^^^^^ >b.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ class A { >A : A diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types index 35612be3d82ff..075082acb4cd7 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types @@ -50,11 +50,11 @@ var f = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5 = _.forEach(c2, f); >r5 : void @@ -62,11 +62,11 @@ var r5 = _.forEach(c2, f); >_.forEach(c2, f) : void > : ^^^^ >_.forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >f : (x: number) => string @@ -78,11 +78,11 @@ var r6 = _.forEach(c2, (x) => { return x.toFixed() }); >_.forEach(c2, (x) => { return x.toFixed() }) : void > : ^^^^ >_.forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -92,9 +92,9 @@ var r6 = _.forEach(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types index c3c9b95e8202c..42e75068b89db 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types +++ b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types @@ -4,13 +4,13 @@ interface Foo { getFoo(n: number): void; >getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ getFoo(s: string): void; >getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ } @@ -23,11 +23,11 @@ foo.getFoo = bar => { }; >foo.getFoo = bar => { } : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >foo.getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : Foo > : ^^^ >getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar => { } : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >bar : any diff --git a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types index 1a4a5231a99f5..077c1a6791016 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types +++ b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types @@ -19,7 +19,7 @@ f = (a) => { return a.asdf } >f = (a) => { return a.asdf } : (a: any) => any > : ^ ^^^^^^^^^^^^^ >f : { (x: string): string; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(a) => { return a.asdf } : (a: any) => any > : ^ ^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/contextualTypingOfOptionalMembers.types b/tests/baselines/reference/contextualTypingOfOptionalMembers.types index 90640a9a47073..db3692a5b60b1 100644 --- a/tests/baselines/reference/contextualTypingOfOptionalMembers.types +++ b/tests/baselines/reference/contextualTypingOfOptionalMembers.types @@ -37,7 +37,7 @@ app({ >app({ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,}) : void > : ^^^^ >app : >(obj: Options) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,} : { state: number; actions: { foo: (s: number) => number; }; view: (s: number, a: { foo: (s: number) => number; }) => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ @@ -100,7 +100,7 @@ const y = foo({ >foo({ bar(x) { // Should be typed number => void }}) : { bar(x: number): void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^ >foo : (x: string | T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ bar(x) { // Should be typed number => void }} : { bar(x: number): void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -140,7 +140,7 @@ app2({ >app2({ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,}) : void > : ^^^^ >app2 : >(obj: Options2) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,} : { state: number; actions: { foo: (s: number) => number; }; view: (s: number, a: { foo: (s: number) => number; }) => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ @@ -199,7 +199,7 @@ app3({ >app3({ state: 100, actions: [ s => s // Should be typed number => number ], view: (s, a) => undefined as any,}) : void > : ^^^^ >app3 : >(obj: Options) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ state: 100, actions: [ s => s // Should be typed number => number ], view: (s, a) => undefined as any,} : { state: number; actions: ((s: number) => number)[]; view: (s: number, a: ((s: number) => number)[]) => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ @@ -268,7 +268,7 @@ const a = s} />; // TODO: should be number => number > s} /> : JSX.Element > : ^^^^^^^^^^^ >App4 : >(props: Options["actions"] & { state: State; }) => JSX.Element -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >state : number > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types b/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types index ac093b8d2015b..67ccb64b9f7a5 100644 --- a/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types +++ b/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types @@ -44,11 +44,11 @@ function getSpecsFromRaw( >getPropFromRaw(prop, isString, "string") : PropOfRaw > : ^^^^^^^^^^^^^^^^^ >getPropFromRaw : (prop: "files" | "include" | "exclude" | "references", validateElement: (value: unknown) => boolean, elementTypeName: string) => PropOfRaw -> : ^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >prop : "files" | "include" | "exclude" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isString : (text: unknown) => text is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ } diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types index 1e3ec74669c1f..14075af84d112 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types @@ -17,7 +17,7 @@ f10('', () => a => a.foo, ''); // a is "" >f10('', () => a => a.foo, '') : string > : ^^^^^^ >f10 : (x: T, b: () => (a: T) => void, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >() => a => a.foo : () => (a: string) => any @@ -41,7 +41,7 @@ var r9 = f10('', () => (a => a.foo), 1); // error >f10('', () => (a => a.foo), 1) : "" > : ^^ >f10 : (x: T, b: () => (a: T) => void, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >() => (a => a.foo) : () => (a: "") => any diff --git a/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types b/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types index d3ac76021b4e5..a70b54e69ccb4 100644 --- a/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types +++ b/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types @@ -25,7 +25,7 @@ f2 = (x, y) => { return x } >f2 = (x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >f2 : { (x: string, y: number): string; (x: T, y: U): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >x : any @@ -54,7 +54,7 @@ f3 = (x, y) => { return x } >f3 = (x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >f3 : { (x: T, y: U): T; (x: string, y: number): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >(x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/contextualTypingWithGenericSignature.types b/tests/baselines/reference/contextualTypingWithGenericSignature.types index e60be890bd08a..cd801ea185b3e 100644 --- a/tests/baselines/reference/contextualTypingWithGenericSignature.types +++ b/tests/baselines/reference/contextualTypingWithGenericSignature.types @@ -19,7 +19,7 @@ f2 = (x, y) => { return x } >f2 = (x, y) => { return x } : (x: T, y: U) => T > : ^^^^^^^ ^^^^^ ^^^^^^^^^ >f2 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x, y) => { return x } : (x: T, y: U) => T > : ^^^^^^^ ^^^^^ ^^^^^^^^^ >x : T diff --git a/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types b/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types index 9352d45445ca6..95ec3deab65e2 100644 --- a/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types +++ b/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types @@ -16,7 +16,7 @@ const x = { >setTimeout(function() { arguments }, 0) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >function() { arguments } : (...args: any[]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types index 14b47b1876cfe..1ecb3614c4283 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types @@ -31,13 +31,13 @@ async function fn1(): Promise { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve => resolve({ key: "value" }) : (resolve: (value: Obj | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve({ key: "value" }) : void > : ^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ key: "value" } : { key: "value"; } > : ^^^^^^^^^^^^^^^^^ >key : "value" diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types index fce9336823554..341086c4685a9 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types @@ -28,15 +28,15 @@ async function fn2(): Promise { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve => { resolve({ key: "value" }); } : (resolve: (value: Obj | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ resolve({ key: "value" }); >resolve({ key: "value" }) : void > : ^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ key: "value" } : { key: "value"; } > : ^^^^^^^^^^^^^^^^^ >key : "value" @@ -74,15 +74,15 @@ async function fn4(): Promise { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve => { resolve({ key: "value" }); } : (resolve: (value: Obj | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ resolve({ key: "value" }); >resolve({ key: "value" }) : void > : ^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ key: "value" } : { key: "value"; } > : ^^^^^^^^^^^^^^^^^ >key : "value" @@ -199,17 +199,17 @@ test("windows-process-tree", async () => { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve, reject) => { getProcessTree(123, (tree) => { if (tree) { resolve(); } else { reject(new Error("windows-process-tree")); } }); } : (resolve: (value: void | PromiseLike) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ getProcessTree(123, (tree) => { >getProcessTree(123, (tree) => { if (tree) { resolve(); } else { reject(new Error("windows-process-tree")); } }) : void > : ^^^^ >getProcessTree : (rootPid: number, callback: (tree: ProcessTreeNode) => void) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >123 : 123 > : ^^^ >(tree) => { if (tree) { resolve(); } else { reject(new Error("windows-process-tree")); } } : (tree: ProcessTreeNode) => void @@ -225,14 +225,14 @@ test("windows-process-tree", async () => { >resolve() : void > : ^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { reject(new Error("windows-process-tree")); >reject(new Error("windows-process-tree")) : void > : ^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Error("windows-process-tree") : Error > : ^^^^^ >Error : ErrorConstructor @@ -291,27 +291,27 @@ async function copyExtensions( >Promise.all( fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) ) : Promise<[ILocalExtension, Metadata][]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ fromExtensions >fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) : Promise<[ILocalExtension, Metadata]>[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fromExtensions .filter((e) => !e.isApplicationScoped) .map : (callbackfn: (value: ILocalExtension, index: number, array: ILocalExtension[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >fromExtensions .filter((e) => !e.isApplicationScoped) : ILocalExtension[] > : ^^^^^^^^^^^^^^^^^ >fromExtensions .filter : { (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => value is S, thisArg?: any): S[]; (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => unknown, thisArg?: any): ILocalExtension[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >fromExtensions : ILocalExtension[] > : ^^^^^^^^^^^^^^^^^ .filter((e) => !e.isApplicationScoped) >filter : { (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => value is S, thisArg?: any): S[]; (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => unknown, thisArg?: any): ILocalExtension[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >(e) => !e.isApplicationScoped : (e: ILocalExtension) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e : ILocalExtension @@ -327,7 +327,7 @@ async function copyExtensions( .map(async (e) => [e, await scanMetadata(e)]) >map : (callbackfn: (value: ILocalExtension, index: number, array: ILocalExtension[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >async (e) => [e, await scanMetadata(e)] : (e: ILocalExtension) => Promise<[ILocalExtension, Metadata]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e : ILocalExtension @@ -340,8 +340,8 @@ async function copyExtensions( > : ^^^^^^^^ >scanMetadata(e) : Promise > : ^^^^^^^^^^^^^^^^^ ->scanMetadata : (local: ILocalExtension) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>scanMetadata : (local: ILocalExtension) => Promise +> : ^ ^^ ^^^^^ >e : ILocalExtension > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types index 144b8ae8198c2..434665fea85fb 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types @@ -30,7 +30,7 @@ createMachine<{ count: number }>({ >createMachine<{ count: number }>({ services: { test: async () => Promise.reject("some err"), async test2() { return Promise.reject("some err"); }, },}) : void > : ^^^^ >createMachine : (implementations: { services: Record Promise | StateMachine>; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >count : number > : ^^^^^^ >{ services: { test: async () => Promise.reject("some err"), async test2() { return Promise.reject("some err"); }, },} : { services: { test: () => Promise<{ count: number; }>; test2(): Promise<{ count: number; }>; }; } @@ -38,39 +38,39 @@ createMachine<{ count: number }>({ services: { >services : { test: () => Promise<{ count: number; }>; test2(): Promise<{ count: number; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >{ test: async () => Promise.reject("some err"), async test2() { return Promise.reject("some err"); }, } : { test: () => Promise<{ count: number; }>; test2(): Promise<{ count: number; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ test: async () => Promise.reject("some err"), >test : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >async () => Promise.reject("some err") : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject("some err") : Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"some err" : "some err" > : ^^^^^^^^^^ async test2() { >test2 : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ return Promise.reject("some err"); >Promise.reject("some err") : Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"some err" : "some err" > : ^^^^^^^^^^ @@ -88,15 +88,15 @@ function fn1(): () => Promise<{ count: number }> | StateMachine<{ count: number return async () => Promise.reject('some err') >async () => Promise.reject('some err') : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject('some err') : Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >'some err' : "some err" > : ^^^^^^^^^^ } @@ -120,13 +120,13 @@ const cb1: LoadCallback = async () => load().then(m => m); >load().then(m => m) : Promise > : ^^^^^^^^^^^^^^^^ >load().then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >load() : Promise > : ^^^^^^^^^^^^^^^^ >load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >m => m : (m: boolean) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^ >m : boolean @@ -142,7 +142,7 @@ const cb2: LoadCallback = async () => load(); >load() : Promise > : ^^^^^^^^^^^^^^^^ >load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const cb3: LoadCallback = () => load().then(m => m); >cb3 : LoadCallback @@ -152,13 +152,13 @@ const cb3: LoadCallback = () => load().then(m => m); >load().then(m => m) : Promise > : ^^^^^^^^^^^^^^^^ >load().then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >load() : Promise > : ^^^^^^^^^^^^^^^^ >load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >m => m : (m: boolean) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^ >m : boolean diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator01.types b/tests/baselines/reference/contextuallyTypeCommaOperator01.types index 5dacf9d1ccc50..8050b69117823 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator01.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator01.types @@ -11,7 +11,7 @@ x = (100, a => a); >x = (100, a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(100, a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >100, a => a : (a: string) => string diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator02.types b/tests/baselines/reference/contextuallyTypeCommaOperator02.types index 01306d1db8bb4..6eb00cc98cba8 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator02.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator02.types @@ -11,7 +11,7 @@ x = (100, a => { >x = (100, a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(100, a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >100, a => { const b: number = a; return b;} : (a: string) => number diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator03.types b/tests/baselines/reference/contextuallyTypeCommaOperator03.types index 484601adba035..ab72a795680c0 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator03.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator03.types @@ -11,7 +11,7 @@ x = (a => a, b => b); >x = (a => a, b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a => a, b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a, b => b : (b: string) => string diff --git a/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types b/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types index c6c19ee5cb18b..f9093e1a8ddb1 100644 --- a/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types +++ b/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types @@ -50,11 +50,11 @@ const test2: Action2 = async function* () { >Promise.resolve('') : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd01.types b/tests/baselines/reference/contextuallyTypeLogicalAnd01.types index 679ec2d94b113..ba43a105f1cb5 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd01.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd01.types @@ -17,7 +17,7 @@ x = y && (a => a); >x = y && (a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y && (a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >y : true diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd02.types b/tests/baselines/reference/contextuallyTypeLogicalAnd02.types index a7d8088efdd6d..7688beb0ab520 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd02.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd02.types @@ -17,7 +17,7 @@ x = y && (a => { >x = y && (a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y && (a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >y : true diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd03.types b/tests/baselines/reference/contextuallyTypeLogicalAnd03.types index 438fcdc07ad0f..a1cd5cd1fdf60 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd03.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd03.types @@ -17,7 +17,7 @@ x = (a => a) && (b => b); >x = (a => a) && (b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a => a) && (b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >(a => a) : (a: any) => any diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.types b/tests/baselines/reference/contextuallyTypedBindingInitializer.types index 7efe04993ba9b..76fe1aaf89f54 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.types @@ -12,7 +12,7 @@ function f({ show = v => v.toString() }: Show) {} >f : ({ show }: Show) => void > : ^ ^^ ^^^^^^^^^ >show : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v.toString() : (v: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -20,17 +20,17 @@ function f({ show = v => v.toString() }: Show) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ function f2({ "show": showRename = v => v.toString() }: Show) {} >f2 : ({ "show": showRename }: Show) => void > : ^ ^^ ^^^^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v.toString() : (v: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -38,11 +38,11 @@ function f2({ "show": showRename = v => v.toString() }: Show) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >f3 : ({ ["show"]: showRename }: Show) => void @@ -50,7 +50,7 @@ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >"show" : "show" > : ^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v.toString() : (v: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -58,11 +58,11 @@ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ interface Nested { nested: Show @@ -85,11 +85,11 @@ function ff({ nested = { show: v => v.toString() } }: Nested) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ interface Tuples { prop: [string, number]; @@ -132,7 +132,7 @@ let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => >stringIdentity : any > : ^^^ >id : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg => arg : (arg: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >arg : string diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types index dfaa01b831591..9e98e4f927aa2 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types @@ -14,7 +14,7 @@ function f({ show: showRename = v => v }: Show) {} >show : any > : ^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -26,7 +26,7 @@ function f2({ "show": showRename = v => v }: Show) {} >f2 : ({ "show": showRename }: Show) => void > : ^ ^^ ^^^^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -40,7 +40,7 @@ function f3({ ["show"]: showRename = v => v }: Show) {} >"show" : "show" > : ^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -82,7 +82,7 @@ let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentit >stringIdentity : any > : ^^^ >id : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg => arg.length : (arg: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >arg : string diff --git a/tests/baselines/reference/contextuallyTypedBooleanLiterals.types b/tests/baselines/reference/contextuallyTypedBooleanLiterals.types index 91ff616041318..bf9818ad6bd80 100644 --- a/tests/baselines/reference/contextuallyTypedBooleanLiterals.types +++ b/tests/baselines/reference/contextuallyTypedBooleanLiterals.types @@ -30,7 +30,7 @@ const bn1 = box(0); // Box >box(0) : Box > : ^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -40,7 +40,7 @@ const bn2: Box = box(0); // Ok >box(0) : Box > : ^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -50,7 +50,7 @@ const bb1 = box(false); // Box >box(false) : Box > : ^^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -60,7 +60,7 @@ const bb2: Box = box(false); // Error, box not assignable to Bo >box(false) : Box > : ^^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -86,7 +86,7 @@ const x: Observable = observable(false); >observable(false) : Observable > : ^^^^^^^^^^^^^^^^^^^ >observable : (value: T) => Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types b/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types index 814478e648e39..ec842c364b851 100644 --- a/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types +++ b/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types @@ -51,11 +51,11 @@ function invoke(item: ADT) { >item.method("") : number > : ^^^^^^ >item.method : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : { kind: "a"; method(x: string): number; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >method : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ } @@ -64,11 +64,11 @@ function invoke(item: ADT) { >item.method(42) : string > : ^^^^^^ >item.method : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : { kind: "b"; method(x: number): string; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >method : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types index d2ac80801adcd..6788b5bb0418b 100644 --- a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types +++ b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types @@ -29,11 +29,11 @@ foo((y): (y2: number) => void => { >y.charAt(0) : string > : ^^^^^^ >y.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -61,11 +61,11 @@ foo((y: string) => { >y2.toFixed() : string > : ^^^^^^ >y2.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y2 : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ return 0; >0 : 0 diff --git a/tests/baselines/reference/contextuallyTypedIife.types b/tests/baselines/reference/contextuallyTypedIife.types index 319cef8d5cf87..5bd3878d044c8 100644 --- a/tests/baselines/reference/contextuallyTypedIife.types +++ b/tests/baselines/reference/contextuallyTypedIife.types @@ -178,11 +178,11 @@ >numbers.every(n => n > 0) : boolean > : ^^^^^^^ >numbers.every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >numbers : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -212,11 +212,11 @@ >mixed.every(n => !!n) : boolean > : ^^^^^^^ >mixed.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >mixed : [number, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => !!n : (n: string | number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : string | number @@ -246,11 +246,11 @@ >noNumbers.some(n => n > 0) : boolean > : ^^^^^^^ >noNumbers.some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >noNumbers : [] > : ^^ >some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >n => n > 0 : (n: never) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^ >n : never @@ -282,11 +282,11 @@ >rest.map(n => n > 0) : boolean[] > : ^^^^^^^^^ >rest.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >rest : [number, number] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/contextuallyTypedIifeStrict.types b/tests/baselines/reference/contextuallyTypedIifeStrict.types index cf4c7270cd88a..1670abc891a66 100644 --- a/tests/baselines/reference/contextuallyTypedIifeStrict.types +++ b/tests/baselines/reference/contextuallyTypedIifeStrict.types @@ -186,11 +186,11 @@ >numbers.every(n => n > 0) : boolean > : ^^^^^^^ >numbers.every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >numbers : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -220,11 +220,11 @@ >mixed.every(n => !!n) : boolean > : ^^^^^^^ >mixed.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >mixed : [number, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => !!n : (n: string | number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : string | number @@ -254,11 +254,11 @@ >noNumbers.some(n => n > 0) : boolean > : ^^^^^^^ >noNumbers.some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >noNumbers : [] > : ^^ >some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >n => n > 0 : (n: never) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^ >n : never @@ -290,11 +290,11 @@ >rest.map(n => n > 0) : boolean[] > : ^^^^^^^^^ >rest.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >rest : [number, number] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/contextuallyTypedJsxAttribute.types b/tests/baselines/reference/contextuallyTypedJsxAttribute.types index 13922b1176846..1abe776c0796d 100644 --- a/tests/baselines/reference/contextuallyTypedJsxAttribute.types +++ b/tests/baselines/reference/contextuallyTypedJsxAttribute.types @@ -34,7 +34,7 @@ declare function Test(props: Props): null; {}}/> : error >Test : (props: Props) => null -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ as="bar" >as : "bar" @@ -54,7 +54,7 @@ Test({ >Test({ as: "bar", callback: (value) => {},}) : null > : ^^^^ >Test : (props: Props) => null -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ as: "bar", callback: (value) => {},} : { as: "bar"; callback: (value: string) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -77,7 +77,7 @@ Test({ > as="bar" callback={(value) => {}}/> : error >Test : (props: Props) => null -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ as="bar" >as : "bar" diff --git a/tests/baselines/reference/contextuallyTypedJsxChildren.types b/tests/baselines/reference/contextuallyTypedJsxChildren.types index c5afc65d5dc54..59a17390a16ed 100644 --- a/tests/baselines/reference/contextuallyTypedJsxChildren.types +++ b/tests/baselines/reference/contextuallyTypedJsxChildren.types @@ -77,9 +77,9 @@ declare const DropdownMenu: React.ComponentType; {({ onClose }) => ( >({ onClose }) => (

) : ({ onClose }: { onClose: () => void; }) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(
) : JSX.Element > : ^^^^^^^^^^^ @@ -95,9 +95,9 @@ declare const DropdownMenu: React.ComponentType; >button : any > : ^^^ >onClick : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >button : any > : ^^^ @@ -126,11 +126,11 @@ declare const DropdownMenu: React.ComponentType; children={({ onClose }) => ( >children : ({ onClose }: { onClose: () => void; }) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >({ onClose }) => (
) : ({ onClose }: { onClose: () => void; }) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(
) : JSX.Element > : ^^^^^^^^^^^ @@ -146,9 +146,9 @@ declare const DropdownMenu: React.ComponentType; >button : any > : ^^^ >onClick : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >button : any > : ^^^ diff --git a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types index 9adcbbc5a700c..778e058377b75 100644 --- a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types @@ -25,7 +25,7 @@ foo({ y: match(y => y > 0) }) >foo({ y: match(y => y > 0) }) : boolean > : ^^^^^^^ >foo : (pos: { x?: number; y?: number; }) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ y: match(y => y > 0) } : { y: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : number | undefined @@ -33,7 +33,7 @@ foo({ y: match(y => y > 0) }) >match(y => y > 0) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number | undefined) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : number | undefined @@ -55,13 +55,13 @@ foo2([match(y => y > 0)]) >foo2([match(y => y > 0)]) : boolean > : ^^^^^^^ >foo2 : (point: [number?]) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[match(y => y > 0)] : [number | undefined] > : ^^^^^^^^^^^^^^^^^^^^ >match(y => y > 0) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number | undefined) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : number | undefined diff --git a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types index a3f1d54b80a1d..ff84c56b31675 100644 --- a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types @@ -25,7 +25,7 @@ foo({ y: match(y => y > 0) }) >foo({ y: match(y => y > 0) }) : boolean > : ^^^^^^^ >foo : (pos: { x?: number; y?: number; }) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ y: match(y => y > 0) } : { y: number; } > : ^^^^^^^^^^^^^^ >y : number @@ -33,7 +33,7 @@ foo({ y: match(y => y > 0) }) >match(y => y > 0) : number > : ^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >y : number @@ -55,13 +55,13 @@ foo2([match(y => y > 0)]) >foo2([match(y => y > 0)]) : boolean > : ^^^^^^^ >foo2 : (point: [number?]) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[match(y => y > 0)] : [number] > : ^^^^^^^^ >match(y => y > 0) : number > : ^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >y : number diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types index 042c3fb1882c1..2aac7cab5e6a8 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types @@ -61,7 +61,7 @@ const f11 = id1(function ({ foo = 42 }) { return foo }); >id1(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id1 : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -77,7 +77,7 @@ const f12 = id2(function ({ foo = 42 }) { return foo }); >id2(function ({ foo = 42 }) { return foo }) : ({ foo }: any) => any > : ^ ^^^^^^^^^^^^^ >id2 : any>(input: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function ({ foo = 42 }) { return foo } : ({ foo }: any) => any > : ^ ^^^^^^^^^^^^^ >foo : any @@ -89,13 +89,13 @@ const f12 = id2(function ({ foo = 42 }) { return foo }); const f13 = id3(function ({ foo = 42 }) { return foo }); >f13 : ({ foo }: { foo: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >id3(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >id3 : any>(input: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function ({ foo = 42 }) { return foo } : ({ foo }: { foo: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >foo : any > : ^^^ >42 : 42 @@ -104,14 +104,14 @@ const f13 = id3(function ({ foo = 42 }) { return foo }); > : ^^^ const f14 = id4(function ({ foo = 42 }) { return foo }); ->f14 : ({ foo }: { foo?: number | undefined; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->id4(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number | undefined; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f14 : ({ foo }: { foo?: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ +>id4(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >id4 : any>(input: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ->function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number | undefined; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >foo : number > : ^^^^^^ >42 : 42 @@ -137,7 +137,7 @@ const f21 = id1(function (foo = 42) { return foo }); >id1(function (foo = 42) { return foo }) : (foo?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >id1 : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >function (foo = 42) { return foo } : (foo?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -153,7 +153,7 @@ const f22 = id2(function (foo = 42) { return foo }); >id2(function (foo = 42) { return foo }) : (foo?: any) => any > : ^ ^^^^^^^^^^^^^^ >id2 : any>(input: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (foo = 42) { return foo } : (foo?: any) => any > : ^ ^^^^^^^^^^^^^^ >foo : any @@ -169,7 +169,7 @@ const f25 = id5(function (foo = 42) { return foo }); >id5(function (foo = 42) { return foo }) : (foo?: number | undefined) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id5 : any>(input: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (foo = 42) { return foo } : (foo?: number | undefined) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number | undefined @@ -315,7 +315,7 @@ g1((x = 1) => 0); // number >g1((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g1 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -329,7 +329,7 @@ g2((x = 1) => 0); // number >g2((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -343,7 +343,7 @@ g3((x = 1) => 0); // number >g3((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g3 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -357,7 +357,7 @@ g4((x = 1) => 0); // number >g4((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g4 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -371,7 +371,7 @@ g5((x = 1) => 0); // any >g5((x = 1) => 0) : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >g5 : any>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >x : any @@ -385,7 +385,7 @@ g6((x = 1) => 0); // number >g6((x = 1) => 0) : (x?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -399,7 +399,7 @@ g6((x?) => 0); // Implicit any error >g6((x?) => 0) : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x?) => 0 : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >x : any @@ -411,7 +411,7 @@ g6((...x) => 0); // [] >g6((...x) => 0) : () => number > : ^^^^^^^^^^^^ >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(...x) => 0 : () => number > : ^^^^^^^^^^^^ >x : [] @@ -448,7 +448,7 @@ const newGetFoo = id(getFoo); >id(getFoo) : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >getFoo : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -458,7 +458,7 @@ const newGetFoo2 = id(function getFoo ({ foo = 42 }) { >id(function getFoo ({ foo = 42 }) { return foo;}) : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >function getFoo ({ foo = 42 }) { return foo;} : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getFoo : ({ foo }: { foo?: number | undefined; }) => number @@ -502,13 +502,13 @@ function add(x: number, y = 0): number { } const memoizedAdd = memoize(add); >memoizedAdd : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize(add) : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize : (func: F) => F -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >add : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ const add2 = (x: number, y = 0): number => x + y; >add2 : (x: number, y?: number) => number @@ -530,13 +530,13 @@ const add2 = (x: number, y = 0): number => x + y; const memoizedAdd2 = memoize(add2); >memoizedAdd2 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize(add2) : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize : (func: F) => F -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >add2 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ const memoizedAdd3 = memoize((x: number, y = 0): number => x + y); >memoizedAdd3 : (x: number, y?: number) => number @@ -544,7 +544,7 @@ const memoizedAdd3 = memoize((x: number, y = 0): number => x + y); >memoize((x: number, y = 0): number => x + y) : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize : (func: F) => F -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: number, y = 0): number => x + y : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^ >x : number @@ -576,7 +576,7 @@ export function executeSomething() { >execute((root: HTMLElement, debug = true) => { if (debug) { root.innerHTML = ''; } }) : Promise > : ^^^^^^^^^^^^^^^ >execute : (script: string | Function) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(root: HTMLElement, debug = true) => { if (debug) { root.innerHTML = ''; } } : (root: HTMLElement, debug?: boolean) => void > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >root : HTMLElement diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types index d4ed4acefffa8..5e445caa8ad11 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types @@ -22,7 +22,7 @@ test1( >test1( { count: 0, }, { checkLimit: (ctx, max = 500) => {}, hasAccess: (ctx, user: { name: string }) => {}, },) : void > : ^^^^ >test1 : unknown>>(context: TContext, methods: TMethods) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ { >{ count: 0, } : { count: number; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types index e5b55f29f0536..22cce6a1e3cf0 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types @@ -29,7 +29,7 @@ create({ >create({ setDirection: (direction = "RIGHT") => { takesDirection(direction); },}) : void > : ^^^^ >create : (config: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ setDirection: (direction = "RIGHT") => { takesDirection(direction); },} : { setDirection: (direction?: CanvasDirection) => void; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -47,7 +47,7 @@ create({ >takesDirection(direction) : void > : ^^^^ >takesDirection : (direction: CanvasDirection) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >direction : CanvasDirection > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types index 9d9c47178869d..4dfd369a9c09a 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types @@ -22,7 +22,7 @@ test( >test( { count: 0, }, { checkLimit: (ctx, max = 3) => {}, },) : void > : ^^^^ >test : unknown>>(context: TContext, methods: TMethods) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ { >{ count: 0, } : { count: number; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types index 868b0bd1d5476..c3ec241598c7e 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types @@ -30,7 +30,7 @@ const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}props.foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >props : { foo: "A" | "B" | "C"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >span : any diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types index ff5b884a9f5c7..f5b6e20173fcc 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types @@ -31,7 +31,7 @@ export interface LinkProps extends ClickableProps { export function MainButton(buttonProps: ButtonProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >buttonProps : ButtonProps > : ^^^^^^^^^^^ >JSX : any @@ -39,7 +39,7 @@ export function MainButton(buttonProps: ButtonProps): JSX.Element; export function MainButton(linkProps: LinkProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >linkProps : LinkProps > : ^^^^^^^^^ >JSX : any @@ -47,7 +47,7 @@ export function MainButton(linkProps: LinkProps): JSX.Element; export function MainButton(props: ButtonProps | LinkProps): JSX.Element { >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >props : ButtonProps | LinkProps > : ^^^^^^^^^^^^^^^^^^^^^^^ >JSX : any @@ -101,7 +101,7 @@ const b0 = {console.log(k)}}} extra />; // k h > {console.log(k)}}} extra /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{onClick: (k) => {console.log(k)}} : { onClick: (k: "left" | "right") => void; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onClick : (k: "left" | "right") => void @@ -113,11 +113,11 @@ const b0 = {console.log(k)}}} extra />; // k h >console.log(k) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >k : "left" | "right" > : ^^^^^^^^^^^^^^^^ >extra : true @@ -129,7 +129,7 @@ const b2 = {console.log(k)}} extra />; // k has type >{console.log(k)}} extra /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (k: "left" | "right") => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(k)=>{console.log(k)} : (k: "left" | "right") => void @@ -139,11 +139,11 @@ const b2 = {console.log(k)}} extra />; // k has type >console.log(k) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >k : "left" | "right" > : ^^^^^^^^^^^^^^^^ >extra : true @@ -155,7 +155,7 @@ const b3 = ; // goTo has type"home" | "c > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{goTo:"home"} : { goTo: "home"; } > : ^^^^^^^^^^^^^^^^^ >goTo : "home" @@ -171,7 +171,7 @@ const b4 = ; // goTo has type "home" | "contact > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >goTo : "home" > : ^^^^^^ >extra : true @@ -193,7 +193,7 @@ const c1 = {console.log(k)}}} extra />; // k > {console.log(k)}}} extra /> : JSX.Element > : ^^^^^^^^^^^ >NoOverload : (buttonProps: ButtonProps) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{onClick: (k) => {console.log(k)}} : { onClick: (k: "left" | "right") => void; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onClick : (k: "left" | "right") => void @@ -205,11 +205,11 @@ const c1 = {console.log(k)}}} extra />; // k >console.log(k) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >k : "left" | "right" > : ^^^^^^^^^^^^^^^^ >extra : true @@ -231,7 +231,7 @@ const d1 = ; // goTo has type "home" | > : JSX.Element > : ^^^^^^^^^^^ >NoOverload1 : (linkProps: LinkProps) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{goTo:"home"} : { goTo: "home"; } > : ^^^^^^^^^^^^^^^^^ >goTo : "home" diff --git a/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types b/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types index 5f6e3289bc5b5..95e4eb7641d68 100644 --- a/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types +++ b/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types @@ -62,7 +62,7 @@ declare function f(action: T, blah: { [K in f(ab, { >f(ab, { [A]: ap => { ap.description }, [B]: bp => { bp.description },}) : any >f : (action: T, blah: { [K in T["type"]]: (p: K) => void; }) => any -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >ab : Action > : ^^^^^^ >{ [A]: ap => { ap.description }, [B]: bp => { bp.description },} : { [A]: (ap: unique symbol) => void; [B]: (bp: unique symbol) => void; } diff --git a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types index 3f952fbd46a34..b0fdb7fbbbe58 100644 --- a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types +++ b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types @@ -44,7 +44,7 @@ declare class List { filter(fn: FilterFn, context: TContext): List; >filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : FilterFn > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >context : TContext @@ -52,13 +52,13 @@ declare class List { filter(fn: FilterFn): List; >filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : FilterFn> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ filter(fn: IteratorFn, context: TContext): List; >filter : { (fn: FilterFn, context: TContext_1): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : IteratorFn > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >context : TContext @@ -66,7 +66,7 @@ declare class List { filter(fn: IteratorFn): List; >filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : IteratorFn> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -89,11 +89,11 @@ const filter1 = list2.filter(function(item, node, list): item is Test { >list2.filter(function(item, node, list): item is Test { this.b; // $ExpectType string item; // $ExpectType Test | null node; // $ExpectType ListItem list; // $ExpectType List return !!item;}, {b: 'c'}) : List > : ^^^^^^^^^^ >list2.filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >list2 : List > : ^^^^^^^^^^^^^^^^^ >filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >function(item, node, list): item is Test { this.b; // $ExpectType string item; // $ExpectType Test | null node; // $ExpectType ListItem list; // $ExpectType List return !!item;} : (this: { b: string; }, item: Test | null, node: ListItem, list: List) => item is Test > : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >item : Test | null diff --git a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types index 48fc78a3c1c1f..fd7dc6f5bfc4b 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types +++ b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types @@ -35,7 +35,7 @@ const result = foo({ >foo({ bar: { fn: (a: string) => {}, thing: 'asd', },}) : [string, { bar: string; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : >(fns: Funcs) => [A, B] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ bar: { fn: (a: string) => {}, thing: 'asd', },} : { bar: { fn: (a: string) => void; thing: string; }; } > : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types index bbf8d4e4e792a..e12eb8bad98cb 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types +++ b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types @@ -29,7 +29,7 @@ const result = foo({ >foo({ bar: { fn: /** @param {string} a */ (a) => {}, thing: "asd", },}) : [string, { bar: string; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : >(fns: Funcs) => [A, B] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ bar: { fn: /** @param {string} a */ (a) => {}, thing: "asd", },} : { bar: { fn: (a: string) => void; thing: string; }; } > : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types index 94a731f54ce5a..244f7268b84b4 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types +++ b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types @@ -19,7 +19,7 @@ const a = filter((pose?: number) => true); >filter((pose?: number) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(pose?: number) => true : (pose?: number) => true > : ^ ^^^ ^^^^^^^^^ >pose : number | undefined @@ -33,7 +33,7 @@ const b = filter((pose?: number, _?: number) => true); >filter((pose?: number, _?: number) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(pose?: number, _?: number) => true : (pose?: number, _?: number) => true > : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >pose : number | undefined diff --git a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types index b8b7acb2ba9a0..a6a181075b918 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types +++ b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types @@ -10,7 +10,7 @@ function filter(predicate) { >filter : (predicate: (value: T, index: number) => boolean) => T > : ^ ^^ ^^ ^^^^^ >predicate : (value: T, index: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return /** @type {any} */ (null); >(null) : any @@ -22,7 +22,7 @@ const a = filter( >filter( /** * @param {number} [pose] */ (pose) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ /** * @param {number} [pose] @@ -43,7 +43,7 @@ const b = filter( >filter( /** * @param {number} [pose] * @param {number} [_] */ (pose, _) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ /** * @param {number} [pose] diff --git a/tests/baselines/reference/contravariantTypeAliasInference.types b/tests/baselines/reference/contravariantTypeAliasInference.types index 33268adef50c0..7f2ca64c1e3a9 100644 --- a/tests/baselines/reference/contravariantTypeAliasInference.types +++ b/tests/baselines/reference/contravariantTypeAliasInference.types @@ -33,7 +33,7 @@ foo(f1, f2); >foo(f1, f2) : void > : ^^^^ >foo : (f1: Func1, f2: Func1) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : Func1 > : ^^^^^^^^^^^^^ >f2 : Func1<"a"> @@ -59,7 +59,7 @@ bar(f1, f2); >bar(f1, f2) : void > : ^^^^ >bar : (g1: Func2, g2: Func2) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : Func1 > : ^^^^^^^^^^^^^ >f2 : Func1<"a"> @@ -69,7 +69,7 @@ bar(g1, g2); >bar(g1, g2) : void > : ^^^^ >bar : (g1: Func2, g2: Func2) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >g1 : Func2 > : ^^^^^^^^^^^^^ >g2 : Func2<"a"> diff --git a/tests/baselines/reference/controlFlowAliasedDiscriminants.types b/tests/baselines/reference/controlFlowAliasedDiscriminants.types index 0d9333d6c4a72..9fd6a7949b697 100644 --- a/tests/baselines/reference/controlFlowAliasedDiscriminants.types +++ b/tests/baselines/reference/controlFlowAliasedDiscriminants.types @@ -63,7 +63,7 @@ const { data: data1, isSuccess: isSuccess1 } = useQuery(); >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const { data: data2, isSuccess: isSuccess2 } = useQuery(); >data : any @@ -77,7 +77,7 @@ const { data: data2, isSuccess: isSuccess2 } = useQuery(); >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const { data: data3, isSuccess: isSuccess3 } = useQuery(); >data : any @@ -91,7 +91,7 @@ const { data: data3, isSuccess: isSuccess3 } = useQuery(); >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (isSuccess1 && isSuccess2 && isSuccess3) { >isSuccess1 && isSuccess2 && isSuccess3 : boolean @@ -109,31 +109,31 @@ if (isSuccess1 && isSuccess2 && isSuccess3) { >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); // should ok >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data3.toExponential(); // should ok >data3.toExponential() : string > : ^^^^^^ >data3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } const areSuccess = isSuccess1 && isSuccess2 && isSuccess3; @@ -158,31 +158,31 @@ if (areSuccess) { >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); // should ok >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data3.toExponential(); // should ok >data3.toExponential() : string > : ^^^^^^ >data3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } { @@ -198,7 +198,7 @@ if (areSuccess) { >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let { data: data2, isSuccess: isSuccess2 } = useQuery(); >data : any @@ -212,7 +212,7 @@ if (areSuccess) { >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const { data: data3, isSuccess: isSuccess3 } = useQuery(); >data : any @@ -226,7 +226,7 @@ if (areSuccess) { >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const areSuccess = isSuccess1 && isSuccess2 && isSuccess3; >areSuccess : boolean @@ -250,31 +250,31 @@ if (areSuccess) { >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); // should error >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data3.toExponential(); // should ok >data3.toExponential() : string > : ^^^^^^ >data3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -294,7 +294,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const [foo2, bar2] = getArrayResult(); >foo2 : boolean @@ -304,7 +304,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const [foo3, bar3] = getArrayResult(); >foo3 : boolean @@ -314,7 +314,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const arrayAllSuccess = foo1 && foo2 && foo3; >arrayAllSuccess : boolean @@ -338,31 +338,31 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >bar1.toExponential() : string > : ^^^^^^ >bar1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar2.toExponential(); // should ok >bar2.toExponential() : string > : ^^^^^^ >bar2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar3.toExponential(); // should ok >bar3.toExponential() : string > : ^^^^^^ >bar3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -375,7 +375,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let [foo2, bar2] = getArrayResult(); >foo2 : boolean @@ -385,7 +385,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let [foo3, bar3] = getArrayResult(); >foo3 : boolean @@ -395,7 +395,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const arrayAllSuccess = foo1 && foo2 && foo3; >arrayAllSuccess : boolean @@ -419,31 +419,31 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >bar1.toExponential() : string > : ^^^^^^ >bar1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar2.toExponential(); // should error >bar2.toExponential() : string > : ^^^^^^ >bar2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar2 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar3.toExponential(); // should error >bar3.toExponential() : string > : ^^^^^^ >bar3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar3 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -525,11 +525,11 @@ type Nested = { >resp.resp.data : string > : ^^^^^^ >resp.resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >resp : { type: "string"; resp: { data: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : string > : ^^^^^^ } @@ -585,11 +585,11 @@ type Nested = { >resp.resp.data : string > : ^^^^^^ >resp.resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >resp : { type: "string"; resp: { data: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : string > : ^^^^^^ } @@ -619,7 +619,7 @@ function bindingPatternInParameter({ data: data1, isSuccess: isSuccess1 }: UseQu >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const areSuccess = isSuccess1 && isSuccess2; >areSuccess : boolean @@ -639,21 +639,21 @@ function bindingPatternInParameter({ data: data1, isSuccess: isSuccess1 }: UseQu >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } diff --git a/tests/baselines/reference/controlFlowAliasing.types b/tests/baselines/reference/controlFlowAliasing.types index 72a1c5bc6b5d7..d24919344d519 100644 --- a/tests/baselines/reference/controlFlowAliasing.types +++ b/tests/baselines/reference/controlFlowAliasing.types @@ -227,7 +227,7 @@ function f15(obj: { readonly x: string | number }) { >obj.x : string | number > : ^^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >'string' : "string" @@ -243,7 +243,7 @@ function f15(obj: { readonly x: string | number }) { >obj.x : string > : ^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string > : ^^^^^^ } @@ -267,7 +267,7 @@ function f16(obj: { readonly x: string | number }) { >obj.x : string | number > : ^^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >'string' : "string" @@ -277,7 +277,7 @@ function f16(obj: { readonly x: string | number }) { >obj = { x: 42 } : { x: number; } > : ^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >{ x: 42 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -295,7 +295,7 @@ function f16(obj: { readonly x: string | number }) { >obj.x : string | number > : ^^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -409,7 +409,7 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -423,7 +423,7 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -432,7 +432,7 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -460,7 +460,7 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -474,7 +474,7 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -483,7 +483,7 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -511,7 +511,7 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -525,7 +525,7 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -534,7 +534,7 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -562,7 +562,7 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -570,11 +570,11 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { obj = obj; >obj = obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ if (isFoo) { >isFoo : boolean @@ -584,7 +584,7 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -593,7 +593,7 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -615,9 +615,9 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { const obj = arg; >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >arg : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ const isFoo = obj.kind === 'foo'; >isFoo : boolean @@ -627,7 +627,7 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -641,7 +641,7 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -650,7 +650,7 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -672,9 +672,9 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { let obj = arg; >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >arg : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ const isFoo = obj.kind === 'foo'; >isFoo : boolean @@ -684,7 +684,7 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -698,7 +698,7 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -707,7 +707,7 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -737,11 +737,11 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' >outer.obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -755,11 +755,11 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' >outer.obj.foo : string > : ^^^^^^ >outer.obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -768,11 +768,11 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' >outer.obj.bar : number > : ^^^^^^ >outer.obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -802,11 +802,11 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu >outer.obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -820,11 +820,11 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu >outer.obj.foo : any > : ^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -833,11 +833,11 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu >outer.obj.bar : any > : ^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -863,13 +863,13 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj && obj.kind === 'foo' : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >obj.kind === 'foo' : boolean > : ^^^^^^^ >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -881,13 +881,13 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj && obj.kind === 'bar' : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >obj.kind === 'bar' : boolean > : ^^^^^^^ >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'bar' : "bar" @@ -901,7 +901,7 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -913,7 +913,7 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -941,7 +941,7 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ @@ -957,7 +957,7 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -966,7 +966,7 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -990,7 +990,7 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ if (kind === 'foo') { >kind === 'foo' : boolean @@ -1004,7 +1004,7 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -1013,7 +1013,7 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -1039,7 +1039,7 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >k : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ if (k === 'foo') { >k === 'foo' : boolean @@ -1053,7 +1053,7 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -1062,7 +1062,7 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -1086,7 +1086,7 @@ function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ switch (kind) { >kind : "foo" | "bar" @@ -1098,7 +1098,7 @@ function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ @@ -1108,7 +1108,7 @@ function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -1298,8 +1298,8 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) const { kind } = obj; >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ ->obj : { kind: "foo"; foo?: string | undefined; } | { kind: "bar"; bar?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { kind: "foo"; foo?: string; } | { kind: "bar"; bar?: number; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ const isFoo = kind == 'foo'; >isFoo : boolean @@ -1318,8 +1318,8 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) > : ^^^^^^^ >obj.foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { kind: "foo"; foo?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { kind: "foo"; foo?: string; } +> : ^^^^^^^^ ^^^^^^^^ ^^^ >foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -1328,8 +1328,8 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) > : ^^^^^^ >obj.foo : string > : ^^^^^^ ->obj : { kind: "foo"; foo?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { kind: "foo"; foo?: string; } +> : ^^^^^^^^ ^^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -1373,7 +1373,7 @@ function gg2(obj: Data) { >obj.payload : string > : ^^^^^^ >obj : { kind: "str"; payload: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ >payload : string > : ^^^^^^ } @@ -1384,7 +1384,7 @@ function gg2(obj: Data) { >obj.payload : number > : ^^^^^^ >obj : { kind: "num"; payload: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ >payload : number > : ^^^^^^ } @@ -1492,11 +1492,11 @@ class A53267 { >Utils.isDefined(this.testNumber) : boolean > : ^^^^^^^ >Utils.isDefined : (value: T) => value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Utils : typeof Utils > : ^^^^^^^^^^^^ >isDefined : (value: T) => value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.testNumber : number | undefined > : ^^^^^^^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types index d6c4735e1ceea..32100a45d674c 100644 --- a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types +++ b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types @@ -24,11 +24,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof e === 'string') { @@ -44,11 +44,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -100,11 +100,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types index 4f9bf4af17a01..04c7b8693bf39 100644 --- a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types +++ b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types @@ -26,11 +26,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof e === 'string') { @@ -47,11 +47,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -109,11 +109,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types b/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types index 597da341affcf..6995816c57e0e 100644 --- a/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types +++ b/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types @@ -20,7 +20,7 @@ function bigger(this: {}) { >isBig(this) : boolean > : ^^^^^^^ >isBig : (x: any) => x is { big: true; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : {} > : ^^ @@ -28,7 +28,7 @@ function bigger(this: {}) { >this.big : true > : ^^^^ >this : { big: true; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >big : true > : ^^^^ } diff --git a/tests/baselines/reference/controlFlowArrayErrors.types b/tests/baselines/reference/controlFlowArrayErrors.types index 162cba953fee8..67db9264a78a6 100644 --- a/tests/baselines/reference/controlFlowArrayErrors.types +++ b/tests/baselines/reference/controlFlowArrayErrors.types @@ -25,11 +25,11 @@ function f1() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -66,11 +66,11 @@ function f2() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -95,11 +95,11 @@ function f3() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -137,11 +137,11 @@ function f4() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ } @@ -164,11 +164,11 @@ function f5() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ } @@ -185,7 +185,7 @@ function f6() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = []; >x = [] : undefined[] @@ -199,11 +199,11 @@ function f6() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -211,11 +211,11 @@ function f6() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -238,11 +238,11 @@ function f6() { >x.push(99) : number > : ^^^^^^ >x.push : ((...items: (string | number)[]) => number) | ((...items: boolean[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >x : (string | number)[] | boolean[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >push : ((...items: (string | number)[]) => number) | ((...items: boolean[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >99 : 99 > : ^^ } @@ -261,11 +261,11 @@ function f7() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -279,11 +279,11 @@ function f7() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -291,11 +291,11 @@ function f7() { >y.push("hello") : number > : ^^^^^^ >y.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >y : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -314,11 +314,11 @@ function f8() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/controlFlowArrays.types b/tests/baselines/reference/controlFlowArrays.types index 33c67c3967380..c50ef1874d31e 100644 --- a/tests/baselines/reference/controlFlowArrays.types +++ b/tests/baselines/reference/controlFlowArrays.types @@ -67,11 +67,11 @@ function f2() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -79,11 +79,11 @@ function f2() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -91,11 +91,11 @@ function f2() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -122,11 +122,11 @@ function f3() { >x.push(5, "hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ >"hello" : "hello" @@ -151,17 +151,17 @@ function f4() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push(5); >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ } @@ -170,11 +170,11 @@ function f4() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -194,7 +194,7 @@ function f5() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = []; >x = [] : never[] @@ -207,11 +207,11 @@ function f5() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ } @@ -227,11 +227,11 @@ function f5() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -251,7 +251,7 @@ function f6() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = 5; >x = 5 : 5 @@ -272,11 +272,11 @@ function f6() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -296,7 +296,7 @@ function f7() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = []; >x = [] : never[] @@ -309,17 +309,17 @@ function f7() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push("hello"); >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -343,11 +343,11 @@ function f8() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -355,7 +355,7 @@ function f8() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ @@ -363,11 +363,11 @@ function f8() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -375,7 +375,7 @@ function f8() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ @@ -383,11 +383,11 @@ function f8() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -410,17 +410,17 @@ function f9() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push(5); >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -433,11 +433,11 @@ function f9() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -461,17 +461,17 @@ function f10() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push(true); >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -484,11 +484,11 @@ function f10() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -500,17 +500,17 @@ function f10() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push("hello"); >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -522,11 +522,11 @@ function f10() { >x.push(99) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >99 : 99 > : ^^ @@ -561,11 +561,11 @@ function f11() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -604,11 +604,11 @@ function f12() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -631,11 +631,11 @@ function f13() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -643,11 +643,11 @@ function f13() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -655,11 +655,11 @@ function f13() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -682,11 +682,11 @@ function f14() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -694,11 +694,11 @@ function f14() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -706,11 +706,11 @@ function f14() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -733,23 +733,23 @@ function f15() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ while (cond()) {} >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push("hello"); >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -772,7 +772,7 @@ function f16() { >(x = [], x).push(5) : number > : ^^^^^^ >(x = [], x).push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >(x = [], x) : any[] > : ^^^^^ >x = [], x : any[] @@ -785,7 +785,7 @@ function f16() { >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -793,7 +793,7 @@ function f16() { >(x.push("hello"), x).push(true) : number > : ^^^^^^ >(x.push("hello"), x).push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >(x.push("hello"), x) : any[] > : ^^^^^ >x.push("hello"), x : any[] @@ -801,17 +801,17 @@ function f16() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -853,11 +853,11 @@ function f17() { >x.unshift(5) : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -865,11 +865,11 @@ function f17() { >x.unshift("hello") : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -877,11 +877,11 @@ function f17() { >x.unshift(true) : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -904,11 +904,11 @@ function f18() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -916,11 +916,11 @@ function f18() { >x.unshift("hello") : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -960,11 +960,11 @@ arr.push({ val: 1, bar: 2 }); >arr.push({ val: 1, bar: 2 }) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{ val: 1, bar: 2 } : { val: number; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >val : number @@ -980,7 +980,7 @@ foo(arr); >foo(arr) : void > : ^^^^ >foo : (arg: { val: number; }[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >arr : { val: number; bar: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowAssignmentExpression.types b/tests/baselines/reference/controlFlowAssignmentExpression.types index 633d13a47f644..67813ccfb0cf8 100644 --- a/tests/baselines/reference/controlFlowAssignmentExpression.types +++ b/tests/baselines/reference/controlFlowAssignmentExpression.types @@ -110,7 +110,7 @@ if ((o = fn()).done) { >fn() : D > : ^ >fn : () => D -> : ^^^^^^^ +> : ^^^^^^ >done : boolean > : ^^^^^^^ @@ -120,7 +120,7 @@ if ((o = fn()).done) { >o.value : 1 > : ^ >o : { done: true; value: 1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >value : 1 > : ^ } diff --git a/tests/baselines/reference/controlFlowAssignmentPatternOrder.types b/tests/baselines/reference/controlFlowAssignmentPatternOrder.types index 43f8547bc7b29..11420b98ed71d 100644 --- a/tests/baselines/reference/controlFlowAssignmentPatternOrder.types +++ b/tests/baselines/reference/controlFlowAssignmentPatternOrder.types @@ -261,7 +261,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 0 = b; >bb : 0 @@ -314,7 +314,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 9 = b; >bb : 9 @@ -377,7 +377,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 0 | 8 = b; >bb : 0 | 8 @@ -438,7 +438,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 0 | 8 = b; >bb : 0 | 8 @@ -464,7 +464,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [(a = 1)]: b } = [9, a] as const] = [] : [] > : ^^ >[{ [(a = 1)]: b } = [9, a] as const] : [readonly [9, 0]] @@ -519,7 +519,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [a]: b } = [9, a = 0] as const] = [] : [] > : ^^ >[{ [a]: b } = [9, a = 0] as const] : [readonly [9, 0]] @@ -572,7 +572,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [(a = 1)]: b } = [9, a] as const] = [[9, 8] as const] : [readonly [9, 8]] > : ^^^^^^^^^^^^^^^^^ >[{ [(a = 1)]: b } = [9, a] as const] : [readonly [9, 0]] @@ -635,7 +635,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [a]: b } = [a = 0, 9] as const] = [[8, 9] as const] : [readonly [8, 9]] > : ^^^^^^^^^^^^^^^^^ >[{ [a]: b } = [a = 0, 9] as const] : [readonly [0, 9]] diff --git a/tests/baselines/reference/controlFlowBinaryOrExpression.types b/tests/baselines/reference/controlFlowBinaryOrExpression.types index 5541056557097..f55bbee8f7936 100644 --- a/tests/baselines/reference/controlFlowBinaryOrExpression.types +++ b/tests/baselines/reference/controlFlowBinaryOrExpression.types @@ -98,7 +98,7 @@ if (isNodeList(sourceObj)) { >isNodeList(sourceObj) : boolean > : ^^^^^^^ >isNodeList : (sourceObj: any) => sourceObj is NodeList -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : EventTargetLike > : ^^^^^^^^^^^^^^^ @@ -115,7 +115,7 @@ if (isHTMLCollection(sourceObj)) { >isHTMLCollection(sourceObj) : boolean > : ^^^^^^^ >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : EventTargetLike > : ^^^^^^^^^^^^^^^ @@ -134,15 +134,15 @@ if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { >isNodeList(sourceObj) : boolean > : ^^^^^^^ >isNodeList : (sourceObj: any) => sourceObj is NodeList -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : EventTargetLike > : ^^^^^^^^^^^^^^^ >isHTMLCollection(sourceObj) : boolean > : ^^^^^^^ >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ sourceObj.length; >sourceObj.length : number diff --git a/tests/baselines/reference/controlFlowBindingElement.types b/tests/baselines/reference/controlFlowBindingElement.types index 8f92fbdf05d9b..f984a1a37c8f7 100644 --- a/tests/baselines/reference/controlFlowBindingElement.types +++ b/tests/baselines/reference/controlFlowBindingElement.types @@ -37,11 +37,11 @@ >console.log(param) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >param : string > : ^^^^^^ } diff --git a/tests/baselines/reference/controlFlowCaching.types b/tests/baselines/reference/controlFlowCaching.types index 329cd1bd43e2d..225b55887de69 100644 --- a/tests/baselines/reference/controlFlowCaching.types +++ b/tests/baselines/reference/controlFlowCaching.types @@ -431,19 +431,19 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.abs(Math.cos(rotation * Math.PI / 180)) : number > : ^^^^^^ >Math.abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.cos(rotation * Math.PI / 180) : number > : ^^^^^^ >Math.cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rotation * Math.PI / 180 : number > : ^^^^^^ >rotation * Math.PI : number @@ -465,19 +465,19 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.abs(Math.sin(rotation * Math.PI / 180)) : number > : ^^^^^^ >Math.abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.sin(rotation * Math.PI / 180) : number > : ^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rotation * Math.PI / 180 : number > : ^^^^^^ >rotation * Math.PI : number @@ -580,11 +580,11 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.max(taMajorTick.length > 0 ? taMajorTick.length : 0, taMinorTick.length > 0 ? taMinorTick.length : 0) : number > : ^^^^^^ >Math.max : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >max : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >taMajorTick.length > 0 ? taMajorTick.length : 0 : any >taMajorTick.length > 0 : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types b/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types index 99aa4265aa523..2a7944f623742 100644 --- a/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types +++ b/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types @@ -18,12 +18,12 @@ function func(foo: any, bar: any) { >Narrow(foo) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : any >Narrow(bar) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : any foo; @@ -50,17 +50,17 @@ function func2(foo: any, bar: any, baz: any) { >Narrow(foo) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : any >Narrow(bar) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : any >Narrow(baz) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >baz : any foo; diff --git a/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types b/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types index 85d4b6ebf5309..3574de9476c81 100644 --- a/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types +++ b/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types @@ -34,7 +34,7 @@ function foo2(param: number | null | undefined): number | null { >assert(param !== undefined) : void > : ^^^^ >assert : (value: any) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >param !== undefined : boolean > : ^^^^^^^ >param : number | null diff --git a/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types b/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types index 333fe08881f03..cad474b3ad56b 100644 --- a/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types +++ b/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types @@ -29,7 +29,7 @@ if (isNumber((otherValue(), value))) { >isNumber((otherValue(), value)) : boolean > : ^^^^^^^ >isNumber : (obj: any) => obj is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(otherValue(), value) : string | number > : ^^^^^^^^^^^^^^^ >otherValue(), value : string | number diff --git a/tests/baselines/reference/controlFlowComputedPropertyNames.types b/tests/baselines/reference/controlFlowComputedPropertyNames.types index 48ee689befde9..c58d908440607 100644 --- a/tests/baselines/reference/controlFlowComputedPropertyNames.types +++ b/tests/baselines/reference/controlFlowComputedPropertyNames.types @@ -27,7 +27,7 @@ function f1(obj: Record, key: string) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Record @@ -35,7 +35,7 @@ function f1(obj: Record, key: string) { >key : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -63,7 +63,7 @@ function f2(obj: Record, key: string) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Record @@ -71,7 +71,7 @@ function f2(obj: Record, key: string) { >key : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } let key2 = key + key; >key2 : string @@ -99,7 +99,7 @@ function f2(obj: Record, key: string) { >obj[key2].toUpperCase() : string > : ^^^^^^ >obj[key2].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key2] : string > : ^^^^^^ >obj : Record @@ -107,7 +107,7 @@ function f2(obj: Record, key: string) { >key2 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } const key3 = key + key; >key3 : string @@ -135,7 +135,7 @@ function f2(obj: Record, key: string) { >obj[key3].toUpperCase() : string > : ^^^^^^ >obj[key3].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key3] : string > : ^^^^^^ >obj : Record @@ -143,7 +143,7 @@ function f2(obj: Record, key: string) { >key3 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -195,7 +195,7 @@ function f3(obj: Thing, key: keyof Thing) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Thing @@ -203,7 +203,7 @@ function f3(obj: Thing, key: keyof Thing) { >key : keyof Thing > : ^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof obj[key] === "number") { >typeof obj[key] === "number" : boolean @@ -223,7 +223,7 @@ function f3(obj: Thing, key: keyof Thing) { >obj[key].toFixed() : string > : ^^^^^^ >obj[key].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >obj[key] : number > : ^^^^^^ >obj : Thing @@ -231,7 +231,7 @@ function f3(obj: Thing, key: keyof Thing) { >key : keyof Thing > : ^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } @@ -256,7 +256,7 @@ function f4(obj: Record, key: K) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Record @@ -264,7 +264,7 @@ function f4(obj: Record, key: K) { >key : K > : ^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowDeleteOperator.types b/tests/baselines/reference/controlFlowDeleteOperator.types index bcdae1183326d..6991d009ae532 100644 --- a/tests/baselines/reference/controlFlowDeleteOperator.types +++ b/tests/baselines/reference/controlFlowDeleteOperator.types @@ -22,16 +22,16 @@ function f() { x.a; >x.a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ x.b; >x.b : string | number > : ^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : string | number > : ^^^^^^^^^^^^^^^ @@ -40,8 +40,8 @@ function f() { > : ^ >x.a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -52,8 +52,8 @@ function f() { > : ^ >x.b : string | number > : ^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : string | number > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -62,16 +62,16 @@ function f() { x.a; >x.a : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ x.b; >x.b : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ @@ -80,8 +80,8 @@ function f() { > : ^^^^^^^ >x.a : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -90,38 +90,38 @@ function f() { > : ^^^^^^^ >x.b : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ x.a; >x.a : undefined > : ^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ x.b; >x.b : string | number > : ^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : string | number > : ^^^^^^^^^^^^^^^ x; ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ delete x; // No effect >delete x : boolean > : ^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ x; ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ } diff --git a/tests/baselines/reference/controlFlowDestructuringLoop.types b/tests/baselines/reference/controlFlowDestructuringLoop.types index f1c59033b302c..026ac5b4edae3 100644 --- a/tests/baselines/reference/controlFlowDestructuringLoop.types +++ b/tests/baselines/reference/controlFlowDestructuringLoop.types @@ -52,7 +52,7 @@ function foo(things: Val[]): void { >isNumVal(thing) : boolean > : ^^^^^^^ >isNumVal : (x: Val) => x is NumVal -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >thing : Val > : ^^^ @@ -66,11 +66,11 @@ function foo(things: Val[]): void { >val.toFixed(2) : string > : ^^^^^^ >val.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >val : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ } diff --git a/tests/baselines/reference/controlFlowDestructuringParameters.types b/tests/baselines/reference/controlFlowDestructuringParameters.types index f24a4a31f1846..2b54cc5be2fab 100644 --- a/tests/baselines/reference/controlFlowDestructuringParameters.types +++ b/tests/baselines/reference/controlFlowDestructuringParameters.types @@ -8,7 +8,7 @@ >[{ x: 1 }].map( ({ x }) => x) : number[] > : ^^^^^^^^ >[{ x: 1 }].map : (callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[{ x: 1 }] : { x: number; }[] > : ^^^^^^^^^^^^^^^^ >{ x: 1 } : { x: number; } @@ -18,7 +18,7 @@ >1 : 1 > : ^ >map : (callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ({ x }) => x >({ x }) => x : ({ x }: { x: number; }) => number diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types index c9b93883967eb..d6de3df9f4fa5 100644 --- a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types @@ -22,7 +22,7 @@ try { >f1() : string > : ^^^^^^ >f1 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var [b] = f2(); >b : string @@ -30,15 +30,15 @@ try { >f2() : [b: string] > : ^^^^^^^^^^^ >f2 : () => [b: string] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var { c } = f3(); >c : string > : ^^^^^^ >f3() : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f3 : () => { c: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var [d = 1] = []; >d : number @@ -61,11 +61,11 @@ try { >console.error("error") : void > : ^^^^ >console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"error" : "error" > : ^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowElementAccess.types b/tests/baselines/reference/controlFlowElementAccess.types index 21d9d1f9c47c1..2dc3216c8dfe0 100644 --- a/tests/baselines/reference/controlFlowElementAccess.types +++ b/tests/baselines/reference/controlFlowElementAccess.types @@ -19,7 +19,7 @@ if (x['o'] === false) { >x['o'] : boolean > : ^^^^^^^ >x : { o: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'o' : "o" > : ^^^ >false : false @@ -31,7 +31,7 @@ if (x['o'] === false) { >x['o'] : boolean > : ^^^^^^^ >x : { o: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'o' : "o" > : ^^^ >true : true diff --git a/tests/baselines/reference/controlFlowElementAccess2.types b/tests/baselines/reference/controlFlowElementAccess2.types index 265f65536538d..aeea74a24f40e 100644 --- a/tests/baselines/reference/controlFlowElementAccess2.types +++ b/tests/baselines/reference/controlFlowElementAccess2.types @@ -19,9 +19,9 @@ if (typeof config['works'] !== 'boolean') { >typeof config['works'] : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >config['works'] : boolean | { prop: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >'works' : "works" > : ^^^^^^^ >'boolean' : "boolean" @@ -33,11 +33,11 @@ if (typeof config['works'] !== 'boolean') { >config.works.prop : string > : ^^^^^^ >config.works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >'test' : "test" @@ -49,9 +49,9 @@ if (typeof config['works'] !== 'boolean') { >config['works'].prop : string > : ^^^^^^ >config['works'] : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >'works' : "works" > : ^^^^^^^ >prop : string @@ -65,11 +65,11 @@ if (typeof config.works !== 'boolean') { >typeof config.works : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >config.works : boolean | { prop: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >works : boolean | { prop: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >'boolean' : "boolean" > : ^^^^^^^^^ @@ -79,9 +79,9 @@ if (typeof config.works !== 'boolean') { >config['works'].prop : string > : ^^^^^^ >config['works'] : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >'works' : "works" > : ^^^^^^^ >prop : string @@ -95,11 +95,11 @@ if (typeof config.works !== 'boolean') { >config.works.prop : string > : ^^^^^^ >config.works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >'test' : "test" diff --git a/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types b/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types index 91c2454a13057..2c5d35debc45e 100644 --- a/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types +++ b/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types @@ -17,7 +17,7 @@ if (isObject1(obj1)) { >isObject1(obj1) : boolean > : ^^^^^^^ >isObject1 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj1 : {} > : ^^ @@ -46,7 +46,7 @@ if (isObject1(obj2)) { >isObject1(obj2) : boolean > : ^^^^^^^ >isObject1 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj2 : {} | undefined > : ^^^^^^^^^^^^^^ @@ -81,7 +81,7 @@ if (isObject2(obj3)) { >isObject2(obj3) : boolean > : ^^^^^^^ >isObject2 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj3 : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -110,7 +110,7 @@ if (isObject2(obj4)) { >isObject2(obj4) : boolean > : ^^^^^^^ >isObject2 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj4 : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types b/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types index 10dc2a7fd0f0c..5ca27e6ae187a 100644 --- a/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types +++ b/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types @@ -13,11 +13,11 @@ x = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let a: number; >a : number @@ -50,11 +50,11 @@ try { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -63,11 +63,11 @@ console.log(a); // <- error here >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/controlFlowForCatchAndFinally.types b/tests/baselines/reference/controlFlowForCatchAndFinally.types index 486e23c07891a..8a1c836bb1556 100644 --- a/tests/baselines/reference/controlFlowForCatchAndFinally.types +++ b/tests/baselines/reference/controlFlowForCatchAndFinally.types @@ -52,7 +52,7 @@ async function test(): Promise { >test1() : Promise > : ^^^^^^^^^^^^^^^^ >test1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ page = await test2(browser); >page = await test2(browser) : Page @@ -64,7 +64,7 @@ async function test(): Promise { >test2(browser) : Promise > : ^^^^^^^^^^^^^ >test2 : (obj: Browser) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >browser : Browser > : ^^^^^^^ @@ -74,11 +74,11 @@ async function test(): Promise { >page.content() : Promise > : ^^^^^^^^^^^^^^^ >page.content : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >page : Page > : ^^^^ >content : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } finally { if (page) { @@ -91,11 +91,11 @@ async function test(): Promise { >page.close() : Promise > : ^^^^^^^^^^^^^ >page.close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >page : Page > : ^^^^ >close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } if (browser) { @@ -108,11 +108,11 @@ async function test(): Promise { >browser.close() : Promise > : ^^^^^^^^^^^^^ >browser.close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >browser : Browser > : ^^^^^^^ >close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -153,7 +153,7 @@ class Foo { >this.abortController.abort() : void > : ^^^^ >this.abortController.abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this.abortController : Aborter > : ^^^^^^^ >this : this @@ -161,7 +161,7 @@ class Foo { >abortController : Aborter > : ^^^^^^^ >abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ this.abortController = undefined; >this.abortController = undefined : undefined @@ -210,7 +210,7 @@ class Foo { >this.abortController.abort() : void > : ^^^^ >this.abortController.abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this.abortController : Aborter > : ^^^^^^^ >this : this @@ -218,7 +218,7 @@ class Foo { >abortController : Aborter > : ^^^^^^^ >abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/controlFlowForOfStatement.types b/tests/baselines/reference/controlFlowForOfStatement.types index 0f1503f0c7761..3b37414eec35c 100644 --- a/tests/baselines/reference/controlFlowForOfStatement.types +++ b/tests/baselines/reference/controlFlowForOfStatement.types @@ -35,11 +35,11 @@ function a() { >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } x; // string | boolean >x : string | true diff --git a/tests/baselines/reference/controlFlowForStatement.types b/tests/baselines/reference/controlFlowForStatement.types index 623ac047ccc7b..e7c7ce4f36c71 100644 --- a/tests/baselines/reference/controlFlowForStatement.types +++ b/tests/baselines/reference/controlFlowForStatement.types @@ -97,11 +97,11 @@ function c() { >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x = 5 : 5 > : ^ >x : string | number | boolean diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index 281d6e928ba1a..2aedc363b070a 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -37,7 +37,7 @@ function f1(x: T, y: { a: T }, z: [T]): string { >y.a : T > : ^ >y : { a: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >a : T > : ^ @@ -47,7 +47,7 @@ function f1(x: T, y: { a: T }, z: [T]): string { >y.a : string > : ^^^^^^ >y : { a: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >length : number @@ -57,7 +57,7 @@ function f1(x: T, y: { a: T }, z: [T]): string { >y.a : string > : ^^^^^^ >y : { a: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -159,7 +159,7 @@ function g1 | undefined>(x: T) { >isBox(x) : boolean > : ^^^^^^^ >isBox : (x: any) => x is Box -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -167,7 +167,7 @@ function g1 | undefined>(x: T) { >unbox(x) : T > : ^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Box > : ^^^^^^ } @@ -185,7 +185,7 @@ function g2 | undefined>(x: T) { >isUndefined(x) : boolean > : ^^^^^^^ >isUndefined : (x: unknown) => x is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -193,7 +193,7 @@ function g2 | undefined>(x: T) { >unbox(x) : T > : ^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Box > : ^^^^^^ } @@ -211,7 +211,7 @@ function g3 | undefined>(x: T) { >isBox(x) : boolean > : ^^^^^^^ >isBox : (x: any) => x is Box -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -219,7 +219,7 @@ function g3 | undefined>(x: T) { >unbox(x) : T > : ^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : undefined > : ^^^^^^^^^ } @@ -235,7 +235,7 @@ function g4 | undefined>(x: T) { >isUndefined(x) : boolean > : ^^^^^^^ >isUndefined : (x: unknown) => x is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -243,7 +243,7 @@ function g4 | undefined>(x: T) { >unbox(x) : unknown > : ^^^^^^^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : undefined > : ^^^^^^^^^ } @@ -275,7 +275,7 @@ export function bounceAndTakeIfA(value: AB): AB { >takeA(value) : void > : ^^^^ >takeA : (val: "A") => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "A" > : ^^^ @@ -480,11 +480,11 @@ function notWorking(object: T) { >object.doTest() : void > : ^^^^ >object.doTest : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >object : A1 > : ^^ >doTest : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } // Repro from #42939 @@ -554,11 +554,11 @@ function once>(emittingObject: T, eventName: keyo >emittingObject.off(eventName, 0) : void > : ^^^^ >emittingObject.off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >emittingObject : T > : ^ >off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >eventName : keyof ET > : ^^^^^^^^ >0 : 0 @@ -568,11 +568,11 @@ function once>(emittingObject: T, eventName: keyo >emittingObject.off(eventName as typeof eventName, 0) : void > : ^^^^ >emittingObject.off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >emittingObject : T > : ^ >off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >eventName as typeof eventName : keyof ET > : ^^^^^^^^ >eventName : keyof ET @@ -803,11 +803,11 @@ class SqlTable { >this.validateRow(row) : void > : ^^^^ >this.validateRow : (_row: Partial>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >validateRow : (_row: Partial>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >row : SqlInsertSet > : ^^^^^^^^^^^^^^^ } @@ -884,19 +884,19 @@ type Column = (keyof T extends never ? { id?: number | string } : { id: T }) > : ^^^^^^^^^^^^^^^^^^ function getColumnProperty(column: Column, key: keyof Column) { ->getColumnProperty : (column: Column, key: keyof Column) => Column["title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; })] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getColumnProperty : (column: Column, key: keyof Column) => Column["title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; })] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >column : Column > : ^^^^^^^^^ ->key : "title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>key : "title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ return column[key]; ->column[key] : Column["title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; })] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>column[key] : Column["title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; })] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >column : Column > : ^^^^^^^^^ ->key : "title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>key : "title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowIIFE.types b/tests/baselines/reference/controlFlowIIFE.types index d15212a9eea5f..9ba8fede40549 100644 --- a/tests/baselines/reference/controlFlowIIFE.types +++ b/tests/baselines/reference/controlFlowIIFE.types @@ -15,7 +15,7 @@ function f1() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -57,7 +57,7 @@ function f2() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -101,7 +101,7 @@ function f3() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let y: number; >y : number @@ -225,11 +225,11 @@ if (!test) { >test.slice(1) : string > : ^^^^^^ >test.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >test : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/controlFlowIfStatement.types b/tests/baselines/reference/controlFlowIfStatement.types index a2ad2e11651ed..823f3de5f6795 100644 --- a/tests/baselines/reference/controlFlowIfStatement.types +++ b/tests/baselines/reference/controlFlowIfStatement.types @@ -151,11 +151,11 @@ function c(data: string | T): T { return JSON.parse(data); >JSON.parse(data) : any >JSON.parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >JSON : JSON > : ^^^^ >parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >data : string | (T & string) > : ^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types index 68658c307e899..599a64b0e552e 100644 --- a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types +++ b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types @@ -25,6 +25,6 @@ const { > : ^^^^^^ } = obj; ->obj : { a?: string | undefined; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; b?: number; } +> : ^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types b/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types index 35f11aa26d82a..b5fe3b2bea007 100644 --- a/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types +++ b/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types @@ -19,11 +19,11 @@ function distinguish(thing: string | number | Date) { >console.log("Aha!! It's a Date in " + thing.getFullYear()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Aha!! It's a Date in " + thing.getFullYear() : string > : ^^^^^^ >"Aha!! It's a Date in " : "Aha!! It's a Date in " @@ -31,11 +31,11 @@ function distinguish(thing: string | number | Date) { >thing.getFullYear() : number > : ^^^^^^ >thing.getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >thing : Date > : ^^^^ >getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else if (typeof thing === 'string') { >typeof thing === 'string' : boolean @@ -51,11 +51,11 @@ function distinguish(thing: string | number | Date) { >console.log("Aha!! It's a string of length " + thing.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Aha!! It's a string of length " + thing.length : string > : ^^^^^^ >"Aha!! It's a string of length " : "Aha!! It's a string of length " @@ -72,11 +72,11 @@ function distinguish(thing: string | number | Date) { >console.log("Aha!! It's the number " + thing.toPrecision(3)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Aha!! It's the number " + thing.toPrecision(3) : string > : ^^^^^^ >"Aha!! It's the number " : "Aha!! It's the number " @@ -84,11 +84,11 @@ function distinguish(thing: string | number | Date) { >thing.toPrecision(3) : string > : ^^^^^^ >thing.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >thing : number > : ^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ } diff --git a/tests/baselines/reference/controlFlowInstanceof.types b/tests/baselines/reference/controlFlowInstanceof.types index 848a6379e58d0..fc2fe6c36b20b 100644 --- a/tests/baselines/reference/controlFlowInstanceof.types +++ b/tests/baselines/reference/controlFlowInstanceof.types @@ -369,7 +369,7 @@ if (x instanceof ctor) { >x instanceof ctor : boolean > : ^^^^^^^ >x : (() => void) | null -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ >ctor : Function > : ^^^^^^^^ @@ -377,7 +377,7 @@ if (x instanceof ctor) { >x() : void > : ^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } // Repro from #27550 (based on uglify code) diff --git a/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types b/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types index 9fb770b53c71d..f2b23c882609b 100644 --- a/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types +++ b/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types @@ -16,7 +16,7 @@ Function.prototype.now = function () { >Function.prototype.now = function () { return "now"} : () => string > : ^^^^^^^^^^^^ >Function.prototype.now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Function.prototype : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -24,7 +24,7 @@ Function.prototype.now = function () { >prototype : Function > : ^^^^^^^^ >now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function () { return "now"} : () => string > : ^^^^^^^^^^^^ @@ -63,11 +63,11 @@ console.log(X.now()) // works as expected >console.log(X.now()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >X.now() : {} > : ^^ >X.now : () => {} @@ -81,19 +81,19 @@ console.log(Y.now()) // works as expected >console.log(Y.now()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Y.now() : string > : ^^^^^^ >Y.now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Y : typeof Y > : ^^^^^^^^ >now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ export const x: X | number = Math.random() > 0.5 ? new X() : 1 >x : number | X @@ -105,11 +105,11 @@ export const x: X | number = Math.random() > 0.5 ? new X() : 1 >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >new X() : X diff --git a/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types b/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types index c4e34facc4c08..d980a88e871a9 100644 --- a/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types +++ b/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types @@ -225,9 +225,9 @@ class A { return Function.prototype[Symbol.hasInstance].call(this, value); >Function.prototype[Symbol.hasInstance].call(this, value) : any >Function.prototype[Symbol.hasInstance].call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Function.prototype[Symbol.hasInstance] : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Function.prototype : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -241,7 +241,7 @@ class A { >hasInstance : unique symbol > : ^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : T > : ^ >value : unknown diff --git a/tests/baselines/reference/controlFlowIterationErrors.types b/tests/baselines/reference/controlFlowIterationErrors.types index b6ceced9af7bd..e2dfb736eae9c 100644 --- a/tests/baselines/reference/controlFlowIterationErrors.types +++ b/tests/baselines/reference/controlFlowIterationErrors.types @@ -104,13 +104,13 @@ function f2() { declare function foo(x: string): number; >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo(x: number): string; >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -142,7 +142,7 @@ function g1() { >foo(x) : never > : ^^^^^ >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -187,7 +187,7 @@ function g2() { >foo(x) : never > : ^^^^^ >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -279,7 +279,7 @@ function h2() { >asNumber(x) : number > : ^^^^^^ >asNumber : (x: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -317,7 +317,7 @@ function h3() { >asNumber(x) : number > : ^^^^^^ >asNumber : (x: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -369,7 +369,7 @@ function h4() { >asNumber(x) : number > : ^^^^^^ >asNumber : (x: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowIterationErrorsAsync.types b/tests/baselines/reference/controlFlowIterationErrorsAsync.types index 5bf69affba071..4f37f34a2ebbc 100644 --- a/tests/baselines/reference/controlFlowIterationErrorsAsync.types +++ b/tests/baselines/reference/controlFlowIterationErrorsAsync.types @@ -108,13 +108,13 @@ async function f2() { declare function foo(x: string): Promise; >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo(x: number): Promise; >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -148,7 +148,7 @@ async function g1() { >foo(x) : Promise & Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -195,7 +195,7 @@ async function g2() { >foo(x) : Promise & Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -289,7 +289,7 @@ async function h2() { >asNumber(x) : Promise > : ^^^^^^^^^^^^^^^ >asNumber : (x: string | number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -329,7 +329,7 @@ async function h3() { >asNumber(x) : Promise > : ^^^^^^^^^^^^^^^ >asNumber : (x: string | number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -383,7 +383,7 @@ async function h4() { >asNumber(x) : Promise > : ^^^^^^^^^^^^^^^ >asNumber : (x: string | number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -499,7 +499,7 @@ async () => { >foox(bar) : Promise > : ^^^^^^^^^^^^^^^ >foox : (x: string | undefined) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -546,11 +546,11 @@ async function myFunc(): Promise { >entities : number[] > : ^^^^^^^^ >await myQuery({ lastId, }) : { entities: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >myQuery({ lastId, }) : Promise<{ entities: number[]; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^ >myQuery : (input: { lastId: number | undefined; }) => Promise<{ entities: number[]; }> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ lastId, } : { lastId: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowLoopAnalysis.types b/tests/baselines/reference/controlFlowLoopAnalysis.types index b6e3526fed1f3..30caab5676ccf 100644 --- a/tests/baselines/reference/controlFlowLoopAnalysis.types +++ b/tests/baselines/reference/controlFlowLoopAnalysis.types @@ -43,7 +43,7 @@ function test1() { >foo(x) : number > : ^^^^^^ >foo : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -92,7 +92,7 @@ function test2() { >foo(x) : number > : ^^^^^^ >foo : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -170,7 +170,7 @@ function mapUntilCant( >canTake(value, index) : boolean > : ^^^^^^^ >canTake : (value: a, index: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >value : a > : ^ >index : number @@ -180,15 +180,15 @@ function mapUntilCant( >result.push(mapping(value, index)) : number > : ^^^^^^ >result.push : (...items: b[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : b[] > : ^^^ >push : (...items: b[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >mapping(value, index) : b > : ^ >mapping : (value: a, index: number) => b -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >value : a > : ^ >index : number diff --git a/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types b/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types index 30cab592d76eb..40942dd9a71e3 100644 --- a/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types +++ b/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types @@ -23,7 +23,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -35,7 +35,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -47,7 +47,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -59,7 +59,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -71,7 +71,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -83,7 +83,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -95,7 +95,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -107,7 +107,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -119,7 +119,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -131,7 +131,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -143,7 +143,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -155,7 +155,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -167,7 +167,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -179,7 +179,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -191,7 +191,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -203,7 +203,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -215,7 +215,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -227,7 +227,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -239,7 +239,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -251,7 +251,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -263,7 +263,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -275,7 +275,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -287,7 +287,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -299,7 +299,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -311,7 +311,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -323,7 +323,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -335,7 +335,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -347,7 +347,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -359,7 +359,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -371,7 +371,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -383,7 +383,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -395,7 +395,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -407,7 +407,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -419,7 +419,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -431,7 +431,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -443,7 +443,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -455,7 +455,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -467,7 +467,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -479,7 +479,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -491,7 +491,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -503,7 +503,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -515,7 +515,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -527,7 +527,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -539,7 +539,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -551,7 +551,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -563,7 +563,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -575,7 +575,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -587,7 +587,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -599,7 +599,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -611,7 +611,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -623,7 +623,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -635,7 +635,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -647,7 +647,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -659,7 +659,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -671,7 +671,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -683,7 +683,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true diff --git a/tests/baselines/reference/controlFlowNullTypeAndLiteral.types b/tests/baselines/reference/controlFlowNullTypeAndLiteral.types index 6347be4f16bb1..f6ef549f10e95 100644 --- a/tests/baselines/reference/controlFlowNullTypeAndLiteral.types +++ b/tests/baselines/reference/controlFlowNullTypeAndLiteral.types @@ -42,7 +42,7 @@ if (objWithValMaybeNull.val !== null) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ @@ -54,7 +54,7 @@ if (objWithValMaybeNull.val !== null) >objWithValMaybeNull.val : number > : ^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number > : ^^^^^^ @@ -64,7 +64,7 @@ if (objWithValMaybeNull.val !== myNull) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ >myNull : null @@ -78,7 +78,7 @@ if (objWithValMaybeNull.val !== myNull) >objWithValMaybeNull.val : number > : ^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number > : ^^^^^^ @@ -88,7 +88,7 @@ if (objWithValMaybeNull.val === null) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ @@ -100,7 +100,7 @@ if (objWithValMaybeNull.val === null) >objWithValMaybeNull.val : null > : ^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : null > : ^^^^ @@ -110,7 +110,7 @@ if (objWithValMaybeNull.val === myNull) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ >myNull : null @@ -124,7 +124,7 @@ if (objWithValMaybeNull.val === myNull) >objWithValMaybeNull.val : null > : ^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : null > : ^^^^ diff --git a/tests/baselines/reference/controlFlowNullishCoalesce.types b/tests/baselines/reference/controlFlowNullishCoalesce.types index 462e9bc90ce68..7a2788cb84555 100644 --- a/tests/baselines/reference/controlFlowNullishCoalesce.types +++ b/tests/baselines/reference/controlFlowNullishCoalesce.types @@ -8,9 +8,9 @@ let a: number; o ?? (a = 1); >o ?? (a = 1) : { x: number; } | 1 -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >o : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >(a = 1) : 1 > : ^ >a = 1 : 1 @@ -24,11 +24,11 @@ a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // assignment flow declare const o: { x: number } | undefined; @@ -45,19 +45,19 @@ let x: { x: number } | boolean; if (x = o ?? true) { >x = o ?? true : true | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >x : boolean | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >o ?? true : true | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >o : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >true : true > : ^^^^ x; >x : true | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/controlFlowOptionalChain.types b/tests/baselines/reference/controlFlowOptionalChain.types index a9bc469fa097b..1be51c8e96277 100644 --- a/tests/baselines/reference/controlFlowOptionalChain.types +++ b/tests/baselines/reference/controlFlowOptionalChain.types @@ -28,7 +28,7 @@ o?.[a = 1]; >o?.[a = 1] : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a = 1 : 1 > : ^ >a : number @@ -40,11 +40,11 @@ a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b: number; >b : number @@ -56,7 +56,7 @@ o?.x[b = 1]; >o?.x : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any > : ^^^ >b = 1 : 1 @@ -70,11 +70,11 @@ b.toString(); >b.toString() : string > : ^^^^^^ >b.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c: number; >c : number @@ -84,7 +84,7 @@ o?.(c = 1) >o?.(c = 1) : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c = 1 : 1 > : ^ >c : number @@ -96,11 +96,11 @@ c.toString(); >c.toString() : string > : ^^^^^^ >c.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >c : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let d: number; >d : number @@ -112,7 +112,7 @@ o?.x(d = 1); >o?.x : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any > : ^^^ >d = 1 : 1 @@ -126,11 +126,11 @@ d.toString(); >d.toString() : string > : ^^^^^^ >d.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >d : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // type predicates declare const f: undefined | ((x: any) => x is number); @@ -147,7 +147,7 @@ if (f?.(x)) { >f?.(x) : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -157,13 +157,13 @@ if (f?.(x)) { f; // (x: any) => x is number >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f(x); >f(x) : boolean > : ^^^^^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -174,13 +174,13 @@ else { f; >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ f(x); >f(x) : boolean > : ^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -190,13 +190,13 @@ x; f; >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ f(x); >f(x) : boolean > : ^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -212,11 +212,11 @@ if (o2?.f(x)) { >o2?.f(x) : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o2?.f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -226,29 +226,29 @@ if (o2?.f(x)) { o2.f; // (x: any) => x is number >o2.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o2?.f; >o2?.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o2?.f(x); >o2?.f(x) : boolean > : ^^^^^^^ >o2?.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -259,23 +259,23 @@ else { o2; >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ o2?.f; >o2?.f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o2.f; >o2.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } x; >x : string | number @@ -283,23 +283,23 @@ x; o2; >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ o2?.f; >o2?.f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o2.f; >o2.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare const o3: { x: 1, y: string } | { x: 2, y: number } | undefined; >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined @@ -319,7 +319,7 @@ if (o3?.x === 1) { >o3?.x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >1 : 1 @@ -327,13 +327,13 @@ if (o3?.x === 1) { o3; >o3 : { x: 1; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ o3.x; >o3.x : 1 > : ^ >o3 : { x: 1; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : 1 > : ^ @@ -341,20 +341,20 @@ if (o3?.x === 1) { >o3?.x : 1 > : ^ >o3 : { x: 1; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : 1 > : ^ } else { o3; >o3 : { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ o3?.x; >o3?.x : 2 | undefined > : ^^^^^^^^^^^^^ >o3 : { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 2 | undefined > : ^^^^^^^^^^^^^ @@ -362,19 +362,19 @@ else { >o3.x : 2 > : ^ >o3 : { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 2 > : ^ } o3; >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ o3?.x; >o3?.x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ @@ -382,7 +382,7 @@ o3.x; >o3.x : 1 | 2 > : ^^^^^ >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 1 | 2 > : ^^^^^ @@ -398,31 +398,31 @@ if (o4.x?.y) { >o4.x?.y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o4.x; // { y: boolean } >o4.x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ o4.x.y; // true >o4.x.y : true > : ^^^^ >o4.x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : true > : ^^^^ @@ -430,32 +430,32 @@ if (o4.x?.y) { >o4.x?.y : true > : ^^^^ >o4.x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : true > : ^^^^ } else { o4.x; >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o4.x?.y; >o4.x?.y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ @@ -463,31 +463,31 @@ else { >o4.x.y : boolean > : ^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean > : ^^^^^^^ } o4.x; >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o4.x?.y; >o4.x?.y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ @@ -495,11 +495,11 @@ o4.x.y; >o4.x.y : boolean > : ^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean > : ^^^^^^^ @@ -519,75 +519,75 @@ if (o5.x?.y.z?.w) { >o5.x?.y.z?.w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o5.x; ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ o5.x.y; ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ o5.x.y.z; >o5.x.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ o5.x.y.z.w; // true >o5.x.y.z.w : true > : ^^^^ >o5.x.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ @@ -595,19 +595,19 @@ if (o5.x?.y.z?.w) { >o5.x.y.z?.w : true > : ^^^^ >o5.x.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ @@ -615,19 +615,19 @@ if (o5.x?.y.z?.w) { >o5.x?.y.z.w : true > : ^^^^ >o5.x?.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x?.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ @@ -635,196 +635,196 @@ if (o5.x?.y.z?.w) { >o5.x?.y.z?.w : true > : ^^^^ >o5.x?.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x?.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ } else { o5.x; ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y; ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z; >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z?.w; >o5.x?.y.z?.w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o5.x.y; ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ o5.x.y.z.w; >o5.x.y.z.w : boolean > : ^^^^^^^ >o5.x.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean > : ^^^^^^^ } o5.x; ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y; ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z; >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z?.w; >o5.x?.y.z?.w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o5.x.y; ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ o5.x.y.z.w; >o5.x.y.z.w : boolean > : ^^^^^^^ >o5.x.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean > : ^^^^^^^ @@ -848,11 +848,11 @@ if (o6?.f()) { >o6?.f() : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o6?.f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o6; // Derived >o6 : Derived @@ -860,11 +860,11 @@ if (o6?.f()) { o6.f; >o6.f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >o6 : Derived > : ^^^^^^^ >f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } else { o6; @@ -873,19 +873,19 @@ else { o6?.f; >o6?.f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o6.f; >o6.f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } o6; >o6 : Base | undefined @@ -893,19 +893,19 @@ o6; o6?.f; >o6?.f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o6.f; >o6.f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ // asserts declare const isDefined: (value: T) => asserts value is NonNullable; @@ -948,7 +948,7 @@ function f01(x: unknown) { >isString?.(x) : void > : ^^^^ >isString : (value: unknown) => asserts value is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -968,7 +968,7 @@ function f01(x: unknown) { >maybeIsString?.(x) : void | undefined > : ^^^^^^^^^^^^^^^^ >maybeIsString : ((value: unknown) => asserts value is string) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : unknown > : ^^^^^^^ @@ -988,15 +988,15 @@ function f01(x: unknown) { >isDefined(maybeIsString) : void > : ^^^^ >isDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >maybeIsString : ((value: unknown) => asserts value is string) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ maybeIsString?.(x); >maybeIsString?.(x) : void > : ^^^^ >maybeIsString : (value: unknown) => asserts value is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -1016,7 +1016,7 @@ function f01(x: unknown) { >maybeNever?.() : undefined > : ^^^^^^^^^ >maybeNever : (() => never) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ x; >x : unknown @@ -1088,21 +1088,21 @@ function f10(o: Thing | undefined, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1150,21 +1150,21 @@ function f10(o: Thing | undefined, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1222,21 +1222,21 @@ function f11(o: Thing | null, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1284,21 +1284,21 @@ function f11(o: Thing | null, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1356,21 +1356,21 @@ function f12(o: Thing | undefined, value: number | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1418,21 +1418,21 @@ function f12(o: Thing | undefined, value: number | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1490,21 +1490,21 @@ function f12a(o: Thing | undefined, value: number | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | null > : ^^^^^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1552,21 +1552,21 @@ function f12a(o: Thing | undefined, value: number | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | null > : ^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1622,21 +1622,21 @@ function f13(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo != undefined) { >o?.foo != undefined : boolean @@ -1684,21 +1684,21 @@ function f13(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1750,19 +1750,19 @@ function f13a(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo != null) { >o?.foo != null : boolean @@ -1806,19 +1806,19 @@ function f13a(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1874,21 +1874,21 @@ function f14(o: Thing | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -2326,21 +2326,21 @@ function f20(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >"number" : "number" > : ^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.baz instanceof Error) { >o?.baz instanceof Error : boolean @@ -2422,21 +2422,21 @@ function f21(o: Thing | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >"number" : "number" > : ^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.baz instanceof Error) { >o?.baz instanceof Error : boolean @@ -2754,7 +2754,7 @@ function f30(o: Thing | undefined) { >assert(o?.foo) : void > : ^^^^ >assert : (x: unknown) => asserts x -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o?.foo : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : Thing | undefined @@ -2782,7 +2782,7 @@ function f30(o: Thing | undefined) { >assert(o?.foo === 42) : void > : ^^^^ >assert : (x: unknown) => asserts x -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o?.foo === 42 : boolean > : ^^^^^^^ >o?.foo : string | number | undefined @@ -2814,7 +2814,7 @@ function f30(o: Thing | undefined) { >assert(typeof o?.foo === "number") : void > : ^^^^ >assert : (x: unknown) => asserts x -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof o?.foo === "number" : boolean > : ^^^^^^^ >typeof o?.foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -2848,7 +2848,7 @@ function f30(o: Thing | undefined) { >assertNonNull(o?.foo) : void > : ^^^^ >assertNonNull : (x: T) => asserts x is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o?.foo : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : Thing | undefined @@ -3052,7 +3052,7 @@ function getArea(shape?: Shape) { >shape.radius : number > : ^^^^^^ >shape : { type: "circle"; radius: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^ ^^^ >radius : number > : ^^^^^^ >2 : 2 @@ -3068,13 +3068,13 @@ function getArea(shape?: Shape) { >shape.width : number > : ^^^^^^ >shape : { type: "rectangle"; width: number; height: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ >width : number > : ^^^^^^ >shape.height : number > : ^^^^^^ >shape : { type: "rectangle"; width: number; height: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ >height : number > : ^^^^^^ @@ -3121,11 +3121,11 @@ function extractCoordinates(f: Feature): number[] { >f.geometry?.type : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f.geometry : { type: string; coordinates: number[]; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >f : Feature > : ^^^^^^^ >geometry : { type: string; coordinates: number[]; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >type : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'test' : "test" @@ -3139,11 +3139,11 @@ function extractCoordinates(f: Feature): number[] { >f.geometry.coordinates : number[] > : ^^^^^^^^ >f.geometry : { type: string; coordinates: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >f : Feature > : ^^^^^^^ >geometry : { type: string; coordinates: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >coordinates : number[] > : ^^^^^^^^ } @@ -3182,11 +3182,11 @@ function someFunction(someOptionalObject: SomeObject | undefined): void { >console.log(someOptionalObject) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >someOptionalObject : SomeObject | undefined > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -3194,11 +3194,11 @@ function someFunction(someOptionalObject: SomeObject | undefined): void { >console.log(someOptionalObject.someProperty) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >someOptionalObject.someProperty : unknown > : ^^^^^^^ >someOptionalObject : SomeObject | undefined @@ -3238,7 +3238,7 @@ someFunction(someObject); >someFunction(someObject) : void > : ^^^^ >someFunction : (someOptionalObject: SomeObject | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >someObject : SomeObject > : ^^^^^^^^^^ @@ -3246,7 +3246,7 @@ someFunction(undefined); >someFunction(undefined) : void > : ^^^^ >someFunction : (someOptionalObject: SomeObject | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -3269,10 +3269,10 @@ while (arr[i]?.tag === "left") { > : ^^^^^^^ >arr[i]?.tag : "left" | "right" > : ^^^^^^^^^^^^^^^^ ->arr[i] : { tag: "left" | "right"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { tag: "left" | "right"; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr[i] : { tag: ("left" | "right"); } +> : ^^^^^^^ ^^^ +>arr : { tag: ("left" | "right"); }[] +> : ^^^^^^^ ^^^^^ >i : number > : ^^^^^^ >tag : "left" | "right" @@ -3293,10 +3293,10 @@ while (arr[i]?.tag === "left") { > : ^^^^^^^ >arr[i]?.tag : "left" | "right" > : ^^^^^^^^^^^^^^^^ ->arr[i] : { tag: "left" | "right"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { tag: "left" | "right"; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr[i] : { tag: ("left" | "right"); } +> : ^^^^^^^ ^^^ +>arr : { tag: ("left" | "right"); }[] +> : ^^^^^^^ ^^^^^ >i : number > : ^^^^^^ >tag : "left" | "right" @@ -3308,11 +3308,11 @@ while (arr[i]?.tag === "left") { >console.log("I should ALSO be reachable") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"I should ALSO be reachable" : "I should ALSO be reachable" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -3348,11 +3348,11 @@ function f50(obj: Test5) { >obj.main?.childs : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.main : { childs: Record; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >obj : Test5 > : ^^^^^ >main : { childs: Record; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >childs : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -3364,11 +3364,11 @@ function f50(obj: Test5) { >obj.main.childs : Record > : ^^^^^^^^^^^^^^^^^^^^^ >obj.main : { childs: Record; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >obj : Test5 > : ^^^^^ >main : { childs: Record; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >childs : Record > : ^^^^^^^^^^^^^^^^^^^^^ >key : string diff --git a/tests/baselines/reference/controlFlowOptionalChain3.types b/tests/baselines/reference/controlFlowOptionalChain3.types index a371333519436..bc4f6fc04b27c 100644 --- a/tests/baselines/reference/controlFlowOptionalChain3.types +++ b/tests/baselines/reference/controlFlowOptionalChain3.types @@ -149,22 +149,22 @@ function test4(options?: { a?: boolean; b?: boolean }) { > : ^^^^^^^ >options?.a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->options : { a?: boolean | undefined; b?: boolean | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { a?: boolean; b?: boolean; } | undefined +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ >options.b : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->options : { a?: boolean | undefined; b?: boolean | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { a?: boolean; b?: boolean; } | undefined +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >b : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ options; ->options : { a?: boolean | undefined; b?: boolean | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { a?: boolean; b?: boolean; } | undefined +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowOuterVariable.types b/tests/baselines/reference/controlFlowOuterVariable.types index c612b2d60477f..b772a73626f5e 100644 --- a/tests/baselines/reference/controlFlowOuterVariable.types +++ b/tests/baselines/reference/controlFlowOuterVariable.types @@ -53,11 +53,11 @@ const helper = function(t: T[]) { >t.slice(1) : T[] > : ^^^ >t.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >t : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/controlFlowParameter.types b/tests/baselines/reference/controlFlowParameter.types index c6e11af5fdb26..50e42a065e356 100644 --- a/tests/baselines/reference/controlFlowParameter.types +++ b/tests/baselines/reference/controlFlowParameter.types @@ -29,11 +29,11 @@ function f1( >console.log("ok") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"ok" : "ok" > : ^^^^ } diff --git a/tests/baselines/reference/controlFlowPropertyDeclarations.types b/tests/baselines/reference/controlFlowPropertyDeclarations.types index a08c794f36911..c7c36a31f00d6 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.types +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.types @@ -57,11 +57,11 @@ for (var propname in HTMLDOMPropertyConfig.Properties) { >propname.toLowerCase() : string > : ^^^^^^ >propname.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >propname : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } /** @@ -264,11 +264,11 @@ function isEmpty(string) { >/[^\s]/.test(string) : boolean > : ^^^^^^^ >/[^\s]/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/[^\s]/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >string : any } @@ -288,11 +288,11 @@ function isConvertiblePixelValue(value) { >/^\d+px$/.test(value) : boolean > : ^^^^^^^ >/^\d+px$/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/^\d+px$/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : any } @@ -392,17 +392,17 @@ export class HTMLtoJSX { >text .replace(/\r/g, '') .replace(/( {2,}|\n|\t|\{|\})/g, function(whitespace) { return '{' + JSON.stringify(whitespace) + '}'; }) : string > : ^^^^^^ >text .replace(/\r/g, '') .replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >text .replace(/\r/g, '') : string > : ^^^^^^ >text .replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >text : string > : ^^^^^^ .replace(/\r/g, '') >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\r/g : RegExp > : ^^^^^^ >'' : "" @@ -410,7 +410,7 @@ export class HTMLtoJSX { .replace(/( {2,}|\n|\t|\{|\})/g, function(whitespace) { >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/( {2,}|\n|\t|\{|\})/g : RegExp > : ^^^^^^ >function(whitespace) { return '{' + JSON.stringify(whitespace) + '}'; } : (whitespace: string) => string @@ -428,11 +428,11 @@ export class HTMLtoJSX { >JSON.stringify(whitespace) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >whitespace : string > : ^^^^^^ >'}' : "}" @@ -447,11 +447,11 @@ export class HTMLtoJSX { >text.indexOf('\n') : number > : ^^^^^^ >text.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'\n' : "\n" > : ^^^^ >-1 : -1 @@ -512,7 +512,7 @@ export class StyleParser { >this.styles.hasOwnProperty(key) : boolean > : ^^^^^^^ >this.styles.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.styles : {} > : ^^ >this : this @@ -520,7 +520,7 @@ export class StyleParser { >styles : {} > : ^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/controlFlowSelfReferentialLoop.types b/tests/baselines/reference/controlFlowSelfReferentialLoop.types index d103987e1c693..fc193a10c2bde 100644 --- a/tests/baselines/reference/controlFlowSelfReferentialLoop.types +++ b/tests/baselines/reference/controlFlowSelfReferentialLoop.types @@ -2342,7 +2342,7 @@ function md5(string:string): void { } export default md5; >md5 : (string: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #26655 @@ -2399,13 +2399,13 @@ function getObject(id: string | number) { const message = data.message >message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >data.message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >data : DataShape > : ^^^^^^^^^ >message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ id = message.id >id = message.id : string @@ -2415,7 +2415,7 @@ function getObject(id: string | number) { >message.id : string > : ^^^^^^ >message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >id : string > : ^^^^^^ } diff --git a/tests/baselines/reference/controlFlowStringIndex.types b/tests/baselines/reference/controlFlowStringIndex.types index d3ca123f5bfa8..a7cbbb020d876 100644 --- a/tests/baselines/reference/controlFlowStringIndex.types +++ b/tests/baselines/reference/controlFlowStringIndex.types @@ -32,7 +32,7 @@ if (value.foo !== null) { >value.foo.toExponential() : string > : ^^^^^^ >value.foo.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value.foo : number > : ^^^^^^ >value : A @@ -40,7 +40,7 @@ if (value.foo !== null) { >foo : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ value.other // should still be number | null >value.other : number | null diff --git a/tests/baselines/reference/controlFlowSuperPropertyAccess.types b/tests/baselines/reference/controlFlowSuperPropertyAccess.types index b0ede2438880e..86d0d769fd8e6 100644 --- a/tests/baselines/reference/controlFlowSuperPropertyAccess.types +++ b/tests/baselines/reference/controlFlowSuperPropertyAccess.types @@ -23,19 +23,19 @@ class C extends B { >super.m && super.m() : void | undefined > : ^^^^^^^^^^^^^^^^ >super.m : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >super : B > : ^ >m : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >super.m() : void > : ^^^^ >super.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : B > : ^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowTruthiness.types b/tests/baselines/reference/controlFlowTruthiness.types index d7cd9e1a679c5..e2f0b9615391f 100644 --- a/tests/baselines/reference/controlFlowTruthiness.types +++ b/tests/baselines/reference/controlFlowTruthiness.types @@ -15,7 +15,7 @@ function f1() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (x) { >x : string | undefined @@ -48,7 +48,7 @@ function f2() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (x) { >x : string | undefined @@ -81,7 +81,7 @@ function f3() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string >x : string @@ -114,7 +114,7 @@ function f4() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string | undefined >x : string | undefined @@ -151,7 +151,7 @@ function f5() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string >x : string @@ -194,7 +194,7 @@ function f6() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >y = foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >y : string | undefined @@ -202,7 +202,7 @@ function f6() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string | undefined >x : string | undefined diff --git a/tests/baselines/reference/controlFlowTypeofObject.types b/tests/baselines/reference/controlFlowTypeofObject.types index 3277237b3c6da..abf525b8b9f68 100644 --- a/tests/baselines/reference/controlFlowTypeofObject.types +++ b/tests/baselines/reference/controlFlowTypeofObject.types @@ -35,7 +35,7 @@ function f1(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -69,7 +69,7 @@ function f2(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -103,7 +103,7 @@ function f3(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -139,7 +139,7 @@ function f4(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -192,7 +192,7 @@ function f5(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -233,7 +233,7 @@ function f6(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -252,7 +252,7 @@ function f6(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object | null > : ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowWhileStatement.types b/tests/baselines/reference/controlFlowWhileStatement.types index 3012536e6c7d4..a2e4c50053d3b 100644 --- a/tests/baselines/reference/controlFlowWhileStatement.types +++ b/tests/baselines/reference/controlFlowWhileStatement.types @@ -389,7 +389,7 @@ function h2() { >len(x) : number > : ^^^^^^ >len : (s: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -433,7 +433,7 @@ function h3() { >len(x) : number > : ^^^^^^ >len : (s: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowWithIncompleteTypes.types b/tests/baselines/reference/controlFlowWithIncompleteTypes.types index 45df7520991f8..febf0c47ec306 100644 --- a/tests/baselines/reference/controlFlowWithIncompleteTypes.types +++ b/tests/baselines/reference/controlFlowWithIncompleteTypes.types @@ -39,11 +39,11 @@ function foo1() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } else { x = "abc"; @@ -98,11 +98,11 @@ function foo2() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } } } diff --git a/tests/baselines/reference/controlFlowWithTemplateLiterals.types b/tests/baselines/reference/controlFlowWithTemplateLiterals.types index d3feac06fc50a..0dd4059420b6f 100644 --- a/tests/baselines/reference/controlFlowWithTemplateLiterals.types +++ b/tests/baselines/reference/controlFlowWithTemplateLiterals.types @@ -19,11 +19,11 @@ if (typeof envVar === `string`) { >envVar.slice(0) : string > : ^^^^^^ >envVar.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >envVar : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ } @@ -40,21 +40,21 @@ if (`test` in obj) { >`test` : "test" > : ^^^^^^ >obj : {} | { test: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ obj.test.slice(0) >obj.test.slice(0) : string > : ^^^^^^ >obj.test.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >obj.test : string > : ^^^^^^ >obj : { test: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >test : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/copyrightWithNewLine1.types b/tests/baselines/reference/copyrightWithNewLine1.types index 8df59c149eefe..6050e1b3dc062 100644 --- a/tests/baselines/reference/copyrightWithNewLine1.types +++ b/tests/baselines/reference/copyrightWithNewLine1.types @@ -14,12 +14,12 @@ var el = document.getElementById('content'); > : ^^^^^^^^^^^ >document.getElementById('content') : HTMLElement > : ^^^^^^^^^^^ ->document.getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>document.getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >document : Document > : ^^^^^^^^ ->getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >'content' : "content" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/copyrightWithoutNewLine1.types b/tests/baselines/reference/copyrightWithoutNewLine1.types index fb077e47b745e..20b7a0647eb13 100644 --- a/tests/baselines/reference/copyrightWithoutNewLine1.types +++ b/tests/baselines/reference/copyrightWithoutNewLine1.types @@ -13,12 +13,12 @@ var el = document.getElementById('content'); > : ^^^^^^^^^^^ >document.getElementById('content') : HTMLElement > : ^^^^^^^^^^^ ->document.getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>document.getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >document : Document > : ^^^^^^^^ ->getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >'content' : "content" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.types b/tests/baselines/reference/correctOrderOfPromiseMethod.types index ae1b4af666130..2c6d644924e6e 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.types +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.types @@ -47,11 +47,11 @@ async function countEverything(): Promise { >Promise.all([ providerA(), providerB(), ]) : Promise<[A[], B[]]> > : ^^^^^^^^^^^^^^^^^^^ >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; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ providerA(), providerB(), ] : [Promise, Promise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -59,13 +59,13 @@ async function countEverything(): Promise { >providerA() : Promise > : ^^^^^^^^^^^^ >providerA : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ providerB(), >providerB() : Promise > : ^^^^^^^^^^^^ >providerB : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ]); @@ -118,11 +118,11 @@ const expected: Promise<["a", "b", "c"]> = Promise.all(undefined as readonly ["a >Promise.all(undefined as readonly ["a", "b", "c"]) : Promise<["a", "b", "c"]> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >undefined as readonly ["a", "b", "c"] : readonly ["a", "b", "c"] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/correlatedUnions.types b/tests/baselines/reference/correlatedUnions.types index 5d820785ae73c..cfab9eafdbf84 100644 --- a/tests/baselines/reference/correlatedUnions.types +++ b/tests/baselines/reference/correlatedUnions.types @@ -46,11 +46,11 @@ function processRecord(rec: UnionRecord) { >rec.f(rec.v) : void > : ^^^^ >rec.f : (v: RecordMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >rec : UnionRecord > : ^^^^^^^^^^^^^^ >f : (v: RecordMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >rec.v : RecordMap[K] > : ^^^^^^^^^^^^ >rec : UnionRecord @@ -61,7 +61,7 @@ function processRecord(rec: UnionRecord) { declare const r1: UnionRecord<'n'>; // { kind: 'n', v: number, f: (v: number) => void } >r1 : { kind: "n"; v: number; f: (v: number) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ declare const r2: UnionRecord; // { kind: 'n', ... } | { kind: 's', ... } | { kind: 'b', ... } >r2 : UnionRecord @@ -73,7 +73,7 @@ processRecord(r1); >processRecord : (rec: UnionRecord) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >r1 : { kind: "n"; v: number; f: (v: number) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ processRecord(r2); >processRecord(r2) : void @@ -107,11 +107,11 @@ processRecord({ kind: 'n', v: 42, f: v => v.toExponential() }); >v.toExponential() : string > : ^^^^^^ >v.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // -------- @@ -281,11 +281,11 @@ const handlers: HandlerMap = { >n.toFixed(2) : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -359,11 +359,11 @@ function process(data: DataEntry[]) { >data.forEach(block => { if (block.type in handlers) { handlers[block.type](block.data) } }) : void > : ^^^^ >data.forEach : (callbackfn: (value: DataEntry, index: number, array: DataEntry[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >data : DataEntry[] > : ^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: DataEntry, index: number, array: DataEntry[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >block => { if (block.type in handlers) { handlers[block.type](block.data) } } : (block: DataEntry) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >block : DataEntry @@ -456,13 +456,13 @@ function call({ letter, caller }: LetterCaller): v >letter : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ >caller : (x: Record) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ caller(letter); >caller(letter) : void > : ^^^^ >caller : (x: Record) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >letter : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -507,9 +507,9 @@ call(xx); >call(xx) : void > : ^^^^ >call : ({ letter, caller }: LetterCaller) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >xx : { letter: A; caller: ACaller; } | { letter: B; caller: BCaller; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ // -------- @@ -549,11 +549,11 @@ function processEvents(events: Ev[]) { >document.addEventListener(event.name, (ev) => event.callback(ev), { once: event.once }) : void > : ^^^^ >document.addEventListener : { (type: K_1, listener: (this: Document, ev: DocumentEventMap[K_1]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >addEventListener : { (type: K_1, listener: (this: Document, ev: DocumentEventMap[K_1]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >event.name : K > : ^ >event : Ev @@ -567,11 +567,11 @@ function processEvents(events: Ev[]) { >event.callback(ev) : void > : ^^^^ >event.callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >event : Ev > : ^^^^^ >callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ev : DocumentEventMap[K] > : ^^^^^^^^^^^^^^^^^^^ >{ once: event.once } : { once: boolean | undefined; } @@ -597,26 +597,26 @@ function createEventListener({ name, once = fa >false : false > : ^^^^^ >callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ return { name, once, callback }; >{ name, once, callback } : { name: K; once: boolean; callback: (ev: DocumentEventMap[K]) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >name : K > : ^ >once : boolean > : ^^^^^^^ >callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } const clickEvent = createEventListener({ ->clickEvent : { readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->createEventListener({ name: "click", callback: ev => console.log(ev),}) : { readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>clickEvent : { readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ +>createEventListener({ name: "click", callback: ev => console.log(ev),}) : { readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >createEventListener : ({ name, once, callback }: Ev) => Ev -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "click", callback: ev => console.log(ev),} : { name: "click"; callback: (ev: MouseEvent) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -636,23 +636,23 @@ const clickEvent = createEventListener({ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : MouseEvent > : ^^^^^^^^^^ }); const scrollEvent = createEventListener({ ->scrollEvent : { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ->createEventListener({ name: "scroll", callback: ev => console.log(ev),}) : { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +>scrollEvent : { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ +>createEventListener({ name: "scroll", callback: ev => console.log(ev),}) : { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ >createEventListener : ({ name, once, callback }: Ev) => Ev -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "scroll", callback: ev => console.log(ev),} : { name: "scroll"; callback: (ev: Event) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ @@ -672,11 +672,11 @@ const scrollEvent = createEventListener({ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : Event > : ^^^^^ @@ -687,12 +687,12 @@ processEvents([clickEvent, scrollEvent]); > : ^^^^ >processEvents : (events: Ev[]) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ->[clickEvent, scrollEvent] : ({ readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } | { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ->clickEvent : { readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->scrollEvent : { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +>[clickEvent, scrollEvent] : ({ readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } | { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; })[] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ +>clickEvent : { readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ +>scrollEvent : { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ processEvents([ >processEvents([ { name: "click", callback: ev => console.log(ev) }, { name: "scroll", callback: ev => console.log(ev) },]) : void @@ -718,11 +718,11 @@ processEvents([ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : MouseEvent > : ^^^^^^^^^^ @@ -742,11 +742,11 @@ processEvents([ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : Event > : ^^^^^ @@ -772,13 +772,13 @@ function ff1() { } type Keys = keyof ArgMap; >Keys : keyof { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ const funs: { [P in Keys]: (...args: ArgMap[P]) => void } = { >funs : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >args : { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[P] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^ ^^^^^^ >{ sum: (a, b) => a + b, concat: (a, b, c) => a + b + c } : { sum: (a: number, b: number) => number; concat: (a: string, b: string, c: string) => string; } > : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -822,19 +822,19 @@ function ff1() { } function apply(funKey: K, ...args: ArgMap[K]) { >apply : (funKey: K, ...args: { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ >funKey : K > : ^ >args : { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^ ^^^^^^ const fn = funs[funKey]; >fn : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >funs[funKey] : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >funs : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >funKey : K > : ^ @@ -842,11 +842,11 @@ function ff1() { >fn(...args) : void > : ^^^^ >fn : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >...args : string | number > : ^^^^^^^^^^^^^^^ >args : { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^ ^^^^^^ } const x1 = apply('sum', 1, 2) >x1 : void @@ -854,7 +854,7 @@ function ff1() { >apply('sum', 1, 2) : void > : ^^^^ >apply : (funKey: K, ...args: { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ >'sum' : "sum" > : ^^^^^ >1 : 1 @@ -868,7 +868,7 @@ function ff1() { >apply('concat', 'str1', 'str2', 'str3' ) : void > : ^^^^ >apply : (funKey: K, ...args: { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ >'concat' : "concat" > : ^^^^^^^^ >'str1' : "str1" @@ -1070,15 +1070,15 @@ function func(k: K): MyObj[K]['name'] | undefined { >myObj.name : string | number > : ^^^^^^^^^^^^^^^ >myObj : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >name : string | number > : ^^^^^^^^^^^^^^^ } const myObj2: Partial[keyof MyObj] = ref[k]; >myObj2 : { name: string; } | { name: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >ref[k] : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >ref : MyObj > : ^^^^^ >k : K @@ -1086,13 +1086,13 @@ function func(k: K): MyObj[K]['name'] | undefined { if (myObj2) { >myObj2 : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ return myObj2.name; >myObj2.name : string | number > : ^^^^^^^^^^^^^^^ >myObj2 : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >name : string | number > : ^^^^^^^^^^^^^^^ } @@ -1121,7 +1121,7 @@ function foo(prop: T, f: Required) { >bar(f[prop]) : void > : ^^^^ >bar : (t: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f[prop] : Required[T] > : ^^^^^^^^^^^^^^^^ >f : Required @@ -1174,7 +1174,7 @@ const BAR_LOOKUP = makeCompleteLookupMapping(ALL_BARS, 'name'); >makeCompleteLookupMapping(ALL_BARS, 'name') : { a: { readonly name: "a"; }; b: { readonly name: "b"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >makeCompleteLookupMapping : , Attr extends keyof T[number]>(ops: T, attr: Attr) => { [Item in T[number] as Item[Attr]]: Item; } -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >ALL_BARS : readonly [{ readonly name: "a"; }, { readonly name: "b"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'name' : "name" diff --git a/tests/baselines/reference/couldNotSelectGenericOverload.types b/tests/baselines/reference/couldNotSelectGenericOverload.types index 52fa3b45f58d5..5afccfbc541ea 100644 --- a/tests/baselines/reference/couldNotSelectGenericOverload.types +++ b/tests/baselines/reference/couldNotSelectGenericOverload.types @@ -25,7 +25,7 @@ var b1G = makeArray(1, ""); // any, no error >makeArray(1, "") : unknown[] > : ^^^^^^^^^ >makeArray : (items: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -37,7 +37,7 @@ var b2G = makeArray(b); // any[] >makeArray(b) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >makeArray : (items: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ @@ -55,7 +55,7 @@ var b3G = makeArray2(1, ""); // error >makeArray2(1, "") : any[] > : ^^^^^ >makeArray2 : (items: any[]) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/covariantCallbacks.types b/tests/baselines/reference/covariantCallbacks.types index b70af29e07fa5..4893772e40a9a 100644 --- a/tests/baselines/reference/covariantCallbacks.types +++ b/tests/baselines/reference/covariantCallbacks.types @@ -302,19 +302,19 @@ declare let bfs: Bivar<(x: string) => void>; bfu = bfs; >bfu = bfs : Bivar<(x: string) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfu : Bivar<(x: unknown) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfs : Bivar<(x: string) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ bfs = bfu; >bfs = bfu : Bivar<(x: unknown) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfs : Bivar<(x: string) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfu : Bivar<(x: unknown) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ type Bivar1 = { set(value: T): void } >Bivar1 : Bivar1 @@ -346,19 +346,19 @@ declare let b2fs: Bivar2<(x: string) => void>; b1fu = b2fs; >b1fu = b2fs : Bivar2<(x: string) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b1fu : Bivar1<(x: unknown) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b2fs : Bivar2<(x: string) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ b2fs = b1fu; >b2fs = b1fu : Bivar1<(x: unknown) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b2fs : Bivar2<(x: string) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b1fu : Bivar1<(x: unknown) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ type SetLike = { set(value: T): void, get(): T } >SetLike : SetLike @@ -384,19 +384,19 @@ declare let sy: SetLike1<(x: string) => void>; sx = sy; // Error >sx = sy : SetLike1<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sx : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sy : SetLike1<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ sy = sx; >sy = sx : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sy : SetLike1<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sx : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ type SetLike1 = { set(value: T): void, get(): T } >SetLike1 : SetLike1 @@ -432,17 +432,17 @@ declare let s2: SetLike2<(x: string) => void>; s1 = s2; // Error >s1 = s2 : SetLike2<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s1 : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s2 : SetLike2<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ s2 = s1; >s2 = s1 : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s2 : SetLike2<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s1 : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/crashInResolveInterface.types b/tests/baselines/reference/crashInResolveInterface.types index 391dab393244a..11b0d0aa0df1a 100644 --- a/tests/baselines/reference/crashInResolveInterface.types +++ b/tests/baselines/reference/crashInResolveInterface.types @@ -46,23 +46,23 @@ var x = q1.each(x => c.log(x)); >q1.each(x => c.log(x)) : void > : ^^^^ >q1.each : (action: (item: { a: number; }, index: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^ >q1 : Q<{ a: number; }> -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^ >each : (action: (item: { a: number; }, index: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^ >x => c.log(x) : (x: { a: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.log(x) : void > : ^^^^ >c.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types b/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types index 5606f7786c5ca..766db4e0e9f41 100644 --- a/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types +++ b/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types @@ -29,13 +29,13 @@ function foo(x: "hi", items: string[]): typeof foo; function foo(x: string, items: string[]): typeof foo { >foo : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >items : string[] > : ^^^^^^^^ >foo : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return null; } @@ -43,9 +43,9 @@ var a: D = foo("hi", []); >a : D > : ^ >foo("hi", []) : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/createArray.types b/tests/baselines/reference/createArray.types index a51f842b4d136..9d725d8ccc1cb 100644 --- a/tests/baselines/reference/createArray.types +++ b/tests/baselines/reference/createArray.types @@ -80,7 +80,7 @@ if (ba[14]) { >f(sa[3]) : number > : ^^^^^^ >f : (s: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sa[3] : any > : ^^^ >sa : any diff --git a/tests/baselines/reference/customEventDetail.types b/tests/baselines/reference/customEventDetail.types index 2a6b186eb4811..e0b82bdb6c98a 100644 --- a/tests/baselines/reference/customEventDetail.types +++ b/tests/baselines/reference/customEventDetail.types @@ -10,11 +10,11 @@ x.initCustomEvent('hello', true, true, { id: 12, name: 'hello' }); >x.initCustomEvent('hello', true, true, { id: 12, name: 'hello' }) : void > : ^^^^ >x.initCustomEvent : (type: string, bubbles?: boolean, cancelable?: boolean, detail?: any) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^ >x : CustomEvent > : ^^^^^^^^^^^^^^^^ >initCustomEvent : (type: string, bubbles?: boolean, cancelable?: boolean, detail?: any) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^ >'hello' : "hello" > : ^^^^^^^ >true : true diff --git a/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types b/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types index d1a6b4fedba8c..e150afa7a438d 100644 --- a/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types +++ b/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types @@ -89,7 +89,7 @@ test(b); >test(b) : void > : ^^^^ >test : (x: typeof a) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b : { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: any; }; }; }; }; }; }; }; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/cyclicTypeInstantiation.types b/tests/baselines/reference/cyclicTypeInstantiation.types index c4072505818fb..6e204e0f7950c 100644 --- a/tests/baselines/reference/cyclicTypeInstantiation.types +++ b/tests/baselines/reference/cyclicTypeInstantiation.types @@ -15,14 +15,14 @@ function foo() { b: typeof x; >b : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ }; return x; >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ } function bar() { @@ -39,14 +39,14 @@ function bar() { b: typeof x; >b : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ }; return x; >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ } var a = foo(); @@ -55,7 +55,7 @@ var a = foo(); >foo() : { a: string; b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : () => { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var b = bar(); >b : { a: string; b: any; } @@ -63,7 +63,7 @@ var b = bar(); >bar() : { a: string; b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^ >bar : () => { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ // Relating types of a and b produces instantiations of the cyclic anonymous types in foo and bar a = b; diff --git a/tests/baselines/reference/declFileConstructors.types b/tests/baselines/reference/declFileConstructors.types index ee58a95ca2675..87c70f851a3b7 100644 --- a/tests/baselines/reference/declFileConstructors.types +++ b/tests/baselines/reference/declFileConstructors.types @@ -49,11 +49,11 @@ export class ConstructorWithRestParamters { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -167,11 +167,11 @@ class GlobalConstructorWithRestParamters { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/declFileFunctions.types b/tests/baselines/reference/declFileFunctions.types index 11304bc130d59..e9e108d197fc4 100644 --- a/tests/baselines/reference/declFileFunctions.types +++ b/tests/baselines/reference/declFileFunctions.types @@ -40,30 +40,30 @@ export function fooWithRestParameters(a: string, ...rests: string[]) { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } export function fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ export function fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ export function fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -78,7 +78,7 @@ export function fooWithSingleOverload(a: string): string; export function fooWithSingleOverload(a: any) { >fooWithSingleOverload : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any return a; @@ -165,30 +165,30 @@ function nonExportedFooWithRestParameters(a: string, ...rests: string[]) { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } function nonExportedFooWithOverloads(a: string): string; >nonExportedFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function nonExportedFooWithOverloads(a: number): number; >nonExportedFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function nonExportedFooWithOverloads(a: any): any { >nonExportedFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -235,29 +235,29 @@ function globalfooWithRestParameters(a: string, ...rests: string[]) { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } function globalfooWithOverloads(a: string): string; >globalfooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function globalfooWithOverloads(a: number): number; >globalfooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function globalfooWithOverloads(a: any): any { >globalfooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; diff --git a/tests/baselines/reference/declFileGenericType.types b/tests/baselines/reference/declFileGenericType.types index 95eb243299913..00cc067ed5677 100644 --- a/tests/baselines/reference/declFileGenericType.types +++ b/tests/baselines/reference/declFileGenericType.types @@ -80,43 +80,43 @@ export var a: C.A; export var b = C.F; >b : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^^ >C.F : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^^ >C : typeof C > : ^^^^^^^^ >F : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^^ export var c = C.F2; >c : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C.F2 : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >F2 : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ export var d = C.F3; >d : (x: T) => C.A[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C.F3 : (x: T) => C.A[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >F3 : (x: T) => C.A[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ export var e = C.F4; ->e : >(x: T) => C.A[] -> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->C.F4 : >(x: T) => C.A[] -> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>e : >(x: T) => Array> +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ +>C.F4 : >(x: T) => Array> +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ ->F4 : >(x: T) => C.A[] -> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>F4 : >(x: T) => Array> +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ export var x = (new C.D>(new C.A())).val; >x : C.A @@ -164,11 +164,11 @@ export var g = C.F5>(); >C.F5>() : C.A > : ^^^^^^^^ >C.F5 : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >C : typeof C > : ^^^^^^^^ >F5 : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >C : any > : ^^^ >C : any @@ -194,11 +194,11 @@ export interface i extends C.A { } export var j = C.F6; >j : >(x: T) => T -> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ >C.F6 : >(x: T) => T -> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >F6 : >(x: T) => T -> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types index b857a00cb678a..e87f98845ca8c 100644 --- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types +++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types @@ -68,5 +68,5 @@ var m2: { }; export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declFileMethods.types b/tests/baselines/reference/declFileMethods.types index 84c0767e44d3c..a99cfdc9e4c58 100644 --- a/tests/baselines/reference/declFileMethods.types +++ b/tests/baselines/reference/declFileMethods.types @@ -44,30 +44,30 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } public fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ public fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -114,29 +114,29 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private privateFooWithOverloads(a: number): number; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private privateFooWithOverloads(a: any): any { >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -183,29 +183,29 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ static staticFooWithOverloads(a: number): number; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ static staticFooWithOverloads(a: any): any { >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -252,29 +252,29 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private static privateStaticFooWithOverloads(a: number): number; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private static privateStaticFooWithOverloads(a: any): any { >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -310,13 +310,13 @@ export interface I1 { fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ } @@ -365,30 +365,30 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } public fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ public fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -435,29 +435,29 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private privateFooWithOverloads(a: number): number; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private privateFooWithOverloads(a: any): any { >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -504,29 +504,29 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ static staticFooWithOverloads(a: number): number; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ static staticFooWithOverloads(a: any): any { >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -573,29 +573,29 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private static privateStaticFooWithOverloads(a: number): number; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private static privateStaticFooWithOverloads(a: any): any { >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -631,13 +631,13 @@ interface I2 { fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types index e40862df51dbe..7f1ba3daba4e5 100644 --- a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types +++ b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types @@ -3,25 +3,25 @@ === declFileTypeAnnotationStringLiteral.ts === function foo(a: "hello"): number; >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : "hello" > : ^^^^^^^ function foo(a: "name"): string; >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : "name" > : ^^^^^^ function foo(a: string): string | number; >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function foo(a: string): string | number { >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/declFileTypeAnnotationTupleType.types b/tests/baselines/reference/declFileTypeAnnotationTupleType.types index 63a4466c0b385..87d52435015d5 100644 --- a/tests/baselines/reference/declFileTypeAnnotationTupleType.types +++ b/tests/baselines/reference/declFileTypeAnnotationTupleType.types @@ -78,7 +78,7 @@ var x: [g, m.g, () => c] = [new g(), new m.g(), var y = x; >y : [g, m.g, () => c] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >x : [g, m.g, () => c] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ diff --git a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types index 992a4b0892aa4..0d4f6f49920bf 100644 --- a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types +++ b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types @@ -91,9 +91,9 @@ module m { }; export var x3 = x; >x3 : { (): m2.public1[]; [n: number]: private1; [s: string]: m2.public1; x: private1; y: m2.public1; method(): private1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ >x : { (): m2.public1[]; [n: number]: private1; [s: string]: m2.public1; x: private1; y: m2.public1; method(): private1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ // Function type export var y: (a: private1) => m2.public1; @@ -106,9 +106,9 @@ module m { export var y2 = y; >y2 : (a: private1) => m2.public1 -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (a: private1) => m2.public1 -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // constructor type export var z: new (a: private1) => m2.public1; @@ -121,7 +121,7 @@ module m { export var z2 = z; >z2 : new (a: private1) => m2.public1 -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >z : new (a: private1) => m2.public1 -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/declFileTypeofFunction.types b/tests/baselines/reference/declFileTypeofFunction.types index c4981ebc6632d..b064b68f0e49d 100644 --- a/tests/baselines/reference/declFileTypeofFunction.types +++ b/tests/baselines/reference/declFileTypeofFunction.types @@ -3,45 +3,45 @@ === declFileTypeofFunction.ts === function f(n: typeof f): string; >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function f(n: typeof g): string; >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function f() { return undefined; } >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ function g(n: typeof g): number; >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function g(n: typeof f): number; >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function g() { return undefined; } >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -70,15 +70,15 @@ function foo(): typeof foo { } var foo1: typeof foo; >foo1 : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ var foo2 = foo; >foo2 : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ var foo3 = function () { >foo3 : () => any diff --git a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types index d86a171bcda65..655e12f022750 100644 --- a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types +++ b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types @@ -79,9 +79,9 @@ const fp = { l10ns: {} } as FlatpickrFn; export default fp.l10ns; >fp.l10ns : { ar?: import("locale").CustomLocale; bg?: import("locale").CustomLocale; } & { default: import("locale").Locale; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ >fp : FlatpickrFn > : ^^^^^^^^^^^ >l10ns : { ar?: import("locale").CustomLocale; bg?: import("locale").CustomLocale; } & { default: import("locale").Locale; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitBindingPatternsUnused.types b/tests/baselines/reference/declarationEmitBindingPatternsUnused.types index e90602d71a152..69b207c307985 100644 --- a/tests/baselines/reference/declarationEmitBindingPatternsUnused.types +++ b/tests/baselines/reference/declarationEmitBindingPatternsUnused.types @@ -161,8 +161,8 @@ function referencedInInferredType({ name: alias }: Named) { > : ^^^^^^ return null! as Named2 ->null! as Named2 : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +>null! as Named2 : { name: typeof alias; } +> : ^^^^^^^^ ^^^ >null! : null > : ^^^^ } @@ -247,11 +247,11 @@ class NotReferencedClass { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -267,11 +267,11 @@ class NotReferencedClass { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -291,11 +291,11 @@ class ReferencedInCodeClas { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -311,11 +311,11 @@ class ReferencedInCodeClas { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -331,11 +331,11 @@ class ReferencedInCodeClas { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -359,11 +359,11 @@ class ReferencedInSignartureClass { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types b/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types index cfea4d3537eae..cf6f25b050c74 100644 --- a/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types +++ b/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types @@ -134,9 +134,9 @@ class Foo { export const t1 = Foo[k1]; >t1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo[k1] : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >k1 : unique symbol @@ -144,9 +144,9 @@ export const t1 = Foo[k1]; export const t2 = new Foo()[k1]; >t2 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Foo()[k1] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Foo() : Foo > : ^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types index 01e38f4b75613..48ec6ff7ec840 100644 --- a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types +++ b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types @@ -38,11 +38,11 @@ export function bar(): RootProps; === r/entry.ts === import { foo } from "foo"; >foo : () => [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ import { bar } from "root"; >bar : () => import("node_modules/root/index").RootProps -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ export const x = foo(); >x : [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] @@ -50,7 +50,7 @@ export const x = foo(); >foo() : [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ export const y = bar(); >y : import("node_modules/root/index").RootProps @@ -58,5 +58,5 @@ export const y = bar(); >bar() : import("node_modules/root/index").RootProps > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : () => import("node_modules/root/index").RootProps -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types b/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types index a9efb0b2d8439..ffc3b71256ec0 100644 --- a/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types +++ b/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types @@ -36,13 +36,13 @@ export declare const e: { === projD/index.ts === import {e} from "../projC"; >e : { f: (foo: import("projA/index").Foo) => boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ export const d = {e}; >d : { e: { f: (foo: import("projA/index").Foo) => boolean; }; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^ >{e} : { e: { f: (foo: import("projA/index").Foo) => boolean; }; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^ >e : { f: (foo: import("projA/index").Foo) => boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types b/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types index 96f3ad1eaa8f4..eb1fa04abe6e0 100644 --- a/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types +++ b/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types @@ -12,7 +12,7 @@ export const x = add(import("./sub")); >add(import("./sub")) : typeof import("sub") > : ^^^^^^^^^^^^^^^^^^^^ >add : (x: Promise) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >import("./sub") : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"./sub" : "./sub" diff --git a/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types b/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types index 80161e157d92a..e57c9a4e2c90e 100644 --- a/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types +++ b/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types @@ -23,9 +23,9 @@ export interface Rect

{ export const Point = (x: number, y: number): Point => ({ x, y }); >Point : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >(x: number, y: number): Point => ({ x, y }) : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >y : number @@ -63,15 +63,15 @@ Point.zero = (): Point => Point(0, 0); >Point.zero : () => Point > : ^^^^^^ >Point : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >zero : () => Point -> : ^^^^^^^^^^^ +> : ^^^^^^ >(): Point => Point(0, 0) : () => Point > : ^^^^^^ >Point(0, 0) : Point > : ^^^^^ >Point : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >0 : 0 > : ^ >0 : 0 diff --git a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types index 606c4666a5b4c..d66f2da8943ea 100644 --- a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types +++ b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types @@ -47,13 +47,13 @@ export let lazyCard = () => import('./Card').then(a => a.default); >import('./Card').then(a => a.default) : Promise<(suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; }> > : ^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >import('./Card').then : (onfulfilled?: (value: typeof import("Card")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import('./Card') : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'./Card' : "./Card" > : ^^^^^^^^ >then : (onfulfilled?: (value: typeof import("Card")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >a => a.default : (a: typeof import("Card")) => (suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : typeof import("Card") diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends5.types b/tests/baselines/reference/declarationEmitExpressionInExtends5.types index 22c36dcc0f375..dcc4da92fbfaa 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends5.types +++ b/tests/baselines/reference/declarationEmitExpressionInExtends5.types @@ -21,7 +21,7 @@ namespace Test >getClass() : IFace > : ^^^^^ >getClass : () => new () => T -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ { } diff --git a/tests/baselines/reference/declarationEmitFBoundedTypeParams.types b/tests/baselines/reference/declarationEmitFBoundedTypeParams.types index 85a28617c1b6d..16cbf2e94cc87 100644 --- a/tests/baselines/reference/declarationEmitFBoundedTypeParams.types +++ b/tests/baselines/reference/declarationEmitFBoundedTypeParams.types @@ -15,11 +15,11 @@ function append(result: a[], value: b): a[] { >result.push(value) : number > : ^^^^^^ >result.push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : a[] > : ^^^ >push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >value : b > : ^ diff --git a/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types b/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types index f125b22cd58b7..83d3499b3b356 100644 --- a/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types +++ b/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types @@ -15,19 +15,19 @@ var prop12: X<(() => Tany)>; // spaces before the first type argument function f1() { // Inferred return type >f1 : () => X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^ ^^ return prop11; >prop11 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } function f2() { // Inferred return type >f2 : () => X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^ ^^ return prop12; >prop12 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } function f3(): X< () => Tany> { // written with space before type argument >f3 : () => X<(() => Tany)> @@ -35,7 +35,7 @@ function f3(): X< () => Tany> { // written with space before type argument return prop11; >prop11 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } function f4(): X<(() => Tany)> { // written type with parenthesis >f4 : () => X<(() => Tany)> @@ -43,7 +43,7 @@ function f4(): X<(() => Tany)> { // written type with parenthesis return prop12; >prop12 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } class Y { >Y : Y @@ -55,7 +55,7 @@ var prop2: Y() => Tany>; // No space after second type argument var prop2: Y() => Tany>; // space after second type argument >prop2 : Y() => Tany> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^ ^ var prop3: Y< () => Tany, () => Tany>; // space before first type argument >prop3 : Y<(() => Tany), () => Tany> diff --git a/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types b/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types index 63632f2d60941..10ecc5ba5a491 100644 --- a/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types +++ b/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types @@ -37,7 +37,7 @@ export default class extends getGreeterBase() { >getGreeterBase() : Greeter > : ^^^^^^^ >getGreeterBase : () => GreeterConstructor -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types index 903c6931acd85..8a0be1b7d427f 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types @@ -39,7 +39,7 @@ import * as _whatever from "p2"; import { getA } from "typescript-fsa"; >getA : () => import("/p1/node_modules/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const a = getA(); >a : import("/p1/node_modules/typescript-fsa/index").A @@ -47,7 +47,7 @@ export const a = getA(); >getA() : import("/p1/node_modules/typescript-fsa/index").A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getA : () => import("/p1/node_modules/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === /p2/index.d.ts === export const a: import("typescript-fsa").A; diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types index 8433f37c76da8..787f5aad301af 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types @@ -23,7 +23,7 @@ import * as _whatever from "p2"; import { getA } from "typescript-fsa"; >getA : () => import("/cache/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const a = getA(); >a : import("/cache/typescript-fsa/index").A @@ -31,7 +31,7 @@ export const a = getA(); >getA() : import("/cache/typescript-fsa/index").A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getA : () => import("/cache/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === /p2/index.d.ts === export const a: import("typescript-fsa").A; diff --git a/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types b/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types index dfd659796fdde..b19648a579c9b 100644 --- a/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types +++ b/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types @@ -30,11 +30,11 @@ export function child1(prototype: ParentThing) { >prototype.add = (a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >prototype.add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prototype : ParentThing > : ^^^^^^^^^^^ >add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types b/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types index a07fd03cccd09..38f004b4fd947 100644 --- a/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types +++ b/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types @@ -14,7 +14,7 @@ export function createNamed(): Named { === a.ts === import { createNamed } from "./b"; >createNamed : () => import("b").Named -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ export const Value = createNamed(); >Value : import("b").Named @@ -22,5 +22,5 @@ export const Value = createNamed(); >createNamed() : import("b").Named > : ^^^^^^^^^^^^^^^^^ >createNamed : () => import("b").Named -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/declarationEmitGlobalThisPreserved.types b/tests/baselines/reference/declarationEmitGlobalThisPreserved.types index f109e22b50b09..7bdf6a9561e19 100644 --- a/tests/baselines/reference/declarationEmitGlobalThisPreserved.types +++ b/tests/baselines/reference/declarationEmitGlobalThisPreserved.types @@ -16,21 +16,21 @@ export const a1 = (isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => i >(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => isNaN : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const a2 = (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN; >a2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -38,33 +38,33 @@ export const a2 = (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^ ^^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const a3 = (isNaN: number, bar: typeof globalThis.isNaN): typeof globalThis.isNaN => bar; >a3 : (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -74,21 +74,21 @@ export const a3 = (isNaN: number, bar: typeof globalThis.isNaN): typeof globalTh >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const a4 = (isNaN: number): typeof globalThis.isNaN => globalThis.isNaN; >a4 : (isNaN: number) => typeof globalThis.isNaN @@ -98,17 +98,17 @@ export const a4 = (isNaN: number): typeof globalThis.isNaN => globalThis.isNaN; >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const aObj = { >aObj : { a1: (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN; a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN; a3: (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN; a4: (isNaN: number) => typeof globalThis.isNaN; } @@ -122,21 +122,21 @@ export const aObj = { >(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => isNaN : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN, >a2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -144,33 +144,33 @@ export const aObj = { >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^ ^^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a3: (isNaN: number, bar: typeof globalThis.isNaN): typeof globalThis.isNaN => bar, >a3 : (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -180,21 +180,21 @@ export const aObj = { >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a4: (isNaN: number): typeof globalThis.isNaN => globalThis.isNaN, >a4 : (isNaN: number) => typeof globalThis.isNaN @@ -204,356 +204,356 @@ export const aObj = { >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type a4Return = ReturnType>; >a4Return : boolean > : ^^^^^^^ ->a4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>a4 : (isNaN: number) => typeof globalThis.isNaN +> : ^ ^^ ^^^^^ export type a4oReturn = ReturnType>; >a4oReturn : boolean > : ^^^^^^^ ->aObj : { a1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; a3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; a4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>aObj : { a1: (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN; a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN; a3: (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN; a4: (isNaN: number) => typeof globalThis.isNaN; } +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^ ^^^ export const b1 = (isNaN: typeof globalThis.isNaN) => isNaN; >b1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN) => isNaN : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const b2 = (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN; >b2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const b3 = (isNaN: number, bar: typeof globalThis.isNaN) => bar; >b3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number, bar: typeof globalThis.isNaN) => bar : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const b4 = (isNaN: number) => globalThis.isNaN; >b4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number) => globalThis.isNaN : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const bObj = { >bObj : { b1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; b3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; b4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ >{ b1: (isNaN: typeof globalThis.isNaN) => isNaN, b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN, b3: (isNaN: number, bar: typeof globalThis.isNaN) => bar, b4: (isNaN: number) => globalThis.isNaN,} : { b1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; b3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; b4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ b1: (isNaN: typeof globalThis.isNaN) => isNaN, >b1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN) => isNaN : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN, >b2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b3: (isNaN: number, bar: typeof globalThis.isNaN) => bar, >b3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number, bar: typeof globalThis.isNaN) => bar : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b4: (isNaN: number) => globalThis.isNaN, >b4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number) => globalThis.isNaN : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type b4Return = ReturnType>; >b4Return : boolean > : ^^^^^^^ >b4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ export type b4oReturn = ReturnType>; >b4oReturn : boolean > : ^^^^^^^ >bObj : { b1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; b3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; b4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ export function c1(isNaN: typeof globalThis.isNaN) { return isNaN } >c1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN } >c2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function c3(isNaN: number, bar: typeof globalThis.isNaN) { return bar } >c3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function c4(isNaN: number) { return globalThis.isNaN; } >c4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const cObj = { >cObj : { c1(isNaN: typeof globalThis.isNaN): (number: number) => boolean; c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): (number: number) => boolean; c3(isNaN: number, bar: typeof globalThis.isNaN): (number: number) => boolean; c4(isNaN: number): (number: number) => boolean; } -> : ^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^ >{ c1(isNaN: typeof globalThis.isNaN) { return isNaN }, c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN }, c3(isNaN: number, bar: typeof globalThis.isNaN) { return bar }, c4(isNaN: number) { return globalThis.isNaN; },} : { c1(isNaN: typeof globalThis.isNaN): (number: number) => boolean; c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): (number: number) => boolean; c3(isNaN: number, bar: typeof globalThis.isNaN): (number: number) => boolean; c4(isNaN: number): (number: number) => boolean; } -> : ^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^ c1(isNaN: typeof globalThis.isNaN) { return isNaN }, >c1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN }, >c2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c3(isNaN: number, bar: typeof globalThis.isNaN) { return bar }, >c3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c4(isNaN: number) { return globalThis.isNaN; }, >c4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type c4Return = ReturnType>; >c4Return : boolean > : ^^^^^^^ >c4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ export type c4oReturn = ReturnType>; >c4oReturn : boolean > : ^^^^^^^ >cObj : { c1(isNaN: typeof globalThis.isNaN): (number: number) => boolean; c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): (number: number) => boolean; c3(isNaN: number, bar: typeof globalThis.isNaN): (number: number) => boolean; c4(isNaN: number): (number: number) => boolean; } -> : ^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^ export function d1() { >d1 : () => () => (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -565,27 +565,27 @@ export function d1() { >(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => isNaN : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^^^^ +>fn : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^ ^^ ^^^^^ } export function d2() { @@ -598,39 +598,39 @@ export function d2() { >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^ ^^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^ +>fn : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^ ^^ ^^ ^^^ ^^^^^ } export function d3() { @@ -645,27 +645,27 @@ export function d3() { >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^ ^^ ^^^^^ +>fn : (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^ ^^ ^^ ^^ ^^^^^ } export function d4() { @@ -680,30 +680,30 @@ export function d4() { >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: number) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: number) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^^^^ +>fn : (isNaN: number) => typeof globalThis.isNaN +> : ^ ^^ ^^^^^ } export type d4Return = ReturnType>>>; >d4Return : boolean > : ^^^^^^^ ->d4 : () => () => (isNaN: number) => (number: number) => boolean -> : ^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>d4 : () => () => (isNaN: number) => typeof globalThis.isNaN +> : ^^^^^^^^^^^^^ ^^ ^^^^^ export class A { >A : A @@ -711,94 +711,94 @@ export class A { method1(isNaN: typeof globalThis.isNaN) { return isNaN } >method1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ method2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN } >method2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ method3(isNaN: number, bar: typeof globalThis.isNaN) { return bar } >method3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ method4(isNaN: number) { return globalThis.isNaN; } >method4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export function fromParameter(isNaN: number, bar: typeof globalThis.isNaN) { >fromParameter : (isNaN: number, bar: typeof globalThis.isNaN) => () => { bar: (number: number) => boolean; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return { bar } }; >function() { return { bar } } : () => { bar: (number: number) => boolean; } -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >{ bar } : { bar: (number: number) => boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } // Non-inference cases. @@ -807,47 +807,47 @@ export const explicitlyTypedVariable: (isNaN: typeof globalThis.isNaN) => typeof >explicitlyTypedVariable : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(isNaN) => isNaN : (isNaN: (number: number) => boolean) => (number: number) => boolean -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function explicitlyTypedFunction(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN { >explicitlyTypedFunction : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return isNaN; >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ }; @@ -857,13 +857,13 @@ export type AsObjectProperty = { isNaN: typeof globalThis.isNaN; >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export class AsClassProperty { @@ -872,31 +872,31 @@ export class AsClassProperty { isNaN?: typeof globalThis.isNaN; >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type AsFunctionType = (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN; >AsFunctionType : AsFunctionType > : ^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types b/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types index cf1c41d6fdd67..64615abd16861 100644 --- a/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types +++ b/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types @@ -49,9 +49,9 @@ const b = dropPrivateProps2({foo: 42, _bar: 'secret'}); // type is {foo: number, === api.ts === import {excludePrivateKeys1, excludePrivateKeys2} from './internal'; >excludePrivateKeys1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >excludePrivateKeys2 : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export const dropPrivateProps1 = (obj: Obj) => excludePrivateKeys1(obj); >dropPrivateProps1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } @@ -63,7 +63,7 @@ export const dropPrivateProps1 = (obj: Obj) => excludePrivateKeys1(obj); >excludePrivateKeys1(obj) : { [K in import("internal").PublicKeys1]: Obj[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >excludePrivateKeys1 : (obj: Obj_1) => { [K in import("internal").PublicKeys1]: Obj_1[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >obj : Obj > : ^^^ @@ -77,7 +77,7 @@ export const dropPrivateProps2 = (obj: Obj) => excludePrivateKeys2(obj); >excludePrivateKeys2(obj) : { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >excludePrivateKeys2 : (obj: Obj_1) => { [K in keyof Obj_1 extends infer T ? T extends keyof Obj_1 ? T extends `_${string}` ? never : T : never : never]: Obj_1[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : Obj > : ^^^ diff --git a/tests/baselines/reference/declarationEmitKeywordDestructuring.types b/tests/baselines/reference/declarationEmitKeywordDestructuring.types index 7cb220e22f732..3c8d2c42cd4de 100644 --- a/tests/baselines/reference/declarationEmitKeywordDestructuring.types +++ b/tests/baselines/reference/declarationEmitKeywordDestructuring.types @@ -33,76 +33,76 @@ type P = { function f1({ enum: _enum, ...rest }: P) { >f1 : ({ enum: _enum, ...rest }: P) => { function: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >enum : any > : ^^^ >_enum : boolean > : ^^^^^^^ >rest : { function: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { function: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f2({ function: _function, ...rest }: P) { >f2 : ({ function: _function, ...rest }: P) => { enum: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >function : any > : ^^^ >_function : boolean > : ^^^^^^^ >rest : { enum: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f3({ abstract: _abstract, ...rest }: P) { >f3 : ({ abstract: _abstract, ...rest }: P) => { enum: boolean; function: boolean; async: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >abstract : any > : ^^^ >_abstract : boolean > : ^^^^^^^ >rest : { enum: boolean; function: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; function: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f4({ async: _async, ...rest }: P) { >f4 : ({ async: _async, ...rest }: P) => { enum: boolean; function: boolean; abstract: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >async : any > : ^^^ >_async : boolean > : ^^^^^^^ >rest : { enum: boolean; function: boolean; abstract: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; function: boolean; abstract: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f5({ await: _await, ...rest }: P) { >f5 : ({ await: _await, ...rest }: P) => { enum: boolean; function: boolean; abstract: boolean; async: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >await : any > : ^^^ >_await : boolean > : ^^^^^^^ >rest : { enum: boolean; function: boolean; abstract: boolean; async: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; function: boolean; abstract: boolean; async: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types index 868187531d97f..4ef121fdb266a 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types +++ b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types @@ -30,18 +30,18 @@ function fn }>(sliceIndex: T): AllArg { export default { fn }; >{ fn } : { fn: ; }>(sliceIndex: T) => AllArg; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >fn : ; }>(sliceIndex: T) => AllArg -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ === reexport.ts === import test from "./types"; >test : { fn: unknown; } ? { [K in keyof T_1]: T["x"][K]; } : never; }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export default { test }; >{ test } : { test: { fn: unknown; } ? { [K in keyof T_1]: T["x"][K]; } : never; }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; }; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : { fn: unknown; } ? { [K in keyof T_1]: T["x"][K]; } : never; }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } -> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types b/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types index 41b2ca504ae08..5fdda7852aa2c 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types +++ b/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types @@ -33,23 +33,23 @@ export const timestamp = x.now(); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.now() : { [x.timestampSymbol]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x.now : () => { [x.timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.now : () => typeof x.Timestamp +> : ^^^^^^ ^^^^^^^^^^^ >x : typeof x > : ^^^^^^^^ ->now : () => { [x.timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>now : () => typeof x.Timestamp +> : ^^^^^^ ^^^^^^^^^^^ === c.ts === import { now } from "./a"; ->now : () => { [timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>now : () => typeof import("a").Timestamp +> : ^^^^^^ ^^^ ^^^^^^^^^ export const timestamp = now(); >timestamp : { [timestampSymbol]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >now() : { [timestampSymbol]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->now : () => { [timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>now : () => typeof import("a").Timestamp +> : ^^^^^^ ^^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitMixinPrivateProtected.types b/tests/baselines/reference/declarationEmitMixinPrivateProtected.types index 6e9cf35813a0c..0e995db11abe2 100644 --- a/tests/baselines/reference/declarationEmitMixinPrivateProtected.types +++ b/tests/baselines/reference/declarationEmitMixinPrivateProtected.types @@ -38,7 +38,7 @@ export default mix(DisposableMixin); >mix(DisposableMixin) : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ >mix : (mixin: TMix) => TMix -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >DisposableMixin : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -48,7 +48,7 @@ export class Monitor extends mix(DisposableMixin) { >mix(DisposableMixin) : DisposableMixin > : ^^^^^^^^^^^^^^^ >mix : (mixin: TMix) => TMix -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >DisposableMixin : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -95,7 +95,7 @@ export default class extends mix(DisposableMixin) { >mix(DisposableMixin) : DisposableMixin > : ^^^^^^^^^^^^^^^ >mix : (mixin: TMix) => TMix -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >DisposableMixin : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types b/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types index 01fd1aa067645..ee78f0ea0126c 100644 --- a/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types +++ b/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types @@ -7,9 +7,9 @@ declare module "bar" { var before: typeof func; >before : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export function normal(): void; >normal : () => void @@ -23,9 +23,9 @@ declare module "bar" { var after: typeof func; >after : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export {} } diff --git a/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types b/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types index 3d16c23222cf0..4fb89d6c2e1e7 100644 --- a/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types +++ b/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types @@ -22,10 +22,10 @@ export function enumFromStrings() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.create(null) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/declarationEmitNestedGenerics.types b/tests/baselines/reference/declarationEmitNestedGenerics.types index 63baa90e268fc..5fa699c63c485 100644 --- a/tests/baselines/reference/declarationEmitNestedGenerics.types +++ b/tests/baselines/reference/declarationEmitNestedGenerics.types @@ -17,8 +17,8 @@ function f(p: T) { >null as any : any return g; ->g : (x: T_1) => T -> : ^ ^^ ^^ ^^^^^^ +>g : (x: T_1) => typeof p +> : ^ ^^ ^^ ^^^^^ } function g(x: T) { diff --git a/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types b/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types index 28178dc151668..8322418902508 100644 --- a/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types +++ b/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types @@ -74,12 +74,12 @@ const A = styled.div``; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled.div`` : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >styled : import("node_modules/styled-components/index").StyledInterface > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >`` : "" > : ^^ @@ -88,12 +88,12 @@ const B = styled.div``; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled.div`` : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >styled : import("node_modules/styled-components/index").StyledInterface > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >`` : "" > : ^^ @@ -102,12 +102,12 @@ export const C = styled.div``; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled.div`` : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >styled : import("node_modules/styled-components/index").StyledInterface > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >`` : "" > : ^^ @@ -115,11 +115,11 @@ export default Object.assign(A, { >Object.assign(A, { B, C}) : string & import("node_modules/styled-components/index").StyledComponentBase<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> & import("node_modules/styled-components/node_modules/hoist-non-react-statics/index").NonReactStatics<"div"> & { B: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; C: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >A : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ B, C} : { B: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; C: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; } diff --git a/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types b/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types index 53dc116418bfb..e6b88fb9b02b6 100644 --- a/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types +++ b/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types @@ -25,7 +25,7 @@ export class Wrapper { private proxy(fn: (options: T) => U): (options: T) => U; >proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (options: T) => U > : ^ ^^ ^^^^^ >options : T @@ -35,7 +35,7 @@ export class Wrapper { private proxy(fn: (options?: T) => U, noArgs: true): (options?: T) => U; >proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (options?: T) => U > : ^ ^^^ ^^^^^ >options : T @@ -49,7 +49,7 @@ export class Wrapper { private proxy(fn: (options: T) => U) { >proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (options: T) => U > : ^ ^^ ^^^^^ >options : T @@ -71,13 +71,13 @@ export class Wrapper { >this.proxy(noArgs, true) : (options?: unknown) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^ >this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >noArgs : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >true : true > : ^^^^ @@ -87,13 +87,13 @@ export class Wrapper { >this.proxy(oneArg) : (options: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >oneArg : (input: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ }; } diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types index d253f89bb51b9..617ce0db18401 100644 --- a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types @@ -70,11 +70,11 @@ console.log(nImported); >console.log(nImported) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nImported : "nImported" > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitPathMappingMonorepo.types b/tests/baselines/reference/declarationEmitPathMappingMonorepo.types index 0eced06558919..f063df9870649 100644 --- a/tests/baselines/reference/declarationEmitPathMappingMonorepo.types +++ b/tests/baselines/reference/declarationEmitPathMappingMonorepo.types @@ -3,7 +3,7 @@ === packages/b/src/index.ts === import { a } from "@ts-bug/a"; >a : (text: string) => import("@ts-bug/a").AText -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ export function b(text: string) { >b : (text: string) => import("@ts-bug/a").AText @@ -15,7 +15,7 @@ export function b(text: string) { >a(text) : import("@ts-bug/a").AText > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : (text: string) => import("@ts-bug/a").AText -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ >text : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types index 5d28748f384b6..cf4b630ac09d7 100644 --- a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types +++ b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types @@ -20,7 +20,7 @@ export function scalar(value: string): Scalar { === src/settings/spacing.ts === import { scalar } from '../lib/operators/scalar'; >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ export default { >{ get xs() { return scalar("14px"); }} : { readonly xs: import("src/lib/operators/scalar").Scalar; } @@ -34,7 +34,7 @@ export default { >scalar("14px") : import("src/lib/operators/scalar").Scalar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >"14px" : "14px" > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types index 230d094686618..559a5f7c64d19 100644 --- a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types +++ b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types @@ -20,7 +20,7 @@ export function scalar(value: string): Scalar { === src/settings/spacing.ts === import { scalar } from '../lib/operators/scalar'; >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ export default { >{ get xs() { return scalar("14px"); }} : { readonly xs: import("src/lib/operators/scalar").Scalar; } @@ -34,7 +34,7 @@ export default { >scalar("14px") : import("src/lib/operators/scalar").Scalar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >"14px" : "14px" > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitPromise.types b/tests/baselines/reference/declarationEmitPromise.types index 654befdc253b7..f02fb945d3a92 100644 --- a/tests/baselines/reference/declarationEmitPromise.types +++ b/tests/baselines/reference/declarationEmitPromise.types @@ -41,7 +41,7 @@ export async function runSampleWorks( >[a, b, c, d, e].filter(el => !!el) : bluebird[] > : ^^^^^^^^^^^^^ >[a, b, c, d, e].filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >[a, b, c, d, e] : bluebird[] > : ^^^^^^^^^^^^^ >a : bluebird @@ -55,7 +55,7 @@ export async function runSampleWorks( >e : bluebird > : ^^^^^^^^^^^ >filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >el => !!el : (el: bluebird) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >el : bluebird @@ -88,26 +88,26 @@ export async function runSampleWorks( f.apply(this, result); >f.apply(this, result) : any >f.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >f : (a: A, b?: B, c?: C, d?: D, e?: E) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >result : any let rfunc: typeof func & {} = func as any; // <- This is the only difference >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func as any : any >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ return rfunc >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } export async function runSampleBreaks( @@ -141,7 +141,7 @@ export async function runSampleBreaks( >[a, b, c, d, e].filter(el => !!el) : bluebird[] > : ^^^^^^^^^^^^^ >[a, b, c, d, e].filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >[a, b, c, d, e] : bluebird[] > : ^^^^^^^^^^^^^ >a : bluebird @@ -155,7 +155,7 @@ export async function runSampleBreaks( >e : bluebird > : ^^^^^^^^^^^ >filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >el => !!el : (el: bluebird) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >el : bluebird @@ -188,24 +188,24 @@ export async function runSampleBreaks( f.apply(this, result); >f.apply(this, result) : any >f.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >f : (a: A, b?: B, c?: C, d?: D, e?: E) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >result : any let rfunc: typeof func = func as any; // <- This is the only difference >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func as any : any >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ return rfunc >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types index 510b2ae9feace..e451f7933f272 100644 --- a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types +++ b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types @@ -52,21 +52,21 @@ import { T, Q } from "./lib"; import { create } from "./bbb"; >create : () => () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^ export const fun = create(); >fun : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create() : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create : () => () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^ export const fun2 = create(); >fun2 : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create() : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create : () => () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^ diff --git a/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types b/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types index d5ceba0d9413c..8522029af67f5 100644 --- a/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types +++ b/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types @@ -38,17 +38,17 @@ export function createInstance(): Interface { === index.ts === import { createInstance } from './bug' >createInstance : () => import("bug").Interface -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^^^^^ export const spread = { >spread : { [SYMBOL]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >{ ...createInstance(),} : { [SYMBOL]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ...createInstance(), >createInstance() : import("bug").Interface > : ^^^^^^^^^^^^^^^^^^^^^^^ >createInstance : () => import("bug").Interface -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types index a06c5b5436095..84491c53a5cd4 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types @@ -14,11 +14,11 @@ export const ADMIN = MetadataAccessor.create('1'); >MetadataAccessor.create('1') : MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MetadataAccessor.create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >MetadataAccessor : typeof MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^ >create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >'1' : "1" > : ^^^ diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types index f54bd9230ed2d..9255b91a4871a 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types @@ -14,11 +14,11 @@ export const ADMIN = MetadataAccessor.create('1'); >MetadataAccessor.create('1') : MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MetadataAccessor.create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >MetadataAccessor : typeof MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^ >create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >'1' : "1" > : ^^^ diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types index f263d9425e0e6..4c53f672d436f 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types @@ -14,11 +14,11 @@ export const ADMIN = MetadataAccessor.create('1'); >MetadataAccessor.create('1') : MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MetadataAccessor.create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >MetadataAccessor : typeof MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^ >create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >'1' : "1" > : ^^^ diff --git a/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types b/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types index e8d33f2780fc8..6cadfea0e0fe6 100644 --- a/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types +++ b/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types @@ -32,11 +32,11 @@ export const run = (i: () => E.Whatever): E.Whatever => E.something(i); >E.something(i) : E.Whatever > : ^^^^^^^^^^^^^ >E.something : (cb: () => E.Whatever) => E.Whatever -> : ^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >E : typeof E > : ^^^^^^^^ >something : (cb: () => E.Whatever) => E.Whatever -> : ^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >i : () => E.Whatever -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types b/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types index df185f20feedf..dee5a3fcd4a36 100644 --- a/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types +++ b/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types @@ -92,21 +92,21 @@ export class B extends A { getA() { // TS4053 error >getA : () => { a: string; "123123": string; "12312312312": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ return { >{ ...super.getA(), a: '123', } : { a: string; "123123": string; "12312312312": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ...super.getA(), >super.getA() : import("class").ITest > : ^^^^^^^^^^^^^^^^^^^^^ >super.getA : () => import("class").ITest -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ >super : A > : ^ >getA : () => import("class").ITest -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ a: '123', >a : string diff --git a/tests/baselines/reference/declarationEmitSymlinkPaths.types b/tests/baselines/reference/declarationEmitSymlinkPaths.types index eccb41e1d79c0..cd404eacb0a32 100644 --- a/tests/baselines/reference/declarationEmitSymlinkPaths.types +++ b/tests/baselines/reference/declarationEmitSymlinkPaths.types @@ -27,11 +27,11 @@ export function getNotification(): NotificationResponse { === /packages/search-prefix/src/Store/NotificationStore.ts === import { test } from "search/lib/index"; >test : (a: () => T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ import { getNotification } from "../API/NotificationAPIUtils"; >getNotification : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ export const NotificationScenario = test( >NotificationScenario : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse @@ -39,10 +39,10 @@ export const NotificationScenario = test( >test( getNotification) : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (a: () => T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ getNotification >getNotification : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ); diff --git a/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types b/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types index 82fe174f46887..fe008688925eb 100644 --- a/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types +++ b/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types @@ -47,7 +47,7 @@ declare function thing(x: any): thing.ParsedArgs; export = thing; >thing : (x: any) => thing.ParsedArgs -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ === /node_modules/@types/process/process.d.ts === declare const thing: any; diff --git a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types index 5cd1a4bbcd670..8f899d31613c0 100644 --- a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types +++ b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types @@ -366,19 +366,19 @@ export { type UseQueryReturnType, useQuery }; >UseQueryReturnType : any > : ^^^ >useQuery : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ === node_modules/@tanstack/vue-query/build/modern/index.d.ts === export { UseQueryReturnType, useQuery } from './useQuery-CPqkvEsh.js'; >UseQueryReturnType : any > : ^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ === src/index.mts === import { useQuery } from '@tanstack/vue-query' ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ const baseUrl = 'https://api.publicapis.org/' >baseUrl : "https://api.publicapis.org/" @@ -431,20 +431,20 @@ const testApi = { return fetch(baseUrl + 'entries') >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch((err) => console.log(err)) : Promise > : ^^^^^^^^^^^^ ->fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >baseUrl + 'entries' : string > : ^^^^^^ >baseUrl : "https://api.publicapis.org/" @@ -454,7 +454,7 @@ const testApi = { .then((res) => res.json()) >then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(res) => res.json() : (res: Response) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >res : Response @@ -462,15 +462,15 @@ const testApi = { >res.json() : Promise > : ^^^^^^^^^^^^ >res.json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >res : Response > : ^^^^^^^^ >json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ .then((data) => data.entries) >then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(data) => data.entries : (data: any) => any > : ^ ^^^^^^^^^^^^^ >data : any @@ -481,19 +481,19 @@ const testApi = { > : ^^^ .catch((err) => console.log(err)) ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >(err) => console.log(err) : (err: any) => void > : ^ ^^^^^^^^^^^^^^ >err : any >console.log(err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : any } } @@ -544,10 +544,10 @@ export const useEntries = () => { return useQuery({ >useQuery({ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) }) : import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >{ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) } : { queryKey: readonly ["entries", "list"]; queryFn: () => Promise; select: (data: IEntry[]) => IEntry[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ queryKey: entryKeys.list(), >queryKey : readonly ["entries", "list"] @@ -563,13 +563,13 @@ export const useEntries = () => { queryFn: testApi.getEntries, >queryFn : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi.getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi : { getEntries: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ >getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ select: (data) => data.slice(0, 10) >select : (data: IEntry[]) => IEntry[] @@ -581,11 +581,11 @@ export const useEntries = () => { >data.slice(0, 10) : IEntry[] > : ^^^^^^^^ >data.slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >data : IEntry[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types index e3bfa8f95e594..9db2d2654d9e2 100644 --- a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types +++ b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types @@ -368,9 +368,9 @@ export { type UseQueryReturnType as b, useQuery as u }; >b : any > : ^^^ >useQuery : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ >u : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ === node_modules/@tanstack/vue-query/build/modern/index.d.ts === export { b as UseQueryReturnType, u as useQuery } from './useQuery-CPqkvEsh.js'; @@ -378,15 +378,15 @@ export { b as UseQueryReturnType, u as useQuery } from './useQuery-CPqkvEsh.js'; > : ^^^ >UseQueryReturnType : any > : ^^^ ->u : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>u : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === src/index.mts === import { useQuery } from '@tanstack/vue-query' ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ const baseUrl = 'https://api.publicapis.org/' >baseUrl : "https://api.publicapis.org/" @@ -439,20 +439,20 @@ const testApi = { return fetch(baseUrl + 'entries') >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch((err) => console.log(err)) : Promise > : ^^^^^^^^^^^^ ->fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >baseUrl + 'entries' : string > : ^^^^^^ >baseUrl : "https://api.publicapis.org/" @@ -462,7 +462,7 @@ const testApi = { .then((res) => res.json()) >then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(res) => res.json() : (res: Response) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >res : Response @@ -470,15 +470,15 @@ const testApi = { >res.json() : Promise > : ^^^^^^^^^^^^ >res.json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >res : Response > : ^^^^^^^^ >json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ .then((data) => data.entries) >then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(data) => data.entries : (data: any) => any > : ^ ^^^^^^^^^^^^^ >data : any @@ -489,19 +489,19 @@ const testApi = { > : ^^^ .catch((err) => console.log(err)) ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >(err) => console.log(err) : (err: any) => void > : ^ ^^^^^^^^^^^^^^ >err : any >console.log(err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : any } } @@ -552,10 +552,10 @@ export const useEntries = () => { return useQuery({ >useQuery({ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) }) : import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >{ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) } : { queryKey: readonly ["entries", "list"]; queryFn: () => Promise; select: (data: IEntry[]) => IEntry[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ queryKey: entryKeys.list(), >queryKey : readonly ["entries", "list"] @@ -571,13 +571,13 @@ export const useEntries = () => { queryFn: testApi.getEntries, >queryFn : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi.getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi : { getEntries: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ >getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ select: (data) => data.slice(0, 10) >select : (data: IEntry[]) => IEntry[] @@ -589,11 +589,11 @@ export const useEntries = () => { >data.slice(0, 10) : IEntry[] > : ^^^^^^^^ >data.slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >data : IEntry[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types index 7c52ff20f0b57..713456f1a3fd9 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types @@ -23,7 +23,7 @@ export default createExperiment({ >createExperiment({ name: "foo"}) : Experiment<"foo"> > : ^^^^^^^^^^^^^^^^^ >createExperiment : (options: Experiment) => Experiment -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "foo"} : { name: "foo"; } > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types index 5358884a9f0da..e5fff80e18a55 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types @@ -23,7 +23,7 @@ export default createExperiment({ >createExperiment({ name: "foo"}) : Experiment<"foo"> > : ^^^^^^^^^^^^^^^^^ >createExperiment : (options: Experiment) => Experiment -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "foo"} : { name: "foo"; } > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types b/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types index 440bef4b41f20..d9f592e783a0b 100644 --- a/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types +++ b/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types @@ -35,7 +35,7 @@ export const useCsvParser = () => { >useRef(null) : MutableRefObject > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >useRef : (current: T) => MutableRefObject -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ return parserRef; >parserRef : MutableRefObject diff --git a/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types b/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types index ed6ad064b82bf..06476601d6610 100644 --- a/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types +++ b/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types @@ -42,7 +42,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >window.customElements.define("my-html5-element", mod.HTML5Element) : void > : ^^^^ >window.customElements.define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >window.customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis @@ -50,7 +50,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"my-html5-element" : "my-html5-element" > : ^^^^^^^^^^^^^^^^^^ >mod.HTML5Element : typeof mod.HTML5Element @@ -76,7 +76,7 @@ if (document !== mod.default) { >document.body.appendChild(mod.blogPost) : Element > : ^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -84,7 +84,7 @@ if (document !== mod.default) { >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >mod.blogPost : Element > : ^^^^^^^ >mod : typeof mod diff --git a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types index 519d4ee76d202..5a933b6486042 100644 --- a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types +++ b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types @@ -37,7 +37,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >window.customElements.define("my-html5-element", mod.HTML5Element) : void > : ^^^^ >window.customElements.define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >window.customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis @@ -45,7 +45,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"my-html5-element" : "my-html5-element" > : ^^^^^^^^^^^^^^^^^^ >mod.HTML5Element : any @@ -71,7 +71,7 @@ if (document !== mod.default) { >document.body.appendChild(mod.blogPost) : any > : ^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -79,7 +79,7 @@ if (document !== mod.default) { >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >mod.blogPost : any > : ^^^ >mod : any diff --git a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types index df9bae4e79768..f4b3ed62e8924 100644 --- a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types +++ b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types @@ -37,7 +37,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >window.customElements.define("my-html5-element", mod.HTML5Element) : void > : ^^^^ >window.customElements.define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >window.customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis @@ -45,7 +45,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"my-html5-element" : "my-html5-element" > : ^^^^^^^^^^^^^^^^^^ >mod.HTML5Element : typeof mod.HTML5Element @@ -71,7 +71,7 @@ if (document !== mod.default) { >document.body.appendChild(mod.blogPost) : Element > : ^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -79,7 +79,7 @@ if (document !== mod.default) { >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >mod.blogPost : Element > : ^^^^^^^ >mod : typeof mod diff --git a/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types b/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types index 35e17b1248a57..15f33fb70a207 100644 --- a/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types +++ b/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types @@ -9,11 +9,11 @@ mod.doNativeThing("good"); >mod.doNativeThing("good") : unknown > : ^^^^^^^ >mod.doNativeThing : (flag: string) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >mod : typeof mod > : ^^^^^^^^^^ >doNativeThing : (flag: string) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"good" : "good" > : ^^^^^^ diff --git a/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types b/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types index f1a4fa538e3f2..1b40a0f7c079e 100644 --- a/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types +++ b/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types @@ -11,13 +11,13 @@ namespace foo { export const obj = { >obj : { bar: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >{ bar } : { bar: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ bar >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/declarationMaps.types b/tests/baselines/reference/declarationMaps.types index 60cd1de5382e9..dd9f1dd9a8218 100644 --- a/tests/baselines/reference/declarationMaps.types +++ b/tests/baselines/reference/declarationMaps.types @@ -48,5 +48,5 @@ var m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationMapsMultifile.types b/tests/baselines/reference/declarationMapsMultifile.types index 71f80c13e7764..a39bd25e00833 100644 --- a/tests/baselines/reference/declarationMapsMultifile.types +++ b/tests/baselines/reference/declarationMapsMultifile.types @@ -21,7 +21,7 @@ export class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsOutFile.types b/tests/baselines/reference/declarationMapsOutFile.types index 1026486d4609b..b34dd93d14aa9 100644 --- a/tests/baselines/reference/declarationMapsOutFile.types +++ b/tests/baselines/reference/declarationMapsOutFile.types @@ -21,7 +21,7 @@ export class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsOutFile2.types b/tests/baselines/reference/declarationMapsOutFile2.types index 4728f0841c008..5f3a5e48afae5 100644 --- a/tests/baselines/reference/declarationMapsOutFile2.types +++ b/tests/baselines/reference/declarationMapsOutFile2.types @@ -21,7 +21,7 @@ class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsWithSourceMap.types b/tests/baselines/reference/declarationMapsWithSourceMap.types index c79fb70ce23f9..84a472e3bba8c 100644 --- a/tests/baselines/reference/declarationMapsWithSourceMap.types +++ b/tests/baselines/reference/declarationMapsWithSourceMap.types @@ -21,7 +21,7 @@ class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsWithoutDeclaration.types b/tests/baselines/reference/declarationMapsWithoutDeclaration.types index 00de0349eb927..831691bf3ff9e 100644 --- a/tests/baselines/reference/declarationMapsWithoutDeclaration.types +++ b/tests/baselines/reference/declarationMapsWithoutDeclaration.types @@ -51,5 +51,5 @@ var m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationNoDanglingGenerics.types b/tests/baselines/reference/declarationNoDanglingGenerics.types index b99b0c78fdb62..b20ac4840400d 100644 --- a/tests/baselines/reference/declarationNoDanglingGenerics.types +++ b/tests/baselines/reference/declarationNoDanglingGenerics.types @@ -55,8 +55,8 @@ function ClassFactory(kind: TKind) { register(kind); >register(kind) : void > : ^^^^ ->register : (kind: string) => void -> : ^ ^^ ^^^^^^^^^ +>register : (kind: string) => void | never +> : ^ ^^ ^^^^^ >kind : TKind > : ^^^^^ diff --git a/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types b/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types index a84a0a2932e88..de0516d691169 100644 --- a/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types +++ b/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types @@ -16,7 +16,7 @@ export function foo(): import("./file1").Foo { === file3.ts === import {foo} from "./file2"; >foo : () => import("file1").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export function bar() { >bar : () => import("file1").Foo @@ -26,6 +26,6 @@ export function bar() { >foo() : import("file1").Foo > : ^^^^^^^^^^^^^^^^^^^ >foo : () => import("file1").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types b/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types index 6ff94b36aa85d..8b6dcc6e55af3 100644 --- a/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types +++ b/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types @@ -55,11 +55,11 @@ export const MyComp = Ctor.extends({foo: "bar"}); >Ctor.extends({foo: "bar"}) : import("node_modules/mod/ctor").ExtendedCtor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Ctor.extends : (x: T) => import("node_modules/mod/ctor").ExtendedCtor -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Ctor : import("node_modules/mod/ctor").CtorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extends : (x: T) => import("node_modules/mod/ctor").ExtendedCtor -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >{foo: "bar"} : { foo: string; } > : ^^^^^^^^^^^^^^^^ >foo : string diff --git a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types index 6e4ca4130a52e..b1aba02b87ac6 100644 --- a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types +++ b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types @@ -1,5 +1,8 @@ //// [tests/cases/compiler/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.ts] //// +=== Performance Stats === +Instantiation count: 500 -> 2,500 + === declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.ts === // Note that both of the following have an `any` in their return type from where we bottom out the type printout // for having too many instances of the same symbol nesting. @@ -45,11 +48,11 @@ export const updateIfChanged = (t: T) => { >Object.is(u, newU) : boolean > : ^^^^^^^ >Object.is : (value1: any, value2: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >is : (value1: any, value2: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >u : U > : ^ >newU : U @@ -59,7 +62,7 @@ export const updateIfChanged = (t: T) => { >update(newU) : T > : ^ >update : (u: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >newU : U > : ^ @@ -67,11 +70,11 @@ export const updateIfChanged = (t: T) => { >Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }) : (>(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } > : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >(key: K) => >>(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : >(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } @@ -103,25 +106,25 @@ export const updateIfChanged = (t: T) => { >update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })) : T > : ^ >update : (u: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v }) : U & { [x: string]: Value; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Array.isArray(u) ? [] : {} : undefined[] | {} > : ^^^^^^^^^^^^^^^^ >Array.isArray(u) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >u : U > : ^ >[] : undefined[] @@ -158,7 +161,7 @@ export const updateIfChanged = (t: T) => { >updater(u) : U > : ^ >updater : (u: U) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >u : U > : ^ >set : (newU: U) => T diff --git a/tests/baselines/reference/declareFileExportAssignment.types b/tests/baselines/reference/declareFileExportAssignment.types index 856d606e88d28..7227046f2f8dd 100644 --- a/tests/baselines/reference/declareFileExportAssignment.types +++ b/tests/baselines/reference/declareFileExportAssignment.types @@ -48,5 +48,5 @@ var m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types index 9f44e8378888e..a5dae84ceb261 100644 --- a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types +++ b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types @@ -52,5 +52,5 @@ var x = 10, m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types b/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types index c78e2be35e258..b812ac9ce6bda 100644 --- a/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types +++ b/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types @@ -42,6 +42,6 @@ declare module 'connect' { }; export = server; >server : { (): connectExport; test1: connectModule; test2(): connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/decoratedBlockScopedClass1.types b/tests/baselines/reference/decoratedBlockScopedClass1.types index ecf8a9e61761d..47a19bafffca6 100644 --- a/tests/baselines/reference/decoratedBlockScopedClass1.types +++ b/tests/baselines/reference/decoratedBlockScopedClass1.types @@ -39,9 +39,9 @@ Foo.func(); >Foo.func() : Foo > : ^^^ >Foo.func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/decoratedBlockScopedClass3.types b/tests/baselines/reference/decoratedBlockScopedClass3.types index bdfa131f00fba..278663628cbe3 100644 --- a/tests/baselines/reference/decoratedBlockScopedClass3.types +++ b/tests/baselines/reference/decoratedBlockScopedClass3.types @@ -39,11 +39,11 @@ Foo.func(); >Foo.func() : Foo > : ^^^ >Foo.func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ try { @decorator() diff --git a/tests/baselines/reference/decoratorChecksFunctionBodies.types b/tests/baselines/reference/decoratorChecksFunctionBodies.types index 28f3eed6546ed..c17c4f2a3c943 100644 --- a/tests/baselines/reference/decoratorChecksFunctionBodies.types +++ b/tests/baselines/reference/decoratorChecksFunctionBodies.types @@ -35,7 +35,7 @@ class A { >func(a) : void > : ^^^^ >func : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/decoratorInAmbientContext.types b/tests/baselines/reference/decoratorInAmbientContext.types index 3571a5a13674b..3438a43e33610 100644 --- a/tests/baselines/reference/decoratorInAmbientContext.types +++ b/tests/baselines/reference/decoratorInAmbientContext.types @@ -23,13 +23,13 @@ class Foo { @decorator declare a: number; >decorator : (target: any, key: any) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ @decorator declare [b]: number; >decorator : (target: any, key: any) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[b] : number > : ^^^^^^ >b : unique symbol diff --git a/tests/baselines/reference/decoratorMetadataConditionalType.types b/tests/baselines/reference/decoratorMetadataConditionalType.types index f9c21a693deb0..9fdae2698506e 100644 --- a/tests/baselines/reference/decoratorMetadataConditionalType.types +++ b/tests/baselines/reference/decoratorMetadataConditionalType.types @@ -13,7 +13,7 @@ abstract class BaseEntity { >d() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >d : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ public attributes: T extends { attributes: infer A } ? A : undefined; >attributes : T extends { attributes: infer A; } ? A : undefined @@ -29,7 +29,7 @@ class C { >d() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >d : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x: number extends string ? false : true; >x : true diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.types b/tests/baselines/reference/decoratorMetadataOnInferredType.types index ff3fecce2b39e..1805985fa8dd3 100644 --- a/tests/baselines/reference/decoratorMetadataOnInferredType.types +++ b/tests/baselines/reference/decoratorMetadataOnInferredType.types @@ -21,11 +21,11 @@ class A { >console.log('new A') : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >'new A' : "new A" > : ^^^^^^^ } diff --git a/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types b/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types index 923d136240408..039c11ddb3b9d 100644 --- a/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types +++ b/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types @@ -62,7 +62,7 @@ function annotation1(): MethodDecorator { >annotation() : ClassDecorator > : ^^^^^^^^^^^^^^ >annotation : () => ClassDecorator -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export class ClassA { >ClassA : ClassA @@ -93,7 +93,7 @@ export class ClassA { >annotation1() : MethodDecorator > : ^^^^^^^^^^^^^^^ >annotation1 : () => MethodDecorator -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ foo(... args: SomeClass1[]) { >foo : (...args: SomeClass1[]) => void diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.types b/tests/baselines/reference/decoratorMetadataWithConstructorType.types index e14b431ed88c7..30ac58e52bd2a 100644 --- a/tests/baselines/reference/decoratorMetadataWithConstructorType.types +++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.types @@ -21,11 +21,11 @@ class A { >console.log('new A') : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >'new A' : "new A" > : ^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnArrowFunction.types b/tests/baselines/reference/decoratorOnArrowFunction.types index 1304294f4453c..5d7c841d7b0fa 100644 --- a/tests/baselines/reference/decoratorOnArrowFunction.types +++ b/tests/baselines/reference/decoratorOnArrowFunction.types @@ -13,5 +13,5 @@ var F = @dec () => { >dec () : unknown > : ^^^^^^^ >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClass1.es6.types b/tests/baselines/reference/decoratorOnClass1.es6.types index 8cc387a3d1bea..2d088eb103e2b 100644 --- a/tests/baselines/reference/decoratorOnClass1.es6.types +++ b/tests/baselines/reference/decoratorOnClass1.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass1.types b/tests/baselines/reference/decoratorOnClass1.types index f239552101796..f8a3cc7d8c45f 100644 --- a/tests/baselines/reference/decoratorOnClass1.types +++ b/tests/baselines/reference/decoratorOnClass1.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass2.es6.types b/tests/baselines/reference/decoratorOnClass2.es6.types index 70a0f935ea50a..76b431f6c3756 100644 --- a/tests/baselines/reference/decoratorOnClass2.es6.types +++ b/tests/baselines/reference/decoratorOnClass2.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass2.types b/tests/baselines/reference/decoratorOnClass2.types index 166ab00d4c2ba..f6918b5e68474 100644 --- a/tests/baselines/reference/decoratorOnClass2.types +++ b/tests/baselines/reference/decoratorOnClass2.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass3.es6.types b/tests/baselines/reference/decoratorOnClass3.es6.types index 3ab5e635aa030..a60a9fb568681 100644 --- a/tests/baselines/reference/decoratorOnClass3.es6.types +++ b/tests/baselines/reference/decoratorOnClass3.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass3.types b/tests/baselines/reference/decoratorOnClass3.types index aa3d40a4a570f..3977458b522c6 100644 --- a/tests/baselines/reference/decoratorOnClass3.types +++ b/tests/baselines/reference/decoratorOnClass3.types @@ -10,7 +10,7 @@ declare function dec(target: T): T; export @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass4.es6.types b/tests/baselines/reference/decoratorOnClass4.es6.types index ab6ab09461076..0317183823812 100644 --- a/tests/baselines/reference/decoratorOnClass4.es6.types +++ b/tests/baselines/reference/decoratorOnClass4.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class { } diff --git a/tests/baselines/reference/decoratorOnClass4.types b/tests/baselines/reference/decoratorOnClass4.types index a8a4f541044bf..dc7a752902f3a 100644 --- a/tests/baselines/reference/decoratorOnClass4.types +++ b/tests/baselines/reference/decoratorOnClass4.types @@ -9,9 +9,9 @@ declare function dec(): (target: T) => T; @dec() >dec() : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dec : () => (target: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass5.es6.types b/tests/baselines/reference/decoratorOnClass5.es6.types index be1988643e00d..b85fb27455020 100644 --- a/tests/baselines/reference/decoratorOnClass5.es6.types +++ b/tests/baselines/reference/decoratorOnClass5.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass5.types b/tests/baselines/reference/decoratorOnClass5.types index 4de337142dba4..a0ec8903b6956 100644 --- a/tests/baselines/reference/decoratorOnClass5.types +++ b/tests/baselines/reference/decoratorOnClass5.types @@ -9,9 +9,9 @@ declare function dec(): (target: T) => T; @dec() >dec() : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dec : () => (target: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass6.es6.types b/tests/baselines/reference/decoratorOnClass6.es6.types index bddeb3267c04e..aee14aee6df4b 100644 --- a/tests/baselines/reference/decoratorOnClass6.es6.types +++ b/tests/baselines/reference/decoratorOnClass6.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass7.es6.types b/tests/baselines/reference/decoratorOnClass7.es6.types index 3d8d618e930bb..5966e48b2f09c 100644 --- a/tests/baselines/reference/decoratorOnClass7.es6.types +++ b/tests/baselines/reference/decoratorOnClass7.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass8.es6.types b/tests/baselines/reference/decoratorOnClass8.es6.types index ef725cbb2c4a5..c4836f8914c08 100644 --- a/tests/baselines/reference/decoratorOnClass8.es6.types +++ b/tests/baselines/reference/decoratorOnClass8.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class { static y = 1; diff --git a/tests/baselines/reference/decoratorOnClass8.types b/tests/baselines/reference/decoratorOnClass8.types index 2d7bcc0c5ab55..7a41cd10c6f5a 100644 --- a/tests/baselines/reference/decoratorOnClass8.types +++ b/tests/baselines/reference/decoratorOnClass8.types @@ -11,9 +11,9 @@ declare function dec(): (target: Function, paramIndex: number) => void; @dec() >dec() : (target: Function, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: Function, paramIndex: number) => void -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.es6.types b/tests/baselines/reference/decoratorOnClassAccessor1.es6.types index b4899aa451731..c3d44c940ea42 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.es6.types +++ b/tests/baselines/reference/decoratorOnClassAccessor1.es6.types @@ -13,7 +13,7 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope export default class { @dec get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.types b/tests/baselines/reference/decoratorOnClassAccessor1.types index 0af51f00a9e86..b146bc412a043 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.types +++ b/tests/baselines/reference/decoratorOnClassAccessor1.types @@ -16,7 +16,7 @@ class C { @dec get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.types b/tests/baselines/reference/decoratorOnClassAccessor2.types index 24cfa4251fd9e..7d55b72ce0e7b 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor2.types +++ b/tests/baselines/reference/decoratorOnClassAccessor2.types @@ -16,7 +16,7 @@ class C { @dec public get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor3.types b/tests/baselines/reference/decoratorOnClassAccessor3.types index d103ff47d7bb7..8f6c918194090 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor3.types +++ b/tests/baselines/reference/decoratorOnClassAccessor3.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor4.types b/tests/baselines/reference/decoratorOnClassAccessor4.types index 38465c755c655..daa22e15d5f5d 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor4.types +++ b/tests/baselines/reference/decoratorOnClassAccessor4.types @@ -16,7 +16,7 @@ class C { @dec set accessor(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassAccessor5.types b/tests/baselines/reference/decoratorOnClassAccessor5.types index 1d160f33f48a2..a107b6e668e3b 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor5.types +++ b/tests/baselines/reference/decoratorOnClassAccessor5.types @@ -16,7 +16,7 @@ class C { @dec public set accessor(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassAccessor6.types b/tests/baselines/reference/decoratorOnClassAccessor6.types index 22aac82476519..a2c52716ba39a 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor6.types +++ b/tests/baselines/reference/decoratorOnClassAccessor6.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassAccessor7.types b/tests/baselines/reference/decoratorOnClassAccessor7.types index e6b35164ba78d..5f8cf8f015c47 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor7.types +++ b/tests/baselines/reference/decoratorOnClassAccessor7.types @@ -27,7 +27,7 @@ class A { @dec1 get x() { return 0; } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -52,7 +52,7 @@ class B { @dec2 set x(value: number) { } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -65,7 +65,7 @@ class C { @dec1 set x(value: number) { } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -90,7 +90,7 @@ class D { @dec2 get x() { return 0; } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -103,7 +103,7 @@ class E { @dec1 get x() { return 0; } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -111,7 +111,7 @@ class E { @dec2 set x(value: number) { } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -124,7 +124,7 @@ class F { @dec1 set x(value: number) { } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -132,7 +132,7 @@ class F { @dec2 get x() { return 0; } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/decoratorOnClassAccessor8.types b/tests/baselines/reference/decoratorOnClassAccessor8.types index 41768267d5e7a..c6588ff39715e 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor8.types +++ b/tests/baselines/reference/decoratorOnClassAccessor8.types @@ -16,7 +16,7 @@ class A { @dec get x() { return 0; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -41,7 +41,7 @@ class B { @dec set x(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -54,7 +54,7 @@ class C { @dec set x(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -79,7 +79,7 @@ class D { @dec get x() { return 0; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -92,7 +92,7 @@ class E { @dec get x() { return 0; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -105,7 +105,7 @@ class F { @dec set x(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassConstructor1.types b/tests/baselines/reference/decoratorOnClassConstructor1.types index c3829a21a2e70..5b1df948c5609 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor1.types +++ b/tests/baselines/reference/decoratorOnClassConstructor1.types @@ -17,5 +17,5 @@ class C { @dec constructor() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter1.types b/tests/baselines/reference/decoratorOnClassConstructorParameter1.types index cd03b576ef39f..e257ceacbd290 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter1.types +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter1.types @@ -17,7 +17,7 @@ class C { constructor(@dec p: number) {} >dec : (target: Function, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter4.types b/tests/baselines/reference/decoratorOnClassConstructorParameter4.types index 46a3196e36939..44e1fb6734215 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter4.types +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter4.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: Function, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod1.es6.types b/tests/baselines/reference/decoratorOnClassMethod1.es6.types index b67a885ebf6e0..0cb09a66dab89 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.es6.types +++ b/tests/baselines/reference/decoratorOnClassMethod1.es6.types @@ -13,7 +13,7 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope export default class { @dec method() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod1.types b/tests/baselines/reference/decoratorOnClassMethod1.types index 87cafcbdf3b61..07d1adb73abf7 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.types +++ b/tests/baselines/reference/decoratorOnClassMethod1.types @@ -16,7 +16,7 @@ class C { @dec method() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod10.types b/tests/baselines/reference/decoratorOnClassMethod10.types index df48d9700e826..3bba717f8d292 100644 --- a/tests/baselines/reference/decoratorOnClassMethod10.types +++ b/tests/baselines/reference/decoratorOnClassMethod10.types @@ -15,7 +15,7 @@ class C { @dec method() {} >dec : (target: Function, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod13.types b/tests/baselines/reference/decoratorOnClassMethod13.types index ac887345ce825..fec3c90426f78 100644 --- a/tests/baselines/reference/decoratorOnClassMethod13.types +++ b/tests/baselines/reference/decoratorOnClassMethod13.types @@ -16,7 +16,7 @@ class C { @dec ["1"]() { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["1"] : () => void > : ^^^^^^^^^^ >"1" : "1" @@ -24,7 +24,7 @@ class C { @dec ["b"]() { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["b"] : () => void > : ^^^^^^^^^^ >"b" : "b" diff --git a/tests/baselines/reference/decoratorOnClassMethod2.types b/tests/baselines/reference/decoratorOnClassMethod2.types index e06e512b1b3d7..b72f9cb9b335e 100644 --- a/tests/baselines/reference/decoratorOnClassMethod2.types +++ b/tests/baselines/reference/decoratorOnClassMethod2.types @@ -16,7 +16,7 @@ class C { @dec public method() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod3.types b/tests/baselines/reference/decoratorOnClassMethod3.types index 9203c3bb7b3f0..b866616236f50 100644 --- a/tests/baselines/reference/decoratorOnClassMethod3.types +++ b/tests/baselines/reference/decoratorOnClassMethod3.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod4.types b/tests/baselines/reference/decoratorOnClassMethod4.types index a3ba842788ccc..aeac5b3c4e284 100644 --- a/tests/baselines/reference/decoratorOnClassMethod4.types +++ b/tests/baselines/reference/decoratorOnClassMethod4.types @@ -16,7 +16,7 @@ class C { @dec ["method"]() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod5.types b/tests/baselines/reference/decoratorOnClassMethod5.types index 882d7dc6558a8..09f15f6a72573 100644 --- a/tests/baselines/reference/decoratorOnClassMethod5.types +++ b/tests/baselines/reference/decoratorOnClassMethod5.types @@ -16,9 +16,9 @@ class C { @dec() ["method"]() {} >dec() : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod6.types b/tests/baselines/reference/decoratorOnClassMethod6.types index 28ae9ce9bf97c..ad238a085b203 100644 --- a/tests/baselines/reference/decoratorOnClassMethod6.types +++ b/tests/baselines/reference/decoratorOnClassMethod6.types @@ -17,7 +17,7 @@ class C { @dec ["method"]() {} >dec : () => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod7.types b/tests/baselines/reference/decoratorOnClassMethod7.types index ab7185da9cb4d..347b9b22753d8 100644 --- a/tests/baselines/reference/decoratorOnClassMethod7.types +++ b/tests/baselines/reference/decoratorOnClassMethod7.types @@ -16,7 +16,7 @@ class C { @dec public ["method"]() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod8.types b/tests/baselines/reference/decoratorOnClassMethod8.types index 4c082de11d31c..c06dd92684a9e 100644 --- a/tests/baselines/reference/decoratorOnClassMethod8.types +++ b/tests/baselines/reference/decoratorOnClassMethod8.types @@ -13,7 +13,7 @@ class C { @dec method() {} >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload1.types b/tests/baselines/reference/decoratorOnClassMethodOverload1.types index daac02fb64dfe..93640dbfafa32 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload1.types +++ b/tests/baselines/reference/decoratorOnClassMethodOverload1.types @@ -17,7 +17,7 @@ class C { @dec >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method() >method : () => any diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload2.types b/tests/baselines/reference/decoratorOnClassMethodOverload2.types index 712df9ad20ace..c827ee33ff9f6 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload2.types +++ b/tests/baselines/reference/decoratorOnClassMethodOverload2.types @@ -20,7 +20,7 @@ class C { @dec >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method() { } >method : () => any diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types b/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types index bacf21f76cf07..84e89c54d5a89 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types @@ -16,7 +16,7 @@ export default class { >method : (p: number) => void > : ^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.types b/tests/baselines/reference/decoratorOnClassMethodParameter1.types index 37cf12231397c..21e18e383aaf4 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.types @@ -19,7 +19,7 @@ class C { >method : (p: number) => void > : ^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter2.types b/tests/baselines/reference/decoratorOnClassMethodParameter2.types index c081359be794e..79dee8e4883a5 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter2.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter2.types @@ -21,7 +21,7 @@ class C { >this : C > : ^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter3.types b/tests/baselines/reference/decoratorOnClassMethodParameter3.types index f81d82c503f3a..63114df7c0b37 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter3.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter3.types @@ -24,7 +24,7 @@ function fn(value: Promise): any { >dec(await value) : any > : ^^^ >dec : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >await value : number > : ^^^^^^ >value : Promise diff --git a/tests/baselines/reference/decoratorOnClassMethodThisParameter.types b/tests/baselines/reference/decoratorOnClassMethodThisParameter.types index 8373877ff76cd..8428c47c51176 100644 --- a/tests/baselines/reference/decoratorOnClassMethodThisParameter.types +++ b/tests/baselines/reference/decoratorOnClassMethodThisParameter.types @@ -19,7 +19,7 @@ class C { >method : (this: C) => void > : ^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : C > : ^ } @@ -32,11 +32,11 @@ class C2 { >method : (allowed: C2, this: C2) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >allowed : C2 > : ^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : C2 > : ^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty1.es6.types b/tests/baselines/reference/decoratorOnClassProperty1.es6.types index 64fb13380917c..a2d25b972198f 100644 --- a/tests/baselines/reference/decoratorOnClassProperty1.es6.types +++ b/tests/baselines/reference/decoratorOnClassProperty1.es6.types @@ -11,6 +11,6 @@ declare function dec(target: any, propertyKey: string): void; export default class { @dec prop; >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty1.types b/tests/baselines/reference/decoratorOnClassProperty1.types index 62ec4297a8497..766cca25f17ee 100644 --- a/tests/baselines/reference/decoratorOnClassProperty1.types +++ b/tests/baselines/reference/decoratorOnClassProperty1.types @@ -14,6 +14,6 @@ class C { @dec prop; >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty10.types b/tests/baselines/reference/decoratorOnClassProperty10.types index 3631f93a2264e..3a600472c5430 100644 --- a/tests/baselines/reference/decoratorOnClassProperty10.types +++ b/tests/baselines/reference/decoratorOnClassProperty10.types @@ -14,8 +14,8 @@ class C { @dec() prop; >dec() : (target: any, propertyKey: string) => void -> : ^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: any, propertyKey: string) => void -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty11.types b/tests/baselines/reference/decoratorOnClassProperty11.types index 9956fc5fa2d5b..64d0902eea9af 100644 --- a/tests/baselines/reference/decoratorOnClassProperty11.types +++ b/tests/baselines/reference/decoratorOnClassProperty11.types @@ -15,7 +15,7 @@ class C { @dec prop; >dec : () => (target: any, propertyKey: string) => void -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty12.types b/tests/baselines/reference/decoratorOnClassProperty12.types index c70cde2cdf184..03f8dd9678c4c 100644 --- a/tests/baselines/reference/decoratorOnClassProperty12.types +++ b/tests/baselines/reference/decoratorOnClassProperty12.types @@ -14,9 +14,9 @@ class A { @dec() >dec() : (target: any, propertyKey: string) => void -> : ^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: any, propertyKey: string) => void -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ foo: `${string}` >foo : string diff --git a/tests/baselines/reference/decoratorOnClassProperty13.types b/tests/baselines/reference/decoratorOnClassProperty13.types index 32b2f411e68e9..f908f20923f0f 100644 --- a/tests/baselines/reference/decoratorOnClassProperty13.types +++ b/tests/baselines/reference/decoratorOnClassProperty13.types @@ -16,6 +16,6 @@ class C { @dec accessor prop; >dec : (target: any, propertyKey: string, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty2.types b/tests/baselines/reference/decoratorOnClassProperty2.types index 3cac36aee3dff..d471e0728d13f 100644 --- a/tests/baselines/reference/decoratorOnClassProperty2.types +++ b/tests/baselines/reference/decoratorOnClassProperty2.types @@ -14,6 +14,6 @@ class C { @dec public prop; >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty3.types b/tests/baselines/reference/decoratorOnClassProperty3.types index c2a933e82b793..7cbe00b280ca2 100644 --- a/tests/baselines/reference/decoratorOnClassProperty3.types +++ b/tests/baselines/reference/decoratorOnClassProperty3.types @@ -17,7 +17,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty6.types b/tests/baselines/reference/decoratorOnClassProperty6.types index 6fe3f381f7ccc..c146b9b6461d3 100644 --- a/tests/baselines/reference/decoratorOnClassProperty6.types +++ b/tests/baselines/reference/decoratorOnClassProperty6.types @@ -13,7 +13,7 @@ class C { @dec prop; >dec : (target: Function) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty7.types b/tests/baselines/reference/decoratorOnClassProperty7.types index 2aa050abd5371..8f18540446132 100644 --- a/tests/baselines/reference/decoratorOnClassProperty7.types +++ b/tests/baselines/reference/decoratorOnClassProperty7.types @@ -17,7 +17,7 @@ class C { @dec prop; >dec : (target: Function, propertyKey: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnEnum.types b/tests/baselines/reference/decoratorOnEnum.types index 8c0e1e632c75f..14605d8f3900c 100644 --- a/tests/baselines/reference/decoratorOnEnum.types +++ b/tests/baselines/reference/decoratorOnEnum.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ enum E { >E : E diff --git a/tests/baselines/reference/decoratorOnEnum2.types b/tests/baselines/reference/decoratorOnEnum2.types index 03b4e3004d3aa..42dc0d46d3711 100644 --- a/tests/baselines/reference/decoratorOnEnum2.types +++ b/tests/baselines/reference/decoratorOnEnum2.types @@ -13,7 +13,7 @@ enum E { @dec A >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >A : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnFunctionDeclaration.types b/tests/baselines/reference/decoratorOnFunctionDeclaration.types index 8e68c854f1c43..23118e67bffa8 100644 --- a/tests/baselines/reference/decoratorOnFunctionDeclaration.types +++ b/tests/baselines/reference/decoratorOnFunctionDeclaration.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ function F() { >F : () => void diff --git a/tests/baselines/reference/decoratorOnFunctionExpression.types b/tests/baselines/reference/decoratorOnFunctionExpression.types index ff645f4baef61..fad524d95247a 100644 --- a/tests/baselines/reference/decoratorOnFunctionExpression.types +++ b/tests/baselines/reference/decoratorOnFunctionExpression.types @@ -11,7 +11,7 @@ var F = @dec function () { >F : any > : ^^^ >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ > : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnImportEquals1.types b/tests/baselines/reference/decoratorOnImportEquals1.types index 0394d590b3f84..c6aa9c5815502 100644 --- a/tests/baselines/reference/decoratorOnImportEquals1.types +++ b/tests/baselines/reference/decoratorOnImportEquals1.types @@ -19,7 +19,7 @@ module M1 { module M2 { @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ import X = M1.X; >X : number diff --git a/tests/baselines/reference/decoratorOnImportEquals2.types b/tests/baselines/reference/decoratorOnImportEquals2.types index d3866a631d6f5..4abb5c36dfd59 100644 --- a/tests/baselines/reference/decoratorOnImportEquals2.types +++ b/tests/baselines/reference/decoratorOnImportEquals2.types @@ -3,7 +3,7 @@ === decoratorOnImportEquals2_1.ts === @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ import lib = require('./decoratorOnImportEquals2_0'); >lib : typeof lib diff --git a/tests/baselines/reference/decoratorOnInterface.types b/tests/baselines/reference/decoratorOnInterface.types index cef85a45f84d7..20b1b09e2ae65 100644 --- a/tests/baselines/reference/decoratorOnInterface.types +++ b/tests/baselines/reference/decoratorOnInterface.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ interface I { } diff --git a/tests/baselines/reference/decoratorOnInternalModule.types b/tests/baselines/reference/decoratorOnInternalModule.types index 5308d38b0432a..97fa59782e1fd 100644 --- a/tests/baselines/reference/decoratorOnInternalModule.types +++ b/tests/baselines/reference/decoratorOnInternalModule.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ module M { diff --git a/tests/baselines/reference/decoratorOnTypeAlias.types b/tests/baselines/reference/decoratorOnTypeAlias.types index 61adcf0914a41..564bd744bbe64 100644 --- a/tests/baselines/reference/decoratorOnTypeAlias.types +++ b/tests/baselines/reference/decoratorOnTypeAlias.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type T = number; >T : number diff --git a/tests/baselines/reference/decoratorOnVar.types b/tests/baselines/reference/decoratorOnVar.types index 4d8156d411753..8c57fe4310e5a 100644 --- a/tests/baselines/reference/decoratorOnVar.types +++ b/tests/baselines/reference/decoratorOnVar.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var x: number; >x : number diff --git a/tests/baselines/reference/decoratorReferences.types b/tests/baselines/reference/decoratorReferences.types index 6487d697d8387..fed54c2520a6f 100644 --- a/tests/baselines/reference/decoratorReferences.types +++ b/tests/baselines/reference/decoratorReferences.types @@ -14,7 +14,7 @@ type T = number; @y(1 as T, () => C) // <-- T should be resolved to the type alias, not the type parameter of the class; C should resolve to the class >y(1 as T, () => C) : any >y : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 as T : number > : ^^^^^^ >1 : 1 @@ -31,7 +31,7 @@ class C { @y(null as T) // <-- y should resolve to the function declaration, not the parameter; T should resolve to the type parameter of the class >y(null as T) : any >y : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >null as T : T > : ^ @@ -39,7 +39,7 @@ class C { >method : (x: any, y: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >y : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any >y : any } diff --git a/tests/baselines/reference/decoratorWithUnderscoreMethod.types b/tests/baselines/reference/decoratorWithUnderscoreMethod.types index 1b2dcf7801c72..3442a531879a1 100644 --- a/tests/baselines/reference/decoratorWithUnderscoreMethod.types +++ b/tests/baselines/reference/decoratorWithUnderscoreMethod.types @@ -26,11 +26,11 @@ function dec(): Function { >console.log(target[propKey]) : void > : ^^^^ >console.log : (arg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(arg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (arg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >target[propKey] : any >target : any >propKey : string @@ -49,7 +49,7 @@ class A { >dec() : Function > : ^^^^^^^^ >dec : () => Function -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ private __foo(bar: string): void { >__foo : (bar: string) => void diff --git a/tests/baselines/reference/decoratorsOnComputedProperties.types b/tests/baselines/reference/decoratorsOnComputedProperties.types index 50471c3494545..13b17254d9cf7 100644 --- a/tests/baselines/reference/decoratorsOnComputedProperties.types +++ b/tests/baselines/reference/decoratorsOnComputedProperties.types @@ -131,7 +131,7 @@ class A { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -141,7 +141,7 @@ class A { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -151,7 +151,7 @@ class A { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -266,7 +266,7 @@ void class B { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -276,7 +276,7 @@ void class B { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -286,7 +286,7 @@ void class B { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -398,7 +398,7 @@ class C { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -408,7 +408,7 @@ class C { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -418,7 +418,7 @@ class C { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -543,7 +543,7 @@ void class D { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -553,7 +553,7 @@ void class D { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -563,7 +563,7 @@ void class D { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -685,7 +685,7 @@ class E { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -695,7 +695,7 @@ class E { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -705,7 +705,7 @@ class E { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -830,7 +830,7 @@ void class F { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -840,7 +840,7 @@ void class F { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -850,7 +850,7 @@ void class F { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -972,7 +972,7 @@ class G { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -982,7 +982,7 @@ class G { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -992,7 +992,7 @@ class G { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -1127,7 +1127,7 @@ void class H { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -1137,7 +1137,7 @@ void class H { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -1147,7 +1147,7 @@ void class H { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -1279,7 +1279,7 @@ class I { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -1289,7 +1289,7 @@ class I { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -1299,7 +1299,7 @@ class I { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x ["some" + "method"]() {} >x : (o: object, k: PropertyKey) => void @@ -1436,7 +1436,7 @@ void class J { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -1446,7 +1446,7 @@ void class J { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -1456,7 +1456,7 @@ void class J { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x ["some" + "method"]() {} >x : (o: object, k: PropertyKey) => void diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types index a7d3a17094b5d..91045f7d95009 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types @@ -114,7 +114,7 @@ var ResultIsNumber4 = --obj; >--obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber5 = --obj1; >ResultIsNumber5 : number @@ -154,7 +154,7 @@ var ResultIsNumber9 = obj--; >obj-- : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = obj1--; >ResultIsNumber10 : number @@ -218,7 +218,7 @@ var ResultIsNumber17 = --foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber18 = --A.foo(); >ResultIsNumber18 : number @@ -228,11 +228,11 @@ var ResultIsNumber18 = --A.foo(); >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber19 = --(null + undefined); >ResultIsNumber19 : number @@ -302,7 +302,7 @@ var ResultIsNumber24 = foo()--; >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber25 = A.foo()--; >ResultIsNumber25 : number @@ -312,11 +312,11 @@ var ResultIsNumber25 = A.foo()--; >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber26 = (null + undefined)--; >ResultIsNumber26 : number diff --git a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types index ff83909fe2a1b..211d6a628708c 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types +++ b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types @@ -168,7 +168,7 @@ var ResultIsNumber9 = --foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = --A.foo(); >ResultIsNumber10 : number @@ -206,7 +206,7 @@ var ResultIsNumber12 = foo()--; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber13 = A.foo()--; >ResultIsNumber13 : number @@ -255,7 +255,7 @@ var ResultIsNumber14 = (NUMBER + NUMBER)--; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ 1--; >1-- : number @@ -275,5 +275,5 @@ foo()--; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types index b04297c004633..717517ec636ab 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types @@ -182,7 +182,7 @@ var ResultIsNumber11 = --foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber12 = --A.foo(); >ResultIsNumber12 : number @@ -206,7 +206,7 @@ var ResultIsNumber13 = foo()--; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = A.foo()--; >ResultIsNumber14 : number @@ -265,7 +265,7 @@ var ResultIsNumber16 = M.n--; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ --objA.a; >--objA.a : number @@ -323,7 +323,7 @@ foo()--; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ objA.a--; >objA.a-- : number diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types index 294762857cc71..980933beee7a5 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types @@ -220,7 +220,7 @@ var ResultIsNumber14 = --foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = --A.foo(); >ResultIsNumber15 : number @@ -294,7 +294,7 @@ var ResultIsNumber20 = foo()--; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber21 = A.foo()--; >ResultIsNumber21 : number @@ -359,7 +359,7 @@ var ResultIsNumber22 = (STRING + STRING)--; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ --objA.a; >--objA.a : number @@ -433,7 +433,7 @@ foo()--; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ objA.a--; >objA.a-- : number diff --git a/tests/baselines/reference/deduplicateImportsInSystem.types b/tests/baselines/reference/deduplicateImportsInSystem.types index 86a9dd8bb0803..4d1365ba92433 100644 --- a/tests/baselines/reference/deduplicateImportsInSystem.types +++ b/tests/baselines/reference/deduplicateImportsInSystem.types @@ -29,11 +29,11 @@ console.log(A + B + C + D + E + F) >console.log(A + B + C + D + E + F) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A + B + C + D + E + F : any > : ^^^ >A + B + C + D + E : any diff --git a/tests/baselines/reference/deepComparisons.types b/tests/baselines/reference/deepComparisons.types index 7ea3f36abc9e6..974b2e5ee95f6 100644 --- a/tests/baselines/reference/deepComparisons.types +++ b/tests/baselines/reference/deepComparisons.types @@ -129,6 +129,6 @@ function g() { >f() : F > : ^^^^^^ >f : () => F -> : ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types b/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types index daa12a96eda22..eb415204816e2 100644 --- a/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types +++ b/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types @@ -15,9 +15,9 @@ const TestComponent: StatelessComponent = (props) => { >TestComponent : StatelessComponent > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(props) => { return null;} : (props: TestProps & { children?: number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >props : TestProps & { children?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ return null; } @@ -72,9 +72,9 @@ const TestComponent2: StatelessComponent = (p >x : number > : ^^^^^^ >(props) => { return null;} : (props: (TestProps | { props2: { x: number; }; }) & { children?: number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >props : (TestProps | { props2: { x: number; }; }) & { children?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ return null; } @@ -83,7 +83,7 @@ TestComponent2({icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test la >TestComponent2({icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test label' } }}) : null > : ^^^^ >TestComponent2 : StatelessComponent -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >{icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test label' } }} : { icon: { props: { INVALID_PROP_NAME: string; ariaLabel: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >icon : { props: { INVALID_PROP_NAME: string; ariaLabel: string; }; } diff --git a/tests/baselines/reference/deeplyNestedMappedTypes.types b/tests/baselines/reference/deeplyNestedMappedTypes.types index 3ea41c25f8c0a..af24d7169f1f8 100644 --- a/tests/baselines/reference/deeplyNestedMappedTypes.types +++ b/tests/baselines/reference/deeplyNestedMappedTypes.types @@ -45,13 +45,13 @@ type Foo2 = Id<{ x: { y: { z: { a: { b: { c: string } } } } } }>; declare const foo1: Foo1; >foo1 : Id<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^ const foo2: Foo2 = foo1; // Error expected >foo2 : Id<{ x: { y: { z: { a: { b: { c: string; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^ >foo1 : Id<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^ type Id2 = { [K in keyof T]: Id2> }; >Id2 : Id2 @@ -91,13 +91,13 @@ type Foo4 = Id2<{ x: { y: { z: { a: { b: { c: string } } } } } }>; declare const foo3: Foo3; >foo3 : Id2<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ const foo4: Foo4 = foo3; // Error expected >foo4 : Id2<{ x: { y: { z: { a: { b: { c: string; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >foo3 : Id2<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ // Repro from issue linked in #55535 @@ -211,11 +211,11 @@ export const Input = Type.Object({ >Type.Object({ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), }) })}) : TObject<{ level1: TObject<{ level2: TObject<{ foo: TString; }>; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), }) })} : { level1: TObject<{ level2: TObject<{ foo: TString; }>; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -225,11 +225,11 @@ export const Input = Type.Object({ >Type.Object({ level2: Type.Object({ foo: Type.String(), }) }) : TObject<{ level2: TObject<{ foo: TString; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level2: Type.Object({ foo: Type.String(), }) } : { level2: TObject<{ foo: TString; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -239,11 +239,11 @@ export const Input = Type.Object({ >Type.Object({ foo: Type.String(), }) : TObject<{ foo: TString; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: Type.String(), } : { foo: TString; } > : ^^^^^^^^^^^^^^^^^ @@ -253,11 +253,11 @@ export const Input = Type.Object({ >Type.String() : TString > : ^^^^^^^ >Type.String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ }) }) @@ -275,11 +275,11 @@ export const Output = Type.Object({ >Type.Object({ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) })}) : TObject<{ level1: TObject<{ level2: TObject<{ foo: TString; bar: TString; }>; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) })} : { level1: TObject<{ level2: TObject<{ foo: TString; bar: TString; }>; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -289,11 +289,11 @@ export const Output = Type.Object({ >Type.Object({ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) }) : TObject<{ level2: TObject<{ foo: TString; bar: TString; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) } : { level2: TObject<{ foo: TString; bar: TString; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -303,11 +303,11 @@ export const Output = Type.Object({ >Type.Object({ foo: Type.String(), bar: Type.String(), }) : TObject<{ foo: TString; bar: TString; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: Type.String(), bar: Type.String(), } : { foo: TString; bar: TString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -317,11 +317,11 @@ export const Output = Type.Object({ >Type.String() : TString > : ^^^^^^^ >Type.String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ bar: Type.String(), >bar : TString @@ -329,11 +329,11 @@ export const Output = Type.Object({ >Type.String() : TString > : ^^^^^^^ >Type.String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ }) }) diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.types b/tests/baselines/reference/defaultArgsInFunctionExpressions.types index ed99bd81f3cf6..07a036eac06d7 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.types +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.types @@ -141,7 +141,7 @@ var f5: (a: (s: string) => any) => void = function (a = s => s) { }; >function (a = s => s) { } : (a?: (s: string) => any) => void > : ^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : (s: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >s => s : (s: string) => number > : ^ ^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types index ded1cd949cf9e..46b9066d53e55 100644 --- a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types +++ b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types @@ -39,7 +39,7 @@ var result = concat(1, ""); // error >concat(1, "") : 1 > : ^ >concat : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types b/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types index 2d30d371b41ff..44e201fb7d6df 100644 --- a/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types +++ b/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types @@ -39,7 +39,7 @@ export default class MyComponent { >make(MyComponent) : Things > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >make : (x: { new (): CTor & { props: P; }; }) => Things -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >MyComponent : typeof MyComponent > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types b/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types index 3b2e5c9f3ecf2..4301a2eb713c3 100644 --- a/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types +++ b/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types @@ -52,8 +52,8 @@ export namespace Something { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >make(me.default) : me.Things > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->make : (x: { new (): CTor & { props: P; }; }) => me.Things -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>make : (x: { new (): CTor & { props: P; }; }) => Things +> : ^ ^^ ^^ ^^ ^^^^^ >me.default : typeof me.default > : ^^^^^^^^^^^^^^^^^ >me : typeof me diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.types b/tests/baselines/reference/defaultExportInAwaitExpression01.types index d6aaaf5d86c80..3d824cdf560f0 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression01.types +++ b/tests/baselines/reference/defaultExportInAwaitExpression01.types @@ -9,15 +9,15 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >( resolve, reject ) => { resolve( {} ); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >resolve( {} ) : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.types b/tests/baselines/reference/defaultExportInAwaitExpression02.types index 375a65b982f7a..92c9f50079bb2 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression02.types +++ b/tests/baselines/reference/defaultExportInAwaitExpression02.types @@ -9,15 +9,15 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >( resolve, reject ) => { resolve( {} ); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >resolve( {} ) : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/defaultKeywordWithoutExport1.types b/tests/baselines/reference/defaultKeywordWithoutExport1.types index 63c5d3612138b..7cd6b1e36d14b 100644 --- a/tests/baselines/reference/defaultKeywordWithoutExport1.types +++ b/tests/baselines/reference/defaultKeywordWithoutExport1.types @@ -9,6 +9,6 @@ declare function decorator(constructor: any): any; @decorator >decorator : (constructor: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ default class {} diff --git a/tests/baselines/reference/deferredLookupTypeResolution.types b/tests/baselines/reference/deferredLookupTypeResolution.types index 7c21c39abc872..861d47f6f8e59 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution.types +++ b/tests/baselines/reference/deferredLookupTypeResolution.types @@ -54,7 +54,7 @@ function f2(a: A) { >f1(a, 'x') : { [P in A | "x"]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (a: A_1, b: B) => { [P in A_1 | B]: any; } -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >'x' : "x" diff --git a/tests/baselines/reference/deleteChain.types b/tests/baselines/reference/deleteChain.types index b151eec17cb29..55f7028a4b8a6 100644 --- a/tests/baselines/reference/deleteChain.types +++ b/tests/baselines/reference/deleteChain.types @@ -13,7 +13,7 @@ delete o1?.b; >o1?.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -25,7 +25,7 @@ delete (o1?.b); >o1?.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -43,11 +43,11 @@ delete o2?.b.c; >o2?.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -59,11 +59,11 @@ delete (o2?.b.c); >o2?.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -81,11 +81,11 @@ delete o3.b?.c; >o3.b?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -97,11 +97,11 @@ delete (o3.b?.c); >o3.b?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -123,19 +123,19 @@ delete o4.b?.c.d?.e; >o4.b?.c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -145,21 +145,21 @@ delete (o4.b?.c.d)?.e; >(o4.b?.c.d)?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(o4.b?.c.d) : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -171,19 +171,19 @@ delete (o4.b?.c.d?.e); >o4.b?.c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -205,21 +205,21 @@ delete o5.b?.().c.d?.e; >o5.b?.().c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.().c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.().c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.().c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -231,21 +231,21 @@ delete (o5.b?.().c.d?.e); >o5.b?.().c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.().c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.().c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.().c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -267,19 +267,19 @@ delete o6.b?.['c'].d?.['e']; >o6.b?.['c'].d?.['e'] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o6.b?.['c'].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b?.['c'] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6.b?.['c'] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o6.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >'c' : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >'e' : "e" > : ^^^ @@ -291,19 +291,19 @@ delete (o6.b?.['c'].d?.['e']); >o6.b?.['c'].d?.['e'] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o6.b?.['c'].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b?.['c'] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6.b?.['c'] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o6.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >'c' : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >'e' : "e" > : ^^^ diff --git a/tests/baselines/reference/deleteOperatorInvalidOperations.types b/tests/baselines/reference/deleteOperatorInvalidOperations.types index 71bc70b795c57..51b34041cae70 100644 --- a/tests/baselines/reference/deleteOperatorInvalidOperations.types +++ b/tests/baselines/reference/deleteOperatorInvalidOperations.types @@ -39,6 +39,6 @@ class testADelx { >delete s : boolean > : ^^^^^^^ >s : () => {} -> : ^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.types b/tests/baselines/reference/deleteOperatorWithAnyOtherType.types index 02e8c52eff22c..6ea3ba1c7bb45 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsBoolean5 = delete obj; >delete obj : boolean > : ^^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean6 = delete obj1; >ResultIsBoolean6 : boolean @@ -221,7 +221,7 @@ var ResultIsBoolean14 = delete foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean15 = delete A.foo(); >ResultIsBoolean15 : boolean diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.types b/tests/baselines/reference/deleteOperatorWithBooleanType.types index b2a3eee79f0d0..379e583d322b8 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.types +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsBoolean6 = delete foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean7 = delete A.foo(); >ResultIsBoolean7 : boolean @@ -156,7 +156,7 @@ delete foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ delete true, false; >delete true, false : false diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.types b/tests/baselines/reference/deleteOperatorWithNumberType.types index 00d9b0e220d4f..a2379e7568dfe 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.types +++ b/tests/baselines/reference/deleteOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = delete foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = delete A.foo(); >ResultIsBoolean10 : boolean @@ -244,7 +244,7 @@ delete foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ delete objA.a; >delete objA.a : boolean diff --git a/tests/baselines/reference/deleteOperatorWithStringType.types b/tests/baselines/reference/deleteOperatorWithStringType.types index 257420cbded1c..e9c54756f4410 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.types +++ b/tests/baselines/reference/deleteOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = delete foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = delete A.foo(); >ResultIsBoolean10 : boolean @@ -198,11 +198,11 @@ var ResultIsBoolean12 = delete STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -260,7 +260,7 @@ delete foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ delete objA.a,M.n; >delete objA.a,M.n : string diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 73c4b67290df8..1ee5b445027b7 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -41,11 +41,11 @@ function f10({ kind, payload }: Action) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -59,11 +59,11 @@ function f10({ kind, payload }: Action) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -93,11 +93,11 @@ function f11(action: Action) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -111,11 +111,11 @@ function f11(action: Action) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -139,11 +139,11 @@ function f12({ kind, payload }: Action) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ break; case 'B': @@ -154,11 +154,11 @@ function f12({ kind, payload }: Action) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; default: @@ -189,11 +189,11 @@ function f13({ kind, payload }: T) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -207,11 +207,11 @@ function f13({ kind, payload }: T) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -241,11 +241,11 @@ function f14(t: T) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -259,11 +259,11 @@ function f14(t: T) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -307,11 +307,11 @@ function f20({ kind, payload }: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -325,11 +325,11 @@ function f20({ kind, payload }: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -364,11 +364,11 @@ function f21(action: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -382,11 +382,11 @@ function f21(action: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -425,11 +425,11 @@ function f22(action: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -443,11 +443,11 @@ function f22(action: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -476,11 +476,11 @@ function f23({ kind, payload }: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ break; case 'B': @@ -491,11 +491,11 @@ function f23({ kind, payload }: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; default: @@ -617,11 +617,11 @@ function f40(...[kind, data]: Args) { >data.toFixed() : string > : ^^^^^^ >data.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -635,11 +635,11 @@ function f40(...[kind, data]: Args) { >data.toUpperCase() : string > : ^^^^^^ >data.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >data : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -699,7 +699,7 @@ function unrefined1(ab: AB): void { >printValue(value) : void > : ^^^^ >printValue : (t: T_1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : T > : ^ } @@ -708,7 +708,7 @@ function unrefined1(ab: AB): void { >printValueList(value) : void > : ^^^^ >printValueList : (t: Array) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : T[] > : ^^^ } @@ -746,7 +746,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { >type : "add" | "remove" > : ^^^^^^^^^^^^^^^^ >payload : { toAdd: number; } | { toRemove: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ switch (type) { >type : "add" | "remove" @@ -764,7 +764,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { >payload.toAdd : number > : ^^^^^^ >payload : { toAdd: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >toAdd : number > : ^^^^^^ @@ -780,7 +780,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { >payload.toRemove : number > : ^^^^^^ >payload : { toRemove: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >toRemove : number > : ^^^^^^ } @@ -800,11 +800,11 @@ const { value, done } = it.next(); >it.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >it.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ >it : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ if (!done) { >!done : boolean @@ -831,7 +831,7 @@ f50((kind, data) => { >f50((kind, data) => { if (kind === 'A') { data.toFixed(); } if (kind === 'B') { data.toUpperCase(); }}) : void > : ^^^^ >f50 : (cb: (...args: Args) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(kind, data) => { if (kind === 'A') { data.toFixed(); } if (kind === 'B') { data.toUpperCase(); }} : (kind: "A" | "B", data: string | number) => void > : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : "A" | "B" @@ -851,11 +851,11 @@ f50((kind, data) => { >data.toFixed() : string > : ^^^^^^ >data.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -869,11 +869,11 @@ f50((kind, data) => { >data.toUpperCase() : string > : ^^^^^^ >data.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >data : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } }); @@ -901,11 +901,11 @@ const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -919,11 +919,11 @@ const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } }; @@ -951,11 +951,11 @@ const f52: (...args: ['A', number] | ['B']) => void = (kind, payload?) => { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } else { payload; // undefined @@ -978,7 +978,7 @@ readFile('hello', (err, data) => { >readFile('hello', (err, data) => { if (err === null) { data.length; } else { err.message; }}) : void > : ^^^^ >readFile : (path: string, callback: (...args: [err: null, data: unknown[]] | [err: Error, data: undefined]) => void) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ >(err, data) => { if (err === null) { data.length; } else { err.message; }} : (err: Error | null, data: unknown[] | undefined) => void @@ -1031,11 +1031,11 @@ const reducer: (...args: ReducerArgs) => void = (op, args) => { >args : ReducerArgs > : ^^^^^^^^^^^ >(op, args) => { switch (op) { case "add": console.log(args.a + args.b); break; case "concat": console.log(args.firstArr.concat(args.secondArr)); break; }} : (op: "add" | "concat", args: { a: number; b: number; } | { firstArr: any[]; secondArr: any[]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ >op : "add" | "concat" > : ^^^^^^^^^^^^^^^^ >args : { a: number; b: number; } | { firstArr: any[]; secondArr: any[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ switch (op) { >op : "add" | "concat" @@ -1049,23 +1049,23 @@ const reducer: (...args: ReducerArgs) => void = (op, args) => { >console.log(args.a + args.b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >args.a + args.b : number > : ^^^^^^ >args.a : number > : ^^^^^^ >args : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ >args.b : number > : ^^^^^^ >args : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ @@ -1078,27 +1078,27 @@ const reducer: (...args: ReducerArgs) => void = (op, args) => { >console.log(args.firstArr.concat(args.secondArr)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >args.firstArr.concat(args.secondArr) : any[] > : ^^^^^ >args.firstArr.concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >args.firstArr : any[] > : ^^^^^ >args : { firstArr: any[]; secondArr: any[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >firstArr : any[] > : ^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >args.secondArr : any[] > : ^^^^^ >args : { firstArr: any[]; secondArr: any[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >secondArr : any[] > : ^^^^^ @@ -1110,7 +1110,7 @@ reducer("add", { a: 1, b: 3 }); >reducer("add", { a: 1, b: 3 }) : void > : ^^^^ >reducer : (...args: ReducerArgs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"add" : "add" > : ^^^^^ >{ a: 1, b: 3 } : { a: number; b: number; } @@ -1128,7 +1128,7 @@ reducer("concat", { firstArr: [1, 2], secondArr: [3, 4] }); >reducer("concat", { firstArr: [1, 2], secondArr: [3, 4] }) : void > : ^^^^ >reducer : (...args: ReducerArgs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"concat" : "concat" > : ^^^^^^^^ >{ firstArr: [1, 2], secondArr: [3, 4] } : { firstArr: number[]; secondArr: number[]; } @@ -1177,15 +1177,15 @@ let fooM: FooMethod = { >fooM : FooMethod > : ^^^^^^^^^ >{ method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): void; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^ method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1199,7 +1199,7 @@ let fooM: FooMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1208,7 +1208,7 @@ let fooM: FooMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1240,15 +1240,15 @@ let fooAsyncM: FooAsyncMethod = { >fooAsyncM : FooAsyncMethod > : ^^^^^^^^^^^^^^ >{ async method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): Promise; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ async method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => Promise -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1262,7 +1262,7 @@ let fooAsyncM: FooAsyncMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1271,7 +1271,7 @@ let fooAsyncM: FooAsyncMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1303,15 +1303,15 @@ let fooGenM: FooGenMethod = { >fooGenM : FooGenMethod > : ^^^^^^^^^^^^ >{ *method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): Generator; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => Generator -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1325,7 +1325,7 @@ let fooGenM: FooGenMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1334,7 +1334,7 @@ let fooGenM: FooGenMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1366,15 +1366,15 @@ let fooAsyncGenM: FooAsyncGenMethod = { >fooAsyncGenM : FooAsyncGenMethod > : ^^^^^^^^^^^^^^^^^ >{ async *method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): AsyncGenerator; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async *method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => AsyncGenerator -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1388,7 +1388,7 @@ let fooAsyncGenM: FooAsyncGenMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1397,7 +1397,7 @@ let fooAsyncGenM: FooAsyncGenMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1434,11 +1434,11 @@ const f60: Func = (kind, payload) => { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === "b") { >kind === "b" : boolean @@ -1452,11 +1452,11 @@ const f60: Func = (kind, payload) => { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } }; @@ -1632,7 +1632,7 @@ function fa2(x: { guard: true, value: number } | { guard: false, value: string } >value : string | number > : ^^^^^^^^^^^^^^^ >x : { guard: true; value: number; } | { guard: false; value: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ if (guard) { >guard : boolean @@ -1741,11 +1741,11 @@ bot.on("shardDisconnect", (event, shard) => console.log(`Shard ${shard} disconne >bot.on("shardDisconnect", (event, shard) => console.log(`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}`)) : void > : ^^^^ >bot.on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >bot : Client > : ^^^^^^ >on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"shardDisconnect" : "shardDisconnect" > : ^^^^^^^^^^^^^^^^^ >(event, shard) => console.log(`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}`) : (event: CloseEvent, shard: number) => void @@ -1757,11 +1757,11 @@ bot.on("shardDisconnect", (event, shard) => console.log(`Shard ${shard} disconne >console.log(`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}` : string > : ^^^^^^ >shard : number @@ -1789,11 +1789,11 @@ bot.on("shardDisconnect", event => console.log(`${event.code} ${event.wasClean} >bot.on("shardDisconnect", event => console.log(`${event.code} ${event.wasClean} ${event.reason}`)) : void > : ^^^^ >bot.on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >bot : Client > : ^^^^^^ >on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"shardDisconnect" : "shardDisconnect" > : ^^^^^^^^^^^^^^^^^ >event => console.log(`${event.code} ${event.wasClean} ${event.reason}`) : (event: CloseEvent) => void @@ -1803,11 +1803,11 @@ bot.on("shardDisconnect", event => console.log(`${event.code} ${event.wasClean} >console.log(`${event.code} ${event.wasClean} ${event.reason}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`${event.code} ${event.wasClean} ${event.reason}` : string > : ^^^^^^ >event.code : number @@ -1953,11 +1953,11 @@ function parameterReassigned1([x, y]: [1, 2] | [3, 4]) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x = 1; >x = 1 : 1 @@ -1993,11 +1993,11 @@ function parameterReassigned2([x, y]: [1, 2] | [3, 4]) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ y = 2; >y = 2 : 2 @@ -2039,11 +2039,11 @@ const parameterReassignedContextualRest1: (...args: [1, 2] | [3, 4]) => void = ( >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ y = 2; >y = 2 : 2 diff --git a/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types b/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types index 3eb3de9a0dade..7d871cf0349ca 100644 --- a/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types +++ b/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types @@ -61,15 +61,15 @@ async function myAllSettled(fn: () => T) { >Promise.allSettled(fn()) : Promise<{ -readonly [P in keyof T]: PromiseSettledResult>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.allSettled : { (values: T_1): Promise<{ -readonly [P in keyof T_1]: PromiseSettledResult>; }>; (values: Iterable>): Promise>[]>; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >allSettled : { (values: T_1): Promise<{ -readonly [P in keyof T_1]: PromiseSettledResult>; }>; (values: Iterable>): Promise>[]>; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >fn() : T > : ^ >fn : () => T -> : ^^^^^^^ +> : ^^^^^^ return promises.map((result) => >promises.map((result) => result.status === "fulfilled" ? [result.value, undefined] : [undefined, new Error(String(result.reason))], ) as { [K in keyof T]: [Awaited, undefined] | [undefined, Error] } : { [K in keyof T]: [undefined, Error] | [Awaited, undefined]; } @@ -77,11 +77,11 @@ async function myAllSettled(fn: () => T) { >promises.map((result) => result.status === "fulfilled" ? [result.value, undefined] : [undefined, new Error(String(result.reason))], ) : ([undefined, Error] | [unknown, undefined])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >promises.map : (callbackfn: (value: PromiseSettledResult, index: number, array: PromiseSettledResult[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >promises : { -readonly [P in keyof T]: PromiseSettledResult>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: PromiseSettledResult, index: number, array: PromiseSettledResult[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(result) => result.status === "fulfilled" ? [result.value, undefined] : [undefined, new Error(String(result.reason))] : (result: PromiseSettledResult) => [undefined, Error] | [unknown, undefined] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : PromiseSettledResult @@ -163,21 +163,21 @@ async function test3() { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -204,11 +204,11 @@ function test4([[p1, p1Error]]: [[undefined, Error] | [number, undefined]]) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ p1 = undefined; >p1 = undefined : undefined diff --git a/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types b/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types index 4dc19a401ce19..7c5eebffee248 100644 --- a/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types +++ b/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types @@ -77,11 +77,11 @@ class D extends C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers.types index 813dbed489aae..7603e765cc998 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers.types @@ -21,81 +21,81 @@ class Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected d: (a: typeof x) => void; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static u: (a: typeof x) => void; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived extends Base { @@ -106,86 +106,86 @@ class Derived extends Base { protected a: typeof y; >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected b(a: typeof y) { } >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected get c() { return y; } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected set c(v: typeof y) { } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >v : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected d: (a: typeof y) => void; >d : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static r: typeof y; >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static s(a: typeof y) { } >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static get t() { return y; } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static set t(a: typeof y) { } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static u: (a: typeof y) => void; >u : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ constructor(a: typeof y) { super(x) } >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >super(x) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types index ca825cabb0033..6f707b8aaee38 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types @@ -21,81 +21,81 @@ class Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected d: (a: typeof x) => void ; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static u: (a: typeof x) => void ; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } // Increase visibility of all protected members to public @@ -107,87 +107,87 @@ class Derived extends Base { a: typeof y; >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ b(a: typeof y) { } >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ get c() { return y; } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ set c(v: typeof y) { } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >v : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ d: (a: typeof y) => void; >d : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static r: typeof y; >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static s(a: typeof y) { } >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static get t() { return y; } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static set t(a: typeof y) { } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static u: (a: typeof y) => void; >u : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ constructor(a: typeof y) { super(a); } >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var d: Derived = new Derived(y); @@ -198,17 +198,17 @@ var d: Derived = new Derived(y); >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r1 = d.a; >r1 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r2 = d.b(y); >r2 : void @@ -222,49 +222,49 @@ var r2 = d.b(y); >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3 = d.c; >r3 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3a = d.d; >r3a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d.d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : Derived > : ^^^^^^^ >d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ d.c = y; >d.c = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r4 = Derived.r; >r4 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r5 = Derived.s(y); >r5 : void @@ -278,39 +278,39 @@ var r5 = Derived.s(y); >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6 = Derived.t; >r6 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6a = Derived.u; >r6a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived.u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ Derived.t = y; >Derived.t = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ class Base2 { >Base2 : Base2 @@ -324,7 +324,7 @@ class Base2 { >i : number > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Base2 { @@ -337,13 +337,13 @@ class Derived2 extends Base2 { >i : string > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ [i: number]: typeof y; >i : number > : ^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var d2: Derived2; @@ -352,9 +352,9 @@ var d2: Derived2; var r7 = d2['']; >r7 : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2[''] : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >'' : "" @@ -362,9 +362,9 @@ var r7 = d2['']; var r8 = d2[1]; >r8 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2[1] : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types index 049dca2fa706c..aa4409a7b9dc6 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types @@ -21,81 +21,81 @@ class Base { a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d: (a: typeof x) => void; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static u: (a: typeof x) => void; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) {} >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } // Errors @@ -108,21 +108,21 @@ class Derived1 extends Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Base { @@ -135,21 +135,21 @@ class Derived2 extends Base { >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived3 extends Base { @@ -160,21 +160,21 @@ class Derived3 extends Base { protected get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived4 extends Base { @@ -185,23 +185,23 @@ class Derived4 extends Base { protected set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived5 extends Base { @@ -214,21 +214,21 @@ class Derived5 extends Base { >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived6 extends Base { @@ -239,21 +239,21 @@ class Derived6 extends Base { protected static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived7 extends Base { @@ -266,21 +266,21 @@ class Derived7 extends Base { >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived8 extends Base { @@ -291,21 +291,21 @@ class Derived8 extends Base { protected static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived9 extends Base { @@ -316,23 +316,23 @@ class Derived9 extends Base { protected static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived10 extends Base { @@ -345,19 +345,19 @@ class Derived10 extends Base { >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types index 0af5b462891ab..bbaef41824619 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types @@ -21,9 +21,9 @@ class Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived1 extends Base { @@ -34,9 +34,9 @@ class Derived1 extends Base { public a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Derived1 { @@ -47,7 +47,7 @@ class Derived2 extends Derived1 { protected a: typeof x; // Error, parent was public >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/derivedClassOverridesPublicMembers.types b/tests/baselines/reference/derivedClassOverridesPublicMembers.types index 726b068416b70..fe7ec6691bdff 100644 --- a/tests/baselines/reference/derivedClassOverridesPublicMembers.types +++ b/tests/baselines/reference/derivedClassOverridesPublicMembers.types @@ -21,81 +21,81 @@ class Base { a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d: (a: typeof x) => void; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static u: (a: typeof x) => void; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived extends Base { @@ -106,87 +106,87 @@ class Derived extends Base { a: typeof y; >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ b(a: typeof y) { } >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ get c() { return y; } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ set c(v: typeof y) { } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >v : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ d: (a: typeof y) => void; >d : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static r: typeof y; >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static s(a: typeof y) { } >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static get t() { return y; } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static set t(a: typeof y) { } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static u: (a: typeof y) => void; >u : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ constructor(a: typeof y) { super(x) } >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >super(x) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } var d: Derived = new Derived(y); @@ -197,17 +197,17 @@ var d: Derived = new Derived(y); >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r1 = d.a; >r1 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r2 = d.b(y); >r2 : void @@ -221,49 +221,49 @@ var r2 = d.b(y); >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3 = d.c; >r3 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3a = d.d; >r3a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d.d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : Derived > : ^^^^^^^ >d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ d.c = y; >d.c = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r4 = Derived.r; >r4 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r5 = Derived.s(y); >r5 : void @@ -277,39 +277,39 @@ var r5 = Derived.s(y); >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6 = Derived.t; >r6 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6a = Derived.u; >r6a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived.u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ Derived.t = y; >Derived.t = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ class Base2 { >Base2 : Base2 @@ -323,7 +323,7 @@ class Base2 { >i : number > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Base2 { @@ -336,13 +336,13 @@ class Derived2 extends Base2 { >i : string > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ [i: number]: typeof y; >i : number > : ^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var d2: Derived2; @@ -351,9 +351,9 @@ var d2: Derived2; var r7 = d2['']; >r7 : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2[''] : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >'' : "" @@ -361,9 +361,9 @@ var r7 = d2['']; var r8 = d2[1]; >r8 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2[1] : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/derivedClassSuperProperties.types b/tests/baselines/reference/derivedClassSuperProperties.types index 42b7b6c0eed4b..746334a3170e5 100644 --- a/tests/baselines/reference/derivedClassSuperProperties.types +++ b/tests/baselines/reference/derivedClassSuperProperties.types @@ -785,11 +785,11 @@ class DerivedWithClassExpression extends Base { >console.log(class { private method() { return this; } private property = 7; constructor() { this.property; this.method(); } }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >class { private method() { return this; } private property = 7; constructor() { this.property; this.method(); } } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -852,11 +852,11 @@ class DerivedWithClassExpressionExtendingMember extends Base { >console.log(class extends this.memberClass { }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >class extends this.memberClass { } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >this.memberClass : (Anonymous class) @@ -891,11 +891,11 @@ class DerivedWithDerivedClassExpression extends Base { >console.log(class extends Base { constructor() { super(); } public foo() { return this; } public bar = () => this; }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >class extends Base { constructor() { super(); } public foo() { return this; } public bar = () => this; } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Base : Base @@ -950,11 +950,11 @@ class DerivedWithNewDerivedClassExpression extends Base { >console.log(new class extends Base { constructor() { super(); } }()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new class extends Base { constructor() { super(); } }() : (Anonymous class) > : ^^^^^^^^^^^^^^^^^ >class extends Base { constructor() { super(); } } : typeof (Anonymous class) diff --git a/tests/baselines/reference/derivedClassSuperStatementPosition.types b/tests/baselines/reference/derivedClassSuperStatementPosition.types index ec5501ca8400b..926e4433bd9c1 100644 --- a/tests/baselines/reference/derivedClassSuperStatementPosition.types +++ b/tests/baselines/reference/derivedClassSuperStatementPosition.types @@ -144,11 +144,11 @@ class DerivedComments extends Object { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // c3 super(); // c4 @@ -193,11 +193,11 @@ class DerivedCommentsInvalidThis extends Object { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // c3 super(); // c4 @@ -240,11 +240,11 @@ class DerivedInConditional extends Object { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ ? super(1) >super(1) : void @@ -281,11 +281,11 @@ class DerivedInIf extends Object { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(1); >super(1) : void @@ -356,11 +356,11 @@ class DerivedInConditionalWithProperties extends Object { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(1); >super(1) : void diff --git a/tests/baselines/reference/derivedClassWithAny.types b/tests/baselines/reference/derivedClassWithAny.types index 21be102ca3839..ce6bd848ddc9a 100644 --- a/tests/baselines/reference/derivedClassWithAny.types +++ b/tests/baselines/reference/derivedClassWithAny.types @@ -171,9 +171,9 @@ var r = c.foo(); // e.foo would return string >c.foo() : number > : ^^^^^^ >c.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types index b6e56ca6f925f..003ed93176cf2 100644 --- a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types +++ b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types @@ -91,11 +91,11 @@ var r3 = Base.fn(); // ok >Base.fn() : string > : ^^^^^^ >Base.fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Base : typeof Base > : ^^^^^^^^^^^ >fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r4 = Derived.fn(); // error >r4 : string @@ -103,11 +103,11 @@ var r4 = Derived.fn(); // error >Derived.fn() : string > : ^^^^^^ >Derived.fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r5 = Base.a; // ok >r5 : number diff --git a/tests/baselines/reference/derivedInterfaceCallSignature.types b/tests/baselines/reference/derivedInterfaceCallSignature.types index 5884c975ecbf2..ab1cf1b00c331 100644 --- a/tests/baselines/reference/derivedInterfaceCallSignature.types +++ b/tests/baselines/reference/derivedInterfaceCallSignature.types @@ -64,7 +64,7 @@ interface D3SvgArea extends D3SvgPath { y0(): (data: any, index?: number) => number; >y0 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data : any > : ^^^ >index : number @@ -72,13 +72,13 @@ interface D3SvgArea extends D3SvgPath { y0(y: number): D3SvgArea; >y0 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : number > : ^^^^^^ y0(y: (data: any, index?: number) => number): D3SvgArea; >y0 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : (data: any, index?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^ >data : any @@ -88,7 +88,7 @@ interface D3SvgArea extends D3SvgPath { y1(): (data: any, index?: number) => number; >y1 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data : any > : ^^^ >index : number @@ -96,13 +96,13 @@ interface D3SvgArea extends D3SvgPath { y1(y: number): D3SvgArea; >y1 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : number > : ^^^^^^ y1(y: (data: any, index?: number) => number): D3SvgArea; >y1 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : (data: any, index?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^ >data : any @@ -143,11 +143,11 @@ area.interpolate('two')('one'); >area.interpolate('two') : D3SvgArea > : ^^^^^^^^^ >area.interpolate : (interpolator: string) => D3SvgArea -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >area : D3SvgArea > : ^^^^^^^^^ >interpolate : (interpolator: string) => D3SvgArea -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'two' : "two" > : ^^^^^ >'one' : "one" diff --git a/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types b/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types index 96ec782576b6c..12cec82c8f57c 100644 --- a/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types +++ b/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types @@ -61,7 +61,7 @@ interface Derived5 extends Base { interface Derived5 extends Base { '1': { x: number } // error >'1' : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types index bba2cc55e4377..23957ac200792 100644 --- a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types +++ b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types @@ -48,15 +48,15 @@ class Derived extends Base { var r = super.foo({ a: 1 }); // { a: number } >r : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo({ a: 1 }) : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -66,15 +66,15 @@ class Derived extends Base { var r2 = super.foo({ a: 1, b: 2 }); // { a: number } >r2 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo({ a: 1, b: 2 }) : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -88,15 +88,15 @@ class Derived extends Base { var r3 = this.foo({ a: 1, b: 2 }); // { a: number; b: number; } >r3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >this.foo({ a: 1, b: 2 }) : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >this.foo : (x: { a: number; b: number; }) => { a: number; b: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >foo : (x: { a: number; b: number; }) => { a: number; b: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types b/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types index 72db3401c658b..853e5010cb57b 100644 --- a/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types +++ b/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types @@ -264,11 +264,11 @@ class M extends L { >console.log(this.a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.a : number > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/destructionAssignmentError.types b/tests/baselines/reference/destructionAssignmentError.types index 8f69183e3e592..3a592c030ae26 100644 --- a/tests/baselines/reference/destructionAssignmentError.types +++ b/tests/baselines/reference/destructionAssignmentError.types @@ -19,9 +19,9 @@ let b: number; ({ a, b } = fn()); >({ a, b } = fn()) : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } = fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -29,9 +29,9 @@ let b: number; >b : number > : ^^^^^^ >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ { a, b } = fn(); >a, b : number @@ -41,15 +41,15 @@ let b: number; >b : number > : ^^^^^^ >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ({ a, b } = >({ a, b } =fn()) : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } =fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -59,9 +59,9 @@ let b: number; fn()); >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ { a, b } >a, b : number @@ -73,7 +73,7 @@ fn()); = fn(); >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructureComputedProperty.types b/tests/baselines/reference/destructureComputedProperty.types index 30240553f833e..b5dca8ac366ee 100644 --- a/tests/baselines/reference/destructureComputedProperty.types +++ b/tests/baselines/reference/destructureComputedProperty.types @@ -21,7 +21,7 @@ const { [nameN]: n } = ab; >n : string | number > : ^^^^^^^^^^^^^^^ >ab : { n: number; } | { n: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ class C { private p: number; } >C : C diff --git a/tests/baselines/reference/destructureOfVariableSameAsShorthand.types b/tests/baselines/reference/destructureOfVariableSameAsShorthand.types index 5903c30fb35d7..15a04e9267be2 100644 --- a/tests/baselines/reference/destructureOfVariableSameAsShorthand.types +++ b/tests/baselines/reference/destructureOfVariableSameAsShorthand.types @@ -21,13 +21,13 @@ async function main() { >get().then((response) => { // body is never const body = response.data; }) : Promise > : ^^^^^^^^^^^^^ >get().then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(response) => { // body is never const body = response.data; } : (response: AxiosResponse) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >response : AxiosResponse @@ -49,13 +49,13 @@ async function main() { >get().then(({ data }) => { // data is never }) : Promise > : ^^^^^^^^^^^^^ >get().then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >({ data }) => { // data is never } : ({ data }: AxiosResponse) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >data : never @@ -71,7 +71,7 @@ async function main() { >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ // body is never const body = response.data; @@ -93,7 +93,7 @@ async function main() { >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ // The following did not work as expected. // shouldBeNever should be never, but was any @@ -107,5 +107,5 @@ async function main() { >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/destructureTupleWithVariableElement.types b/tests/baselines/reference/destructureTupleWithVariableElement.types index b6de3ada9ff29..c64be371346c7 100644 --- a/tests/baselines/reference/destructureTupleWithVariableElement.types +++ b/tests/baselines/reference/destructureTupleWithVariableElement.types @@ -31,31 +31,31 @@ s0.toUpperCase() >s0.toUpperCase() : string > : ^^^^^^ >s0.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s0 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s1.toUpperCase() >s1.toUpperCase() : string > : ^^^^^^ >s1.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s1 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s2.toUpperCase() >s2.toUpperCase() : string > : ^^^^^^ >s2.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s2 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare const strings2: [string, ...Array, string] >strings2 : [string, ...string[], string] @@ -75,29 +75,29 @@ s3.toUpperCase() >s3.toUpperCase() : string > : ^^^^^^ >s3.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s3 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s4.toUpperCase() >s4.toUpperCase() : string > : ^^^^^^ >s4.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s4 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s5.toUpperCase() >s5.toUpperCase() : string > : ^^^^^^ >s5.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s5 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructuredDeclarationEmit.types b/tests/baselines/reference/destructuredDeclarationEmit.types index 980fe33639c1e..5329e83ccc2e4 100644 --- a/tests/baselines/reference/destructuredDeclarationEmit.types +++ b/tests/baselines/reference/destructuredDeclarationEmit.types @@ -73,20 +73,20 @@ export { foo, arr }; >foo : { bar: string; bat: string; bam: { bork: { bar: string; baz: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ === index.ts === import { foo, arr } from './foo'; >foo : { bar: string; bat: string; bam: { bork: { bar: string; baz: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ export { foo, arr }; >foo : { bar: string; bat: string; bam: { bork: { bar: string; baz: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ const { bar: baz, bat, bam: { bork: { bar: ibar, baz: ibaz } } } = foo; >bar : any @@ -134,7 +134,7 @@ const [ , one, , [, bee, , [, {sec} ]]] = arr; >sec : "sec" > : ^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ export { one, bee, sec }; >one : 1 diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types index 9c15d6b2b210d..a72bf873fb4ca 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types @@ -9,7 +9,7 @@ let { [Symbol.iterator]: destructured } = []; >iterator : unique symbol > : ^^^^^^^^^^^^^ >destructured : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -17,7 +17,7 @@ void destructured; >void destructured : undefined > : ^^^^^^^^^ >destructured : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ const named = "prop"; >named : "prop" diff --git a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types index 4e5e701af67a3..ad8ab16432045 100644 --- a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types +++ b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types @@ -72,7 +72,7 @@ var [b3 = "string", b4, b5] = bar(); // Error >bar() : J > : ^ >bar : () => J -> : ^^^^^^^ +> : ^^^^^^ // V is an array assignment pattern, S is the type Any or an array-like type (section 3.3.2), and, for each assignment element E in V, // S is not a tuple- like type and the numeric index signature type of S is assignable to the target given in E. @@ -145,7 +145,7 @@ var [c4, c5, c6] = foo(1); // Error >foo(1) : F > : ^ >foo : (idx: number) => F -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault.types b/tests/baselines/reference/destructuringAssignmentWithDefault.types index 7efe6087b35e8..3a4ae7031d088 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault.types @@ -16,18 +16,18 @@ let x = 0; > : ^ ({x = 1} = a); ->({x = 1} = a) : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{x = 1} = a : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({x = 1} = a) : { x?: number; } +> : ^^^^^^ ^^^ +>{x = 1} = a : { x?: number; } +> : ^^^^^^ ^^^ >{x = 1} : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ ->a : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; } +> : ^^^^^^ ^^^ // Repro from #26235 @@ -46,28 +46,28 @@ function f1(options?: { color?: string, width?: number }) { > : ^^^^^^^^^^^^^^^^^^ >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ ({ color, width } = options || {}); ->({ color, width } = options || {}) : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ color, width } = options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ color, width } = options || {}) : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>{ color, width } = options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ >{ color, width } : { color: string | undefined; width: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >color : string | undefined > : ^^^^^^^^^^^^^^^^^^ >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ @@ -76,12 +76,12 @@ function f1(options?: { color?: string, width?: number }) { > : ^^^^^^^^^^^^^^^^^^ >(options || {}).color : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->(options || {}) : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(options || {}) : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >color : string | undefined @@ -92,12 +92,12 @@ function f1(options?: { color?: string, width?: number }) { > : ^^^^^^^^^^^^^^^^^^ >(options || {})["color"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->(options || {}) : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(options || {}) : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >"color" : "color" @@ -171,17 +171,17 @@ function f3(options?: { color: string, width: number }) { >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ ({ color, width } = options || {}); >({ color, width } = options || {}) : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >{ color, width } = options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >{ color, width } : { color: string | undefined; width: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >color : string | undefined @@ -189,9 +189,9 @@ function f3(options?: { color: string, width: number }) { >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ @@ -201,11 +201,11 @@ function f3(options?: { color: string, width: number }) { >(options || {}).color : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(options || {}) : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >color : string | undefined @@ -217,11 +217,11 @@ function f3(options?: { color: string, width: number }) { >(options || {})["color"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(options || {}) : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >"color" : "color" diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault2.types b/tests/baselines/reference/destructuringAssignmentWithDefault2.types index d4db43b1ccd92..9f76ce73a3f75 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault2.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault2.types @@ -17,24 +17,24 @@ let x: number; // Should not error out ({ x = 0 } = a); ->({ x = 0 } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x = 0 } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x = 0 } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x = 0 } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x = 0 } : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ x: x = 0} = a); ->({ x: x = 0} = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x: x = 0} = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x: x = 0} = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x: x = 0} = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: x = 0} : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number @@ -45,14 +45,14 @@ let x: number; > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ y: x = 0} = a); ->({ y: x = 0} = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y: x = 0} = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y: x = 0} = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ y: x = 0} = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ y: x = 0} : { y?: number; } > : ^^^^^^^^^^^^^^^ >y : number @@ -63,29 +63,29 @@ let x: number; > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ // Should be error ({ x = undefined } = a); ->({ x = undefined } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x = undefined } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x = undefined } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x = undefined } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x = undefined } : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ x: x = undefined } = a); ->({ x: x = undefined } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x: x = undefined } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x: x = undefined } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x: x = undefined } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: x = undefined } : { x?: undefined; } > : ^^^^^^^^^^^^^^^^^^ >x : undefined @@ -96,14 +96,14 @@ let x: number; > : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ y: x = undefined } = a); ->({ y: x = undefined } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y: x = undefined } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y: x = undefined } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ y: x = undefined } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ y: x = undefined } : { y?: undefined; } > : ^^^^^^^^^^^^^^^^^^ >y : undefined @@ -114,16 +114,16 @@ let x: number; > : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ const { x: z1 } = a; >x : any > : ^^^ >z1 : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ const { x: z2 = 0 } = a; >x : any @@ -132,8 +132,8 @@ const { x: z2 = 0 } = a; > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ const { x: z3 = undefined } = a; >x : any @@ -142,8 +142,8 @@ const { x: z3 = undefined } = a; > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ declare const r: Iterator; @@ -174,11 +174,11 @@ let value; >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ >r : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ({ done: done = false, value } = r.next()); >({ done: done = false, value } = r.next()) : IteratorResult @@ -200,9 +200,9 @@ let value; >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ >r : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/destructuringControlFlow.types b/tests/baselines/reference/destructuringControlFlow.types index 2923879953f5e..053f79fdf6504 100644 --- a/tests/baselines/reference/destructuringControlFlow.types +++ b/tests/baselines/reference/destructuringControlFlow.types @@ -12,16 +12,16 @@ function f1(obj: { a?: string }) { if (obj.a) { >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ obj = {}; >obj = {} : {} > : ^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >{} : {} > : ^^ @@ -30,8 +30,8 @@ function f1(obj: { a?: string }) { > : ^^^^^^^^^^^^^^^^^^ >obj["a"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >"a" : "a" > : ^^^ @@ -40,8 +40,8 @@ function f1(obj: { a?: string }) { > : ^^^^^^^^^^^^^^^^^^ >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -170,14 +170,14 @@ function f3(obj: { a?: number, b?: string }) { > : ^^^^^^^^^^^^^^^^^^^^^^ >obj.a : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ >a : number | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -186,22 +186,22 @@ function f3(obj: { a?: number, b?: string }) { > : ^^^^^^ >b : string > : ^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ ({ a, b } = obj); ->({ a, b } = obj) : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ a, b } = obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ a, b } = obj) : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ a, b } = obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ >{ a, b } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >b : string > : ^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ } } diff --git a/tests/baselines/reference/destructuringFromUnionSpread.types b/tests/baselines/reference/destructuringFromUnionSpread.types index fb7a915548f02..a9eb75f2347f2 100644 --- a/tests/baselines/reference/destructuringFromUnionSpread.types +++ b/tests/baselines/reference/destructuringFromUnionSpread.types @@ -17,7 +17,7 @@ const { a } = { ...x } // error >a : any > : ^^^ >{ ...x } : { a: any; } | { a: any; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >x : A | B > : ^^^^^ diff --git a/tests/baselines/reference/destructuringInVariableDeclarations1.types b/tests/baselines/reference/destructuringInVariableDeclarations1.types index a3025af3d037a..a1e660c3af843 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations1.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations1.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations1.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations2.types b/tests/baselines/reference/destructuringInVariableDeclarations2.types index 37135e27f8cd1..851a433175455 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations2.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations2.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations2.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations3.types b/tests/baselines/reference/destructuringInVariableDeclarations3.types index 1a5fa6a9597dd..aa7a597035684 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations3.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations3.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations3.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations4.types b/tests/baselines/reference/destructuringInVariableDeclarations4.types index a8a7029eae502..b988d34ffe1f9 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations4.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations4.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations4.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.types b/tests/baselines/reference/destructuringInVariableDeclarations5.types index 3d57574bc248a..ede17f72c2927 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations5.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations5.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.types b/tests/baselines/reference/destructuringInVariableDeclarations6.types index 96dbd5a8217ee..d935276f31d12 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations6.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations6.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.types b/tests/baselines/reference/destructuringInVariableDeclarations7.types index dccbbec18cf3a..aa669b92d810e 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations7.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations7.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.types b/tests/baselines/reference/destructuringInVariableDeclarations8.types index f3babedf63f97..40cd2697800dd 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations8.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations8.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types index 878b23804749e..f80cb2091ec85 100644 --- a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types +++ b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types @@ -18,7 +18,7 @@ const Parent: SFC = ({ >Parent : SFC > : ^^^^^^^^^^ >({ children, name = "Artemis", ...props}) => Child({name, ...props}) : ({ children, name, ...props }: Props & { children?: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ children, >children : any @@ -49,7 +49,7 @@ const Child: SFC = ({ >Child : SFC > : ^^^^^^^^^^ >({ children, name = "Artemis", ...props}) => `name: ${name} props: ${JSON.stringify(props)}` : ({ children, name, ...props }: Props & { children?: any; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ children, >children : any @@ -73,11 +73,11 @@ const Child: SFC = ({ >JSON.stringify(props) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >props : {} > : ^^ @@ -95,7 +95,7 @@ f(([_1, _2 = undefined]) => undefined) >f(([_1, _2 = undefined]) => undefined) : void > : ^^^^ >f : (g: (as: string[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >([_1, _2 = undefined]) => undefined : ([_1, _2]: string[]) => undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >_1 : string diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types index 17fcfbcddd41a..b91838a7a77ee 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types @@ -137,7 +137,7 @@ var {1: c0} = foo(); >foo() : F > : ^ >foo : () => F -> : ^^^^^^^ +> : ^^^^^^ var {1: c1} = bar(); >c1 : boolean @@ -145,7 +145,7 @@ var {1: c1} = bar(); >bar() : F > : ^ >bar : () => F -> : ^^^^^^^ +> : ^^^^^^ // V is an object assignment pattern and, for each assignment property P in V, // S has a string index signature of a type that is assignable to the target given in P @@ -178,7 +178,7 @@ var {"prop1": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ var {"prop2": d1} = foo1(); >d1 : number @@ -186,5 +186,5 @@ var {"prop2": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types index 842b93dd57c1e..3bfae7da8a707 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types @@ -137,7 +137,7 @@ var {1: c0} = foo(); >foo() : F > : ^ >foo : () => F -> : ^^^^^^^ +> : ^^^^^^ var {1: c1} = bar(); >c1 : boolean @@ -145,7 +145,7 @@ var {1: c1} = bar(); >bar() : F > : ^ >bar : () => F -> : ^^^^^^^ +> : ^^^^^^ // V is an object assignment pattern and, for each assignment property P in V, // S has a string index signature of a type that is assignable to the target given in P @@ -178,7 +178,7 @@ var {"prop1": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ var {"prop2": d1} = foo1(); >d1 : number @@ -186,5 +186,5 @@ var {"prop2": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types index 5717c435382f3..e87a039bb9fb3 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types @@ -50,11 +50,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types index 5717c435382f3..e87a039bb9fb3 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types @@ -50,11 +50,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types index 3a3e8665d99ff..291a2b61432e7 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types @@ -70,11 +70,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types index 3a3e8665d99ff..291a2b61432e7 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types @@ -70,11 +70,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types index 8d167fd6a6f88..36d767841dc12 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types @@ -72,11 +72,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types index 8d167fd6a6f88..36d767841dc12 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types @@ -72,11 +72,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types index 02fd93779e957..5d8a6dcf495ba 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types @@ -145,9 +145,9 @@ function f4() { >a : number > : ^^^^^^ >yadda ?? {} : { a?: number; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >yadda : { a?: number; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >{} : {} > : ^^ } diff --git a/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types b/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types index 60cc01da8db8d..e2614cc8e411c 100644 --- a/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types +++ b/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types @@ -16,9 +16,9 @@ function qux(bar: { value: number }) { ({ value: foo } = bar); >({ value: foo } = bar) : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ value: foo } = bar : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ value: foo } : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -26,15 +26,15 @@ function qux(bar: { value: number }) { >foo : number > : ^^^^^^ >bar : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ let x = () => bar; >x : () => { value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >() => bar : () => { value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >bar : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/destructuringTuple.types b/tests/baselines/reference/destructuringTuple.types index 4b8d70ee1381e..cfe1b4c4e9108 100644 --- a/tests/baselines/reference/destructuringTuple.types +++ b/tests/baselines/reference/destructuringTuple.types @@ -63,11 +63,11 @@ const [oops1] = [1, 2, 3].reduce((accu, el) => accu.concat(el), []); >accu.concat(el) : never[] > : ^^^^^^^ >accu.concat : { (...items: ConcatArray[]): never[]; (...items: ConcatArray[]): never[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >accu : [] > : ^^ >concat : { (...items: ConcatArray[]): never[]; (...items: ConcatArray[]): never[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >el : number > : ^^^^^^ >[] : never[] @@ -99,11 +99,11 @@ const [oops2] = [1, 2, 3].reduce((acc: number[], e) => acc.concat(e), []); >acc.concat(e) : number[] > : ^^^^^^^^ >acc.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >acc : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >e : number > : ^^^^^^ >[] : never[] diff --git a/tests/baselines/reference/destructuringTypeGuardFlow.types b/tests/baselines/reference/destructuringTypeGuardFlow.types index 10fed10b0a938..1b80b443cb905 100644 --- a/tests/baselines/reference/destructuringTypeGuardFlow.types +++ b/tests/baselines/reference/destructuringTypeGuardFlow.types @@ -65,11 +65,11 @@ if (aFoo.bar && aFoo.nested.b) { >aFoo.nested.b : string | null > : ^^^^^^^^^^^^^ >aFoo.nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >aFoo : foo > : ^^^ >nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : string | null > : ^^^^^^^^^^^^^ @@ -176,7 +176,7 @@ if (bBar.elem2 && bBar.elem2.bar && bBar.elem2.nested.b) { >bBar.elem2.nested.b : string | null > : ^^^^^^^^^^^^^ >bBar.elem2.nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >bBar.elem2 : foo > : ^^^ >bBar : { elem1: number; elem2: foo; } @@ -184,7 +184,7 @@ if (bBar.elem2 && bBar.elem2.bar && bBar.elem2.nested.b) { >elem2 : foo > : ^^^ >nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : string | null > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/destructuringUnspreadableIntoRest.types b/tests/baselines/reference/destructuringUnspreadableIntoRest.types index 0286ca429cc38..cc87560aed5a5 100644 --- a/tests/baselines/reference/destructuringUnspreadableIntoRest.types +++ b/tests/baselines/reference/destructuringUnspreadableIntoRest.types @@ -47,7 +47,7 @@ class A { const { ...rest2 } = this as A; >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >this as A : A > : ^ >this : this @@ -87,7 +87,7 @@ class A { >rest2.publicProp : string > : ^^^^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >publicProp : string > : ^^^^^^ @@ -119,7 +119,7 @@ class A { >rest2.privateProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >privateProp : any > : ^^^ @@ -151,7 +151,7 @@ class A { >rest2.protectedProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >protectedProp : any > : ^^^ @@ -183,7 +183,7 @@ class A { >rest2.getter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >getter : any > : ^^^ @@ -215,7 +215,7 @@ class A { >rest2.setter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >setter : any > : ^^^ @@ -247,7 +247,7 @@ class A { >rest2.method : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >method : any > : ^^^ @@ -283,7 +283,7 @@ function destructure(x: T) { const { ...rest2 } = x as A; >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x as A : A > : ^ >x : T @@ -323,7 +323,7 @@ function destructure(x: T) { >rest2.publicProp : string > : ^^^^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >publicProp : string > : ^^^^^^ @@ -355,7 +355,7 @@ function destructure(x: T) { >rest2.privateProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >privateProp : any > : ^^^ @@ -387,7 +387,7 @@ function destructure(x: T) { >rest2.protectedProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >protectedProp : any > : ^^^ @@ -419,7 +419,7 @@ function destructure(x: T) { >rest2.getter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >getter : any > : ^^^ @@ -451,7 +451,7 @@ function destructure(x: T) { >rest2.setter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >setter : any > : ^^^ @@ -483,7 +483,7 @@ function destructure(x: T) { >rest2.method : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >method : any > : ^^^ diff --git a/tests/baselines/reference/destructuringWithGenericParameter.types b/tests/baselines/reference/destructuringWithGenericParameter.types index a16d0c71c4707..d37cb3fb0ecb2 100644 --- a/tests/baselines/reference/destructuringWithGenericParameter.types +++ b/tests/baselines/reference/destructuringWithGenericParameter.types @@ -34,7 +34,7 @@ function genericFunction(object: GenericClass, callback: (payload: T) => v >callback(object.payload) : void > : ^^^^ >callback : (payload: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >object.payload : T > : ^ >object : GenericClass @@ -49,9 +49,9 @@ genericFunction(genericObject, ({greeting}) => { >genericFunction : (object: GenericClass, callback: (payload: T) => void) => void > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >genericObject : GenericClass<{ greeting: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >({greeting}) => { var s = greeting.toLocaleLowerCase(); // Greeting should be of type string} : ({ greeting }: { greeting: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >greeting : string > : ^^^^^^ @@ -61,11 +61,11 @@ genericFunction(genericObject, ({greeting}) => { >greeting.toLocaleLowerCase() : string > : ^^^^^^ >greeting.toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >greeting : string > : ^^^^^^ >toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); diff --git a/tests/baselines/reference/destructuringWithNumberLiteral.types b/tests/baselines/reference/destructuringWithNumberLiteral.types index e724d37223d9b..1fc84f1cb9573 100644 --- a/tests/baselines/reference/destructuringWithNumberLiteral.types +++ b/tests/baselines/reference/destructuringWithNumberLiteral.types @@ -3,7 +3,7 @@ === destructuringWithNumberLiteral.ts === var { toExponential } = 0; >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types index d8519d651f706..fca9b511450b5 100644 --- a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types +++ b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types @@ -32,7 +32,7 @@ foo({ >foo({ x: Bar, y: Date}, getNum()) : void > : ^^^^ >foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >{ x: Bar, y: Date} : { x: typeof Bar; y: DateConstructor; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -52,13 +52,13 @@ foo({ >getNum() : number > : ^^^^^^ >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ foo({ >foo({ x: new Bar(), y: new Date()}, getNum) : void > : ^^^^ >foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >{ x: new Bar(), y: new Date()} : { x: Bar; y: Date; } > : ^^^^^^^^^^^^^^^^^^^^ @@ -80,14 +80,14 @@ foo({ }, getNum); >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ foo({ >foo({ x: new Bar(), y: new Date()}, getNum(), [ 1, 2, getNum]) : void > : ^^^^ >foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >{ x: new Bar(), y: new Date()} : { x: Bar; y: Date; } > : ^^^^^^^^^^^^^^^^^^^^ @@ -111,9 +111,9 @@ foo({ >getNum() : number > : ^^^^^^ >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >[ 1, 2, getNum] : [number, number, () => number] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^ 1, >1 : 1 @@ -125,7 +125,7 @@ foo({ getNum >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ ]); diff --git a/tests/baselines/reference/directDependenceBetweenTypeAliases.types b/tests/baselines/reference/directDependenceBetweenTypeAliases.types index 7e4361105262a..e18641773d5d0 100644 --- a/tests/baselines/reference/directDependenceBetweenTypeAliases.types +++ b/tests/baselines/reference/directDependenceBetweenTypeAliases.types @@ -107,9 +107,9 @@ type T12 = [T13, string] type T13 = typeof zz >T13 : { x: T11; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >zz : { x: T11; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var zz: { x: T11 } >zz : { x: T11; } diff --git a/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types b/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types index 8a926c22813c0..10f7f1e8a1d59 100644 --- a/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types +++ b/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types @@ -146,7 +146,7 @@ var f12 = (a: number) : // Should be valid. var f11 = (a: number >f11 : (a: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: number ) => a : (a: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : number @@ -159,7 +159,7 @@ var f11 = (a: number // Should be valid. var f12 = (a: number) >f12 : (a: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: number) : number => a : (a: number) => number > : ^ ^^ ^^^^^ >a : number diff --git a/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types b/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types index 9c15e447abda1..ad51e0bd0f0bf 100644 --- a/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types +++ b/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types @@ -38,7 +38,7 @@ if (o) { >is(value) : boolean > : ^^^^^^^ >is : (v: T) => v is T -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string > : ^^^^^^ } @@ -85,7 +85,7 @@ function getImplicitAriaRole(element: SomeRecord) { >parentElementOrShadowHost(ancestor) : SomeRecord | undefined > : ^^^^^^^^^^^^^^^^^^^^^^ >parentElementOrShadowHost : (element: SomeRecord) => SomeRecord | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ancestor : SomeRecord > : ^^^^^^^^^^ @@ -121,11 +121,11 @@ function getImplicitAriaRole(element: SomeRecord) { >parents.includes(parent.a) : boolean > : ^^^^^^^ >parents.includes : (searchElement: string, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >parents : string[] > : ^^^^^^^^ >includes : (searchElement: string, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >parent.a : string > : ^^^^^^ >parent : SomeRecord @@ -162,7 +162,7 @@ declare function isPlainObject2( >isPlainObject2(myObj2) : boolean > : ^^^^^^^ >isPlainObject2 : (data: unknown) => data is Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >myObj2 : unknown > : ^^^^^^^ @@ -196,17 +196,17 @@ declare function isPlainObject2( >isPlainObject2(deeper) : boolean > : ^^^^^^^ >isPlainObject2 : (data: unknown) => data is Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >deeper : unknown > : ^^^^^^^ >Object.keys(deeper) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >deeper : Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[] : never[] diff --git a/tests/baselines/reference/discriminantPropertyCheck.types b/tests/baselines/reference/discriminantPropertyCheck.types index 7b01150b207b9..f92594a3e1fd4 100644 --- a/tests/baselines/reference/discriminantPropertyCheck.types +++ b/tests/baselines/reference/discriminantPropertyCheck.types @@ -475,7 +475,7 @@ function func2(inst: Instance) { inst.value.toExponential; >inst.value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >inst.value : number > : ^^^^^^ >inst : NumType @@ -483,7 +483,7 @@ function func2(inst: Instance) { >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ break; } @@ -554,7 +554,7 @@ u.a && u.b && f(u.a, u.b); >f(u.a, u.b) : void > : ^^^^ >f : (_a: string, _b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >u.a : string > : ^^^^^^ >u : U @@ -588,7 +588,7 @@ u.b && u.a && f(u.a, u.b); >f(u.a, u.b) : void > : ^^^^ >f : (_a: string, _b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >u.a : string > : ^^^^^^ >u : U @@ -768,7 +768,7 @@ function func3(value: Partial) { >never(value.type) : never > : ^^^^^ >never : (value: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value.type : never > : ^^^^^ >value : Partial @@ -851,7 +851,7 @@ function DoesNotWork(data: unknown) { >isType(data) : boolean > : ^^^^^^^ >isType : (x: unknown) => x is Type -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >data : unknown > : ^^^^^^^ @@ -930,11 +930,11 @@ const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => { >ids.forEach(id => { let test; test = mapOfTests[id]; if (test.type === 'testA') { console.log(test.bananas); } switch (test.type) { case 'testA': { console.log(test.bananas); } } }) : void > : ^^^^ >ids.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >ids : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >id => { let test; test = mapOfTests[id]; if (test.type === 'testA') { console.log(test.bananas); } switch (test.type) { case 'testA': { console.log(test.bananas); } } } : (id: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >id : string @@ -970,11 +970,11 @@ const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => { >console.log(test.bananas) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test.bananas : 3 > : ^ >test : TestA @@ -998,11 +998,11 @@ const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => { >console.log(test.bananas) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test.bananas : 3 > : ^ >test : TestA diff --git a/tests/baselines/reference/discriminantPropertyInference.types b/tests/baselines/reference/discriminantPropertyInference.types index c460bcc792f3f..2220e083556d7 100644 --- a/tests/baselines/reference/discriminantPropertyInference.types +++ b/tests/baselines/reference/discriminantPropertyInference.types @@ -51,7 +51,7 @@ declare function f(options: DiscriminatorTrue | DiscriminatorFalse): any; f({ >f({ disc: true, cb: s => parseInt(s)}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ disc: true, cb: s => parseInt(s)} : { disc: true; cb: (s: string) => number; } > : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -71,7 +71,7 @@ f({ >parseInt(s) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ @@ -81,7 +81,7 @@ f({ f({ >f({ disc: false, cb: n => n.toFixed()}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ disc: false, cb: n => n.toFixed()} : { disc: false; cb: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -101,11 +101,11 @@ f({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -113,7 +113,7 @@ f({ f({ >f({ disc: undefined, cb: n => n.toFixed()}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ disc: undefined, cb: n => n.toFixed()} : { disc: undefined; cb: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -133,11 +133,11 @@ f({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -145,7 +145,7 @@ f({ f({ >f({ cb: n => n.toFixed()}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ cb: n => n.toFixed()} : { cb: (n: number) => string; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -159,11 +159,11 @@ f({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); diff --git a/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types b/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types index 6eb63850e6cc2..ba438f143f0b7 100644 --- a/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types +++ b/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types @@ -33,7 +33,7 @@ foo({ >foo({ d: `${"s"}`, cb: (x) => { x; // string },}) : void > : ^^^^ >foo : (foo: S | N) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ d: `${"s"}`, cb: (x) => { x; // string },} : { d: "s"; cb: (x: string) => void; } > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.types b/tests/baselines/reference/discriminantsAndNullOrUndefined.types index 65abc43978199..a4fe8cdefeee9 100644 --- a/tests/baselines/reference/discriminantsAndNullOrUndefined.types +++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.types @@ -66,7 +66,7 @@ if (c !== undefined) { >useA(c) : void > : ^^^^ >useA : (_: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : A > : ^ @@ -76,7 +76,7 @@ if (c !== undefined) { >useB(c) : void > : ^^^^ >useB : (_: B) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : B > : ^ @@ -84,7 +84,7 @@ if (c !== undefined) { >never(c) : never > : ^^^^^ >never : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : never > : ^^^^^ } diff --git a/tests/baselines/reference/discriminantsAndPrimitives.types b/tests/baselines/reference/discriminantsAndPrimitives.types index b432b6137e72f..b938772b2c63e 100644 --- a/tests/baselines/reference/discriminantsAndPrimitives.types +++ b/tests/baselines/reference/discriminantsAndPrimitives.types @@ -260,7 +260,7 @@ if (n.type === "Disjunction") { >n.alternatives.slice() : string[] > : ^^^^^^^^ >n.alternatives.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >n.alternatives : string[] > : ^^^^^^^^ >n : Disjunction @@ -268,14 +268,14 @@ if (n.type === "Disjunction") { >alternatives : string[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ } else { n.elements.slice() // n should be narrowed to Pattern >n.elements.slice() : string[] > : ^^^^^^^^ >n.elements.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >n.elements : string[] > : ^^^^^^^^ >n : Pattern @@ -283,6 +283,6 @@ else { >elements : string[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/discriminantsAndTypePredicates.types b/tests/baselines/reference/discriminantsAndTypePredicates.types index 1ee756e07a48b..3d2f5b6a0d352 100644 --- a/tests/baselines/reference/discriminantsAndTypePredicates.types +++ b/tests/baselines/reference/discriminantsAndTypePredicates.types @@ -57,7 +57,7 @@ function foo1(x: A | B): any { >isA(x) : boolean > : ^^^^^^^ >isA : (x: A | B) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A | B > : ^^^^^ @@ -73,7 +73,7 @@ function foo1(x: A | B): any { >isB(x) : boolean > : ^^^^^^^ >isB : (x: A | B) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : B > : ^ diff --git a/tests/baselines/reference/discriminateWithDivergentAccessors1.types b/tests/baselines/reference/discriminateWithDivergentAccessors1.types index 68938bea24962..1d457d815caeb 100644 --- a/tests/baselines/reference/discriminateWithDivergentAccessors1.types +++ b/tests/baselines/reference/discriminateWithDivergentAccessors1.types @@ -43,7 +43,7 @@ if (weirdoBox.done) { >weirdoBox.value : number > : ^^^^^^ >weirdoBox : { get done(): true; set done(v: T | null); value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } @@ -102,7 +102,7 @@ if (weirdoBox2.done) { >weirdoBox2.value : string | number > : ^^^^^^^^^^^^^^^ >weirdoBox2 : { get done(): true; set done(v: T | null); value: string; } | { get done(): true; set done(v: T | null | undefined); value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithMissingProperty.types b/tests/baselines/reference/discriminateWithMissingProperty.types index d913629a886cd..15fcee28aaf45 100644 --- a/tests/baselines/reference/discriminateWithMissingProperty.types +++ b/tests/baselines/reference/discriminateWithMissingProperty.types @@ -38,7 +38,7 @@ foo({ mode: "numeric", data: new Uint8Array([30]) }); // Should error >foo({ mode: "numeric", data: new Uint8Array([30]) }) : void > : ^^^^ >foo : (arg: Arg) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ mode: "numeric", data: new Uint8Array([30]) } : { mode: "numeric"; data: Uint8Array; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mode : "numeric" diff --git a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types index 81051d0954a5f..82d5e17282d7f 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types @@ -31,7 +31,7 @@ if (box.done) { >box.value : number > : ^^^^^^ >box : { done: true; value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types index 81051d0954a5f..82d5e17282d7f 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types @@ -31,7 +31,7 @@ if (box.done) { >box.value : number > : ^^^^^^ >box : { done: true; value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types index 6ee1023f1ff86..ad5ff3c9b6638 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types @@ -27,8 +27,8 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterable[Symbol.asyncIterator]() : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) +> : ^^^^^^^ ^ ^ ^^^^ ^^^^^^^^^^^ ^ ^ >iterable : AsyncGenerator | AsyncIterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.asyncIterator : unique symbol @@ -71,7 +71,7 @@ function mapAsyncIterable( >callback(result.value) : PromiseOrValue > : ^^^^^^^^^^^^^^^^^ >callback : (value: T) => PromiseOrValue -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result.value : T > : ^ >result : IteratorYieldResult @@ -93,11 +93,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -108,11 +108,11 @@ function mapAsyncIterable( >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ } catch (_e) {} >_e : unknown @@ -136,17 +136,17 @@ function mapAsyncIterable( >mapResult(await iterator.next()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ }, async return(): Promise> { @@ -161,11 +161,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -173,17 +173,17 @@ function mapAsyncIterable( >mapResult(await iterator.return()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.return() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -210,11 +210,11 @@ function mapAsyncIterable( >typeof iterator.throw : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -222,17 +222,17 @@ function mapAsyncIterable( >mapResult(await iterator.throw(error)) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.throw(error) : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw(error) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >error : unknown > : ^^^^^^^ } @@ -310,21 +310,21 @@ const iterable = { >items.shift() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >items.shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ >items : number[] > : ^^^^^^^^ >shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ return Promise.resolve({ >Promise.resolve({ done: items.length === 0, value, }) : Promise<{ done: boolean; value: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ done: items.length === 0, value, } : { done: boolean; value: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ const doubles = mapAsyncIterable(iterable, (x) => x + x); >mapAsyncIterable(iterable, (x) => x + x) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >iterable : { [Symbol.asyncIterator](): any; next(): Promise<{ done: boolean; value: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => x + x : (x: number) => number diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types index 6ee1023f1ff86..ad5ff3c9b6638 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types @@ -27,8 +27,8 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterable[Symbol.asyncIterator]() : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) +> : ^^^^^^^ ^ ^ ^^^^ ^^^^^^^^^^^ ^ ^ >iterable : AsyncGenerator | AsyncIterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.asyncIterator : unique symbol @@ -71,7 +71,7 @@ function mapAsyncIterable( >callback(result.value) : PromiseOrValue > : ^^^^^^^^^^^^^^^^^ >callback : (value: T) => PromiseOrValue -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result.value : T > : ^ >result : IteratorYieldResult @@ -93,11 +93,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -108,11 +108,11 @@ function mapAsyncIterable( >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ } catch (_e) {} >_e : unknown @@ -136,17 +136,17 @@ function mapAsyncIterable( >mapResult(await iterator.next()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ }, async return(): Promise> { @@ -161,11 +161,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -173,17 +173,17 @@ function mapAsyncIterable( >mapResult(await iterator.return()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.return() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -210,11 +210,11 @@ function mapAsyncIterable( >typeof iterator.throw : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -222,17 +222,17 @@ function mapAsyncIterable( >mapResult(await iterator.throw(error)) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.throw(error) : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw(error) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >error : unknown > : ^^^^^^^ } @@ -310,21 +310,21 @@ const iterable = { >items.shift() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >items.shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ >items : number[] > : ^^^^^^^^ >shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ return Promise.resolve({ >Promise.resolve({ done: items.length === 0, value, }) : Promise<{ done: boolean; value: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ done: items.length === 0, value, } : { done: boolean; value: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ const doubles = mapAsyncIterable(iterable, (x) => x + x); >mapAsyncIterable(iterable, (x) => x + x) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >iterable : { [Symbol.asyncIterator](): any; next(): Promise<{ done: boolean; value: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => x + x : (x: number) => number diff --git a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types index d5d397479f2b9..131b94a04dc8a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types @@ -87,7 +87,7 @@ export function buildExecutionContext( >getVariableValues(rawVariableValues ?? {}) : CoercedVariableValues > : ^^^^^^^^^^^^^^^^^^^^^ >getVariableValues : (inputs: { readonly [variable: string]: unknown; }) => CoercedVariableValues -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rawVariableValues ?? {} : { readonly [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rawVariableValues : Maybe<{ readonly [variable: string]: unknown; }> @@ -106,8 +106,8 @@ export function buildExecutionContext( return coercedVariableValues.errors; >coercedVariableValues.errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->coercedVariableValues : { errors: readonly GraphQLError[]; coerced?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>coercedVariableValues : { errors: ReadonlyArray; coerced?: never; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ >errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -121,8 +121,8 @@ export function buildExecutionContext( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >coercedVariableValues.coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->coercedVariableValues : { coerced: { [variable: string]: unknown; }; errors?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>coercedVariableValues : { coerced: { [variable: string]: unknown; }; errors?: never; } +> : ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types index f7228ffd5b6df..131b94a04dc8a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types @@ -87,7 +87,7 @@ export function buildExecutionContext( >getVariableValues(rawVariableValues ?? {}) : CoercedVariableValues > : ^^^^^^^^^^^^^^^^^^^^^ >getVariableValues : (inputs: { readonly [variable: string]: unknown; }) => CoercedVariableValues -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rawVariableValues ?? {} : { readonly [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rawVariableValues : Maybe<{ readonly [variable: string]: unknown; }> @@ -106,8 +106,8 @@ export function buildExecutionContext( return coercedVariableValues.errors; >coercedVariableValues.errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->coercedVariableValues : { errors: readonly GraphQLError[]; coerced?: never; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>coercedVariableValues : { errors: ReadonlyArray; coerced?: never; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ >errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -122,7 +122,7 @@ export function buildExecutionContext( >coercedVariableValues.coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >coercedVariableValues : { coerced: { [variable: string]: unknown; }; errors?: never; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types index 0be04a3f53ec1..8ddc0616a0f5a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types @@ -43,7 +43,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] > : ^^^^^^^^ >z : { a: string[]; b?: undefined; } @@ -51,13 +51,13 @@ export function main(a: string[] | undefined) { >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : z.b.toString(); >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: undefined; } @@ -65,7 +65,7 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const zWorkAround: >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } @@ -91,33 +91,33 @@ export function main(a: string[] | undefined) { >zWorkAround.a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround.a.toString() : string > : ^^^^^^ >zWorkAround.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.a : string[] > : ^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b.toString() : string > : ^^^^^^ >zWorkAround.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b : string[] > : ^^^^^^^^ >zWorkAround : { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ "a" in z ? z.a.toString() : z.b.toString(); >"a" in z ? z.a.toString() : z.b.toString() : string @@ -131,7 +131,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >z : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } @@ -139,11 +139,11 @@ export function main(a: string[] | undefined) { >a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: undefined; } @@ -151,6 +151,6 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types index b5cbbd5edd7c5..44c3f2a44c31a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types @@ -43,7 +43,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] > : ^^^^^^^^ >z : { a: string[]; b?: never; } @@ -51,13 +51,13 @@ export function main(a: string[] | undefined) { >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : z.b.toString(); >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: never; } @@ -65,7 +65,7 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const zWorkAround: >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } @@ -91,33 +91,33 @@ export function main(a: string[] | undefined) { >zWorkAround.a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround.a.toString() : string > : ^^^^^^ >zWorkAround.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.a : string[] > : ^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b.toString() : string > : ^^^^^^ >zWorkAround.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b : string[] > : ^^^^^^^^ >zWorkAround : { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ "a" in z ? z.a.toString() : z.b.toString(); >"a" in z ? z.a.toString() : z.b.toString() : string @@ -131,7 +131,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] > : ^^^^^^^^ >z : { a: string[]; b?: never; } | { b: string[]; a?: never; } @@ -139,11 +139,11 @@ export function main(a: string[] | undefined) { >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: never; } @@ -151,6 +151,6 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/discriminatedUnionInference.types b/tests/baselines/reference/discriminatedUnionInference.types index 33c3239f64978..3e57da051279d 100644 --- a/tests/baselines/reference/discriminatedUnionInference.types +++ b/tests/baselines/reference/discriminatedUnionInference.types @@ -53,7 +53,7 @@ let x1 = foo({ kind: 'a', data: 42 }); // number >foo({ kind: 'a', data: 42 }) : number > : ^^^^^^ >foo : (item: Item) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ kind: 'a', data: 42 } : { kind: "a"; data: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : "a" @@ -71,7 +71,7 @@ let x2 = foo({ kind: 'b', data: [1, 2] }); // number >foo({ kind: 'b', data: [1, 2] }) : number > : ^^^^^^ >foo : (item: Item) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ kind: 'b', data: [1, 2] } : { kind: "b"; data: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : "b" diff --git a/tests/baselines/reference/discriminatedUnionTypes1.types b/tests/baselines/reference/discriminatedUnionTypes1.types index 6504bd122acff..2fc808aad9ec0 100644 --- a/tests/baselines/reference/discriminatedUnionTypes1.types +++ b/tests/baselines/reference/discriminatedUnionTypes1.types @@ -321,7 +321,7 @@ function area3(s: Shape) { >assertNever(s) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : never > : ^^^^^ } @@ -407,7 +407,7 @@ function area4(s: Shape) { >assertNever(s) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : never > : ^^^^^ } @@ -452,7 +452,7 @@ function f1(m: Message) { m; // { kind: "A", x: string } >m : { kind: "A"; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } else if (m.kind === "D") { >m.kind === "D" : boolean @@ -460,7 +460,7 @@ function f1(m: Message) { >m.kind : "B" | "C" | "D" > : ^^^^^^^^^^^^^^^ >m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "B" | "C" | "D" > : ^^^^^^^^^^^^^^^ >"D" : "D" @@ -468,12 +468,12 @@ function f1(m: Message) { m; // { kind: "D" } >m : { kind: "D"; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ } else { m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -499,7 +499,7 @@ function f2(m: Message) { } m; // { kind: "B" | "C", y: number } | { kind: "D" } >m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ } function f3(m: Message) { @@ -548,7 +548,7 @@ function f4(m: Message, x: "A" | "D") { m; // { kind: "A", x: string } | { kind: "D" } >m : { kind: "A"; x: string; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ } } @@ -572,7 +572,7 @@ function f5(m: Message) { m; // { kind: "A", x: string } >m : { kind: "A"; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ break; case "D": @@ -581,13 +581,13 @@ function f5(m: Message) { m; // { kind: "D" } >m : { kind: "D"; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ break; default: m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -611,7 +611,7 @@ function f6(m: Message) { m; // { kind: "A", x: string } >m : { kind: "A"; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ case "D": >"D" : "D" @@ -619,13 +619,13 @@ function f6(m: Message) { m; // { kind: "A", x: string } | { kind: "D" } >m : { kind: "A"; x: string; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ break; default: m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -655,7 +655,7 @@ function f7(m: Message) { } m; // { kind: "B" | "C", y: number } | { kind: "D" } >m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ } function f8(m: Message) { @@ -689,5 +689,5 @@ function f8(m: Message) { } m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } diff --git a/tests/baselines/reference/discriminatedUnionTypes2.types b/tests/baselines/reference/discriminatedUnionTypes2.types index e687b191345ab..f67c4ae4daa10 100644 --- a/tests/baselines/reference/discriminatedUnionTypes2.types +++ b/tests/baselines/reference/discriminatedUnionTypes2.types @@ -29,7 +29,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.kind : string | boolean > : ^^^^^^^^^^^^^^^^ >x : { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : string | boolean > : ^^^^^^^^^^^^^^^^ >false : false @@ -39,7 +39,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.a : string > : ^^^^^^ >x : { kind: false; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -49,7 +49,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.kind : string | true > : ^^^^^^^^^^^^^ >x : { kind: true; b: string; } | { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : string | true > : ^^^^^^^^^^^^^ >true : true @@ -59,7 +59,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.b : string > : ^^^^^^ >x : { kind: true; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -68,7 +68,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.c : string > : ^^^^^^ >x : { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -100,7 +100,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.kind : string | boolean > : ^^^^^^^^^^^^^^^^ >x : { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : string | boolean > : ^^^^^^^^^^^^^^^^ @@ -112,7 +112,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.a : string > : ^^^^^^ >x : { kind: false; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -125,7 +125,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.b : string > : ^^^^^^ >x : { kind: true; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -135,7 +135,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.c : string > : ^^^^^^ >x : { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -159,7 +159,7 @@ function f13(x: { a: null; b: string } | { a: string, c: number }) { >x = { a: null, b: "foo", c: 4} : { a: null; b: string; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { a: null; b: string; } | { a: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ a: null, b: "foo", c: 4} : { a: null; b: string; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : null @@ -194,7 +194,7 @@ function f14(x: { a: 0; b: string } | { a: T, c: number }) { >x.a : 0 | T > : ^^^^^ >x : { a: 0; b: string; } | { a: T; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >a : 0 | T > : ^^^^^ >0 : 0 @@ -204,7 +204,7 @@ function f14(x: { a: 0; b: string } | { a: T, c: number }) { >x.b : any > : ^^^ >x : { a: 0; b: string; } | { a: T; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >b : any > : ^^^ } @@ -240,7 +240,7 @@ function f15(x: Result) { >x.value : number > : ^^^^^^ >x : { error?: undefined; value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } @@ -251,7 +251,7 @@ function f15(x: Result) { >x.error : Error > : ^^^^^ >x : { error: Error; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >error : Error > : ^^^^^ >message : string @@ -408,12 +408,12 @@ function f30(foo: Foo) { foo; >foo : { tag: true; x: number; } | { [x: string]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { foo; >foo : { tag: false; y: number; } | { [x: string]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } @@ -437,12 +437,12 @@ function f31(foo: Foo) { foo; >foo : { tag: true; x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^ } else { foo; >foo : { tag: false; y: number; } | { [x: string]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } @@ -552,7 +552,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >foo1 : (x: RuntimeValue & { type: "number"; }) => void > : ^ ^^ ^^^^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >type : "number" > : ^^^^^^^^ @@ -562,7 +562,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >x.type : "number" > : ^^^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >type : "number" > : ^^^^^^^^ >'number' : "number" @@ -572,7 +572,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >x.value : number > : ^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : number > : ^^^^^^ } @@ -581,7 +581,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >x.value : number > : ^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : number > : ^^^^^^ } @@ -591,7 +591,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >foo2 : (x: RuntimeValue & ({ type: "number"; } | { type: "string"; })) => void > : ^ ^^ ^^^^^^^^^ >x : ({ type: "number"; value: number; } & { type: "number"; }) | ({ type: "string"; value: string; } & { type: "string"; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ >type : "number" > : ^^^^^^^^ >type : "string" @@ -603,7 +603,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >x.type : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ >x : ({ type: "number"; value: number; } & { type: "number"; }) | ({ type: "string"; value: string; } & { type: "string"; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ >type : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ >'number' : "number" @@ -613,7 +613,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >x.value : number > : ^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : number > : ^^^^^^ } @@ -622,7 +622,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >x.value : string > : ^^^^^^ >x : { type: "string"; value: string; } & { type: "string"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types b/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types index 6eb5bdf69f5a4..dd5b6603dbe39 100644 --- a/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types +++ b/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types @@ -29,16 +29,16 @@ opts.objectRef || opts.getObjectRef(); >opts.objectRef : A | B > : ^^^^^ >opts : { objectRef?: undefined; getObjectRef: () => any; } | { objectRef: A | B; getObjectRef?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >objectRef : A | B > : ^^^^^ >opts.getObjectRef() : any >opts.getObjectRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >opts : { objectRef?: undefined; getObjectRef: () => any; } | { objectRef: A | B; getObjectRef?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >getObjectRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ // repro #49643 issuecomment-1174455723 diff --git a/tests/baselines/reference/dissallowSymbolAsWeakType.types b/tests/baselines/reference/dissallowSymbolAsWeakType.types index 2701bd3f57fac..a59a4c871eda4 100644 --- a/tests/baselines/reference/dissallowSymbolAsWeakType.types +++ b/tests/baselines/reference/dissallowSymbolAsWeakType.types @@ -39,11 +39,11 @@ ws.has(s); >ws.has(s) : boolean > : ^^^^^^^ >ws.has : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >has : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -51,11 +51,11 @@ ws.delete(s); >ws.delete(s) : boolean > : ^^^^^^^ >ws.delete : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >delete : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -93,23 +93,23 @@ wm.has(s); >wm.has(s) : boolean > : ^^^^^^^ >wm.has : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >has : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ wm.get(s); >wm.get(s) : boolean > : ^^^^^^^ ->wm.get : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +>wm.get : (key: object) => boolean | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->get : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +>get : (key: object) => boolean | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -117,11 +117,11 @@ wm.delete(s); >wm.delete(s) : boolean > : ^^^^^^^ >wm.delete : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >delete : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -138,12 +138,12 @@ const wr = new WeakRef(s); wr.deref(); >wr.deref() : object > : ^^^^^^ ->wr.deref : () => object -> : ^^^^^^^^^^^^ +>wr.deref : () => object | undefined +> : ^^^^^^^^^^^^ >wr : WeakRef > : ^^^^^^^^^^^^^^^ ->deref : () => object -> : ^^^^^^^^^^^^ +>deref : () => object | undefined +> : ^^^^^^^^^^^^ const f = new FinalizationRegistry(() => {}); >f : FinalizationRegistry @@ -159,11 +159,11 @@ f.register(s, null); >f.register(s, null) : void > : ^^^^ >f.register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >s : symbol > : ^^^^^^ @@ -171,11 +171,11 @@ f.unregister(s); >f.unregister(s) : boolean > : ^^^^^^^ >f.unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : symbol > : ^^^^^^ diff --git a/tests/baselines/reference/divergentAccessors1.types b/tests/baselines/reference/divergentAccessors1.types index 60c41aa51002f..b5445ea0b62cd 100644 --- a/tests/baselines/reference/divergentAccessors1.types +++ b/tests/baselines/reference/divergentAccessors1.types @@ -62,7 +62,7 @@ const t_hgs: T_HasGetSet = null as any; >t_hgs : { get foo(): number; set foo(v: number | string); } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^ >null as any : any t_hgs.foo = "32"; @@ -71,7 +71,7 @@ >t_hgs.foo : string | number > : ^^^^^^^^^^^^^^^ >t_hgs : { get foo(): number; set foo(v: number | string); } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^ >foo : string | number > : ^^^^^^^^^^^^^^^ >"32" : "32" @@ -83,7 +83,7 @@ >t_hgs.foo : number > : ^^^^^^ >t_hgs : { get foo(): number; set foo(v: number | string); } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^ >foo : number > : ^^^^^^ } diff --git a/tests/baselines/reference/divergentAccessorsTypes7.types b/tests/baselines/reference/divergentAccessorsTypes7.types index 6810bc6c8a146..609b83503de6d 100644 --- a/tests/baselines/reference/divergentAccessorsTypes7.types +++ b/tests/baselines/reference/divergentAccessorsTypes7.types @@ -49,41 +49,41 @@ const a = new Test<{ a.value = (item) => item.property >a.value = (item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >a.value : string | ((item: { property: string; }) => string) -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^ >a : Test<{ property: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >value : string | ((item: { property: string; }) => string) -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^ >(item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >item.property : string > : ^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >property : string > : ^^^^^^ a['value'] = (item) => item.property >a['value'] = (item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >a['value'] : string | ((item: { property: string; }) => string) -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^ >a : Test<{ property: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >'value' : "value" > : ^^^^^^^ >(item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >item.property : string > : ^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >property : string > : ^^^^^^ diff --git a/tests/baselines/reference/divideAndConquerIntersections.types b/tests/baselines/reference/divideAndConquerIntersections.types index f1b0c3fb86b2d..880c5d4a95d5a 100644 --- a/tests/baselines/reference/divideAndConquerIntersections.types +++ b/tests/baselines/reference/divideAndConquerIntersections.types @@ -166,11 +166,11 @@ export function matchFilter( >console.log("Matching", filter) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Matching" : "Matching" > : ^^^^^^^^^^ >filter : "message" | "edited_message" | "channel_post" | "edited_channel_post" | "message_reaction" | "message_reaction_count" | "inline_query" | "chosen_inline_result" | "callback_query" | "shipping_query" | "pre_checkout_query" | "poll" | "poll_answer" | "my_chat_member" | "chat_member" | "chat_join_request" | "chat_boost" | "removed_chat_boost" | Q[] @@ -259,11 +259,11 @@ class EventHub { >console.log("Adding", middleware.length, "generic handlers") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Adding" : "Adding" > : ^^^^^^^^ >middleware.length : number @@ -297,11 +297,11 @@ class EventHub { >console.log("Adding", middleware.length, "handlers for", filter) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Adding" : "Adding" > : ^^^^^^^^ >middleware.length : number diff --git a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types index 1ba794556cde4..3b3ba3f798ac6 100644 --- a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types +++ b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types @@ -15,7 +15,7 @@ async function foo(x: T): Promise { >getXOrYadda(x) : T | Yadda > : ^^^^^^^^^ >getXOrYadda : (x: T_1) => T_1 | Yadda -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/doNotInferUnrelatedTypes.types b/tests/baselines/reference/doNotInferUnrelatedTypes.types index e9e33f4cd9b46..c11d87bd570ec 100644 --- a/tests/baselines/reference/doNotInferUnrelatedTypes.types +++ b/tests/baselines/reference/doNotInferUnrelatedTypes.types @@ -22,7 +22,7 @@ let foo: LiteralType = dearray(alt); >dearray(alt) : LiteralType > : ^^^^^^^^^^^ >dearray : (ara: ReadonlyArray) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >alt : LiteralType[] > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types index aa752cd55afe1..534ac63309e95 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types @@ -392,11 +392,11 @@ const testObjectConstructorKeys = Object.keys({}); >Object.keys({}) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types index fc244186c70e0..bcecd28924a53 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types @@ -165,12 +165,12 @@ const testRegExpMatchArrayGroups = "2019-04-30".match(/(?[0-9]{4})-(? : ^^^ >"2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->"2019-04-30".match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>"2019-04-30".match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"2019-04-30" : "2019-04-30" > : ^^^^^^^^^^^^ ->match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g : RegExp > : ^^^^^^ >groups : any @@ -183,12 +183,12 @@ const testRegExpExecArrayGroups = /(?[0-9]{4})-(?[0-9]{2})-(?[ > : ^^^ >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec("2019-04-30") : RegExpExecArray > : ^^^^^^^^^^^^^^^ ->/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec : (string: string) => RegExpExecArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec : (string: string) => RegExpExecArray | null +> : ^ ^^ ^^^^^ >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g : RegExp > : ^^^^^^ ->exec : (string: string) => RegExpExecArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>exec : (string: string) => RegExpExecArray | null +> : ^ ^^ ^^^^^ >"2019-04-30" : "2019-04-30" > : ^^^^^^^^^^^^ >groups : any diff --git a/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types b/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types index 90820f88741af..bbd0ee3828ab1 100644 --- a/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types +++ b/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types @@ -119,11 +119,11 @@ if (!(a instanceof b)) { >console.log(a.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.length : 1 | 2 > : ^^^^^ >a : A | B diff --git a/tests/baselines/reference/dottedSymbolResolution1.types b/tests/baselines/reference/dottedSymbolResolution1.types index 521e310801ed5..04210bb394459 100644 --- a/tests/baselines/reference/dottedSymbolResolution1.types +++ b/tests/baselines/reference/dottedSymbolResolution1.types @@ -28,7 +28,7 @@ class Base { foo() { } } function each(collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >collection : string > : ^^^^^^ >callback : (indexInArray: any, valueOfElement: any) => any @@ -38,7 +38,7 @@ function each(collection: string, callback: (indexInArray: any, valueOfElement: function each(collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >collection : JQuery > : ^^^^^^ >callback : (indexInArray: number, valueOfElement: Base) => any @@ -50,7 +50,7 @@ function each(collection: JQuery, callback: (indexInArray: number, valueOfElemen function each(collection: any, callback: (indexInArray: any, valueOfElement: any) => any): any { >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >collection : any >callback : (indexInArray: any, valueOfElement: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -73,15 +73,15 @@ function _setBarAndText(): void { each(x.find(" "), function () { >each(x.find(" "), function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } ) : any >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x.find(" ") : JQuery > : ^^^^^^ >x.find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : JQuery > : ^^^^^^ >find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >" " : " " > : ^^^ >function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } : () => void @@ -103,11 +103,11 @@ function _setBarAndText(): void { >$this.find(".fx-usagebars-calloutbar-this") : JQuery > : ^^^^^^ >$this.find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >$this : JQuery > : ^^^^^^ >find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >".fx-usagebars-calloutbar-this" : ".fx-usagebars-calloutbar-this" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicateErrorAssignability.types b/tests/baselines/reference/duplicateErrorAssignability.types index ff866cb641f7a..0891d470381fe 100644 --- a/tests/baselines/reference/duplicateErrorAssignability.types +++ b/tests/baselines/reference/duplicateErrorAssignability.types @@ -46,7 +46,7 @@ obj[x]; >obj[x] : any > : ^^^ >obj : { 3: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ diff --git a/tests/baselines/reference/duplicateErrorClassExpression.types b/tests/baselines/reference/duplicateErrorClassExpression.types index 69a573ec7e28c..161fd69918ac5 100644 --- a/tests/baselines/reference/duplicateErrorClassExpression.types +++ b/tests/baselines/reference/duplicateErrorClassExpression.types @@ -59,7 +59,7 @@ obj[x]; >obj[x] : any > : ^^^ >obj : { 3: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : typeof Derived > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicateLocalVariable1.types b/tests/baselines/reference/duplicateLocalVariable1.types index 23424564359eb..e0fedc0061418 100644 --- a/tests/baselines/reference/duplicateLocalVariable1.types +++ b/tests/baselines/reference/duplicateLocalVariable1.types @@ -55,11 +55,11 @@ export class TestRunner { >arg1.every(function (val, index) { return val === arg2[index] }) : boolean > : ^^^^^^^ >arg1.every : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >arg1 : any[] > : ^^^^^ >every : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function (val, index) { return val === arg2[index] } : (val: any, index: number) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >val : any @@ -88,7 +88,7 @@ export class TestRunner { >this.tests.push(test) : number > : ^^^^^^ >this.tests.push : (...items: TestCase[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this.tests : TestCase[] > : ^^^^^^^^^^ >this : this @@ -96,7 +96,7 @@ export class TestRunner { >tests : TestCase[] > : ^^^^^^^^^^ >push : (...items: TestCase[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >test : TestCase > : ^^^^^^^^ } @@ -157,11 +157,11 @@ export class TestRunner { >testcase.test() : boolean > : ^^^^^^^ >testcase.test : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >testcase : TestCase > : ^^^^^^^^ >test : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } catch (e) { >e : any @@ -247,11 +247,11 @@ export class TestRunner { >regex.test(e.message) : boolean > : ^^^^^^^ >regex.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >regex : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e.message : any > : ^^^ >e : any @@ -436,11 +436,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare([1, 2, 3], [1, 2, 3]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -480,11 +480,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare([3, 2, 3], [1, 2, 3]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[3, 2, 3] : number[] > : ^^^^^^^^ >3 : 3 @@ -1520,11 +1520,11 @@ export var tests: TestRunner = (function () { >chars.push(fb.readByte()) : number > : ^^^^^^ >chars.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >chars : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readByte() : any > : ^^^ >fb.readByte : any @@ -1538,11 +1538,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(chars, [0x54, 0xC3, 0xA8, 0xE1, 0xB4, 0xA3, 0xE2, 0x80, 0xA0, 0x0D, 0x0A]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >chars : any[] > : ^^^^^ >[0x54, 0xC3, 0xA8, 0xE1, 0xB4, 0xA3, 0xE2, 0x80, 0xA0, 0x0D, 0x0A] : number[] @@ -1637,11 +1637,11 @@ export var tests: TestRunner = (function () { >chars.push(fb.readUtf8CodePoint()) : number > : ^^^^^^ >chars.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >chars : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readUtf8CodePoint() : any > : ^^^ >fb.readUtf8CodePoint : any @@ -1655,11 +1655,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(chars, [0x0054, 0x00E8, 0x1D23, 0x2020, 0x000D, 0x000A]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >chars : any[] > : ^^^^^ >[0x0054, 0x00E8, 0x1D23, 0x2020, 0x000D, 0x000A] : number[] @@ -1801,11 +1801,11 @@ export var tests: TestRunner = (function () { >bytes.push(fb.readByte()) : number > : ^^^^^^ >bytes.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >bytes : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readByte() : any > : ^^^ >fb.readByte : any @@ -1853,11 +1853,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(bytes, expected) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bytes : any[] > : ^^^^^ >expected : number[] @@ -1942,11 +1942,11 @@ export var tests: TestRunner = (function () { >chars.forEach(function (val) { fb.writeUtf16CodePoint(val, false); }) : void > : ^^^^ >chars.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >chars : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { fb.writeUtf16CodePoint(val, false); } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number @@ -2060,11 +2060,11 @@ export var tests: TestRunner = (function () { >expectedBytes.forEach(function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } }) : void > : ^^^^ >expectedBytes.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >expectedBytes : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number @@ -2311,11 +2311,11 @@ export var tests: TestRunner = (function () { >codePoints.push(savedFile.readUtf16CodePoint(false)) : number > : ^^^^^^ >codePoints.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >codePoints : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >savedFile.readUtf16CodePoint(false) : any > : ^^^ >savedFile.readUtf16CodePoint : any @@ -2349,11 +2349,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(codePoints, expectedCodePoints) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >codePoints : any[] > : ^^^^^ >expectedCodePoints : number[] @@ -2446,11 +2446,11 @@ export var tests: TestRunner = (function () { >codePoints.push(savedFile.readUtf8CodePoint()) : number > : ^^^^^^ >codePoints.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >codePoints : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >savedFile.readUtf8CodePoint() : any > : ^^^ >savedFile.readUtf8CodePoint : any @@ -2482,11 +2482,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(codePoints, expectedCodePoints) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >codePoints : any[] > : ^^^^^ >expectedCodePoints : number[] @@ -2560,11 +2560,11 @@ export var tests: TestRunner = (function () { >chars.forEach(function (val) { fb.writeUtf8CodePoint(val); }) : void > : ^^^^ >chars.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >chars : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { fb.writeUtf8CodePoint(val); } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number @@ -2666,11 +2666,11 @@ export var tests: TestRunner = (function () { >expectedBytes.forEach(function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } }) : void > : ^^^^ >expectedBytes.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >expectedBytes : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number diff --git a/tests/baselines/reference/duplicateLocalVariable2.types b/tests/baselines/reference/duplicateLocalVariable2.types index 6f9044ed6b101..159bf111b2053 100644 --- a/tests/baselines/reference/duplicateLocalVariable2.types +++ b/tests/baselines/reference/duplicateLocalVariable2.types @@ -159,11 +159,11 @@ export var tests: TestRunner = (function () { >bytes.push(fb.readByte()) : number > : ^^^^^^ >bytes.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >bytes : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readByte() : any > : ^^^ >fb.readByte : any @@ -185,11 +185,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(bytes, expected) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bytes : any[] > : ^^^^^ >expected : number[] diff --git a/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types b/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types index 285ba6da23d05..439a70c9aefbb 100644 --- a/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types +++ b/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types @@ -22,8 +22,8 @@ function bar(props: { x?: string; y?: string }) { > : ^^^^^^ >"" : "" > : ^^ ->props : { x?: string | undefined; y?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>props : { x?: string; y?: string; } +> : ^^^^^^ ^^^^^^ ^^^ return { >{ [x]: 1, [y]: 2, } : { [x: string]: number; } diff --git a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types index 83acc5f40812f..15fa0b9ba015f 100644 --- a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types +++ b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types @@ -4,7 +4,7 @@ interface Array { reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -22,7 +22,7 @@ interface Array { reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U diff --git a/tests/baselines/reference/duplicatePackage.types b/tests/baselines/reference/duplicatePackage.types index c18adc7d89ce3..98226f14d7024 100644 --- a/tests/baselines/reference/duplicatePackage.types +++ b/tests/baselines/reference/duplicatePackage.types @@ -3,7 +3,7 @@ === /src/a.ts === import { a } from "a"; >a : (x: import("/node_modules/a/node_modules/x/index").default) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ import { b } from "b"; >b : import("/node_modules/a/node_modules/x/index").default @@ -17,7 +17,7 @@ a(b); // Works >a(b) : void > : ^^^^ >a : (x: import("/node_modules/a/node_modules/x/index").default) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >b : import("/node_modules/a/node_modules/x/index").default > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -25,7 +25,7 @@ a(c); // Error, these are from different versions of the library. >a(c) : void > : ^^^^ >a : (x: import("/node_modules/a/node_modules/x/index").default) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >c : import("/node_modules/c/node_modules/x/index").default > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types index a4a8667af6aba..d3ec5935c392f 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types @@ -3,7 +3,7 @@ === /index.ts === import { use } from "foo/use"; >use : (o: import("/node_modules/foo/index").C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ import { o } from "a"; >o : import("/node_modules/foo/index").C @@ -13,7 +13,7 @@ use(o); >use(o) : void > : ^^^^ >use : (o: import("/node_modules/foo/index").C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >o : import("/node_modules/foo/index").C > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types index 44855d58cc6d0..c78f42b4b1d3c 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types @@ -3,7 +3,7 @@ === /index.ts === import { use } from "@foo/bar/use"; >use : (o: import("/node_modules/@foo/bar/index").C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ import { o } from "a"; >o : import("/node_modules/@foo/bar/index").C @@ -13,7 +13,7 @@ use(o); >use(o) : void > : ^^^^ >use : (o: import("/node_modules/@foo/bar/index").C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >o : import("/node_modules/@foo/bar/index").C > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicatePropertyNames.types b/tests/baselines/reference/duplicatePropertyNames.types index d93d31e1be3ea..ae253b4f0edbe 100644 --- a/tests/baselines/reference/duplicatePropertyNames.types +++ b/tests/baselines/reference/duplicatePropertyNames.types @@ -16,11 +16,11 @@ interface Number { interface String { foo(): string; >foo : { (): string; (): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ foo(): string; >foo : { (): string; (): string; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ } interface Array { @@ -98,7 +98,7 @@ var a: { bar: () => {}; >bar : () => {} -> : ^^^^^^^^ +> : ^^^^^^ } var b = { diff --git a/tests/baselines/reference/elaboratedErrors.types b/tests/baselines/reference/elaboratedErrors.types index c2d9e436fbfad..93a4171af8484 100644 --- a/tests/baselines/reference/elaboratedErrors.types +++ b/tests/baselines/reference/elaboratedErrors.types @@ -9,19 +9,19 @@ interface FileSystem { function fn(s: WorkerFS): void; >fn : { (s: WorkerFS): void; (s: FileSystem): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : WorkerFS > : ^^^^^^^^ function fn(s: FileSystem): void; >fn : { (s: WorkerFS): void; (s: FileSystem): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : FileSystem > : ^^^^^^^^^^ function fn(s: FileSystem|WorkerFS) { } >fn : { (s: WorkerFS): void; (s: FileSystem): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : FileSystem | WorkerFS > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types b/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types index a5ef3b2288148..56219f243ce47 100644 --- a/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types +++ b/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types @@ -19,17 +19,17 @@ export declare let y: { foo: { bar: number | undefined } }; x = y; >x = y : { foo: { bar: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: { bar: string | null; } | undefined; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >y : { foo: { bar: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ y = x; >y = x : { foo: { bar: string | null; } | undefined; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >y : { foo: { bar: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: { bar: string | null; } | undefined; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types b/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types index bb19512f3df73..ad116c3984e9a 100644 --- a/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types +++ b/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types @@ -15,7 +15,7 @@ ff(ohno) >ff(ohno) : void > : ^^^^ >ff : (t: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ohno : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ diff --git a/tests/baselines/reference/elementAccessChain.2.types b/tests/baselines/reference/elementAccessChain.2.types index 2eba25dbd6e62..d9f9678cc0035 100644 --- a/tests/baselines/reference/elementAccessChain.2.types +++ b/tests/baselines/reference/elementAccessChain.2.types @@ -11,7 +11,7 @@ o1?.["b"]; >o1?.["b"] : string > : ^^^^^^ >o1 : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ @@ -27,9 +27,9 @@ o2?.["b"].c; >o2?.["b"].c : string > : ^^^^^^ >o2?.["b"] : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o2 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string @@ -39,11 +39,11 @@ o2?.b["c"]; >o2?.b["c"] : string > : ^^^^^^ >o2?.b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o2 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" : "c" > : ^^^ @@ -59,9 +59,9 @@ o3["b"]?.c; >o3["b"]?.c : string > : ^^^^^^ >o3["b"] : { c: string; } -> : ^^^^^^^^^^^^^^ ->o3 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string @@ -71,11 +71,11 @@ o3.b?.["c"]; >o3.b?.["c"] : string > : ^^^^^^ >o3.b : { c: string; } -> : ^^^^^^^^^^^^^^ ->o3 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" : "c" > : ^^^ diff --git a/tests/baselines/reference/elementAccessChain.types b/tests/baselines/reference/elementAccessChain.types index 05259fbadacbb..f8fca0e5e47f4 100644 --- a/tests/baselines/reference/elementAccessChain.types +++ b/tests/baselines/reference/elementAccessChain.types @@ -11,7 +11,7 @@ o1?.["b"]; >o1?.["b"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ @@ -27,9 +27,9 @@ o2?.["b"].c; >o2?.["b"].c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -39,11 +39,11 @@ o2?.b["c"]; >o2?.b["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -59,9 +59,9 @@ o3["b"]?.c; >o3["b"]?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -71,11 +71,11 @@ o3.b?.["c"]; >o3.b?.["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -95,19 +95,19 @@ o4.b?.["c"].d?.e; >o4.b?.["c"].d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -115,19 +115,19 @@ o4.b?.["c"].d?.["e"]; >o4.b?.["c"].d?.["e"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"e" : "e" > : ^^^ @@ -147,21 +147,21 @@ o5.b?.()["c"].d?.e; >o5.b?.()["c"].d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -169,21 +169,21 @@ o5.b?.()["c"].d?.["e"]; >o5.b?.()["c"].d?.["e"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"e" : "e" > : ^^^ @@ -191,21 +191,21 @@ o5["b"]?.()["c"].d?.e; >o5["b"]?.()["c"].d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5["b"]?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"] : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"] : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ >"b" : "b" > : ^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -213,21 +213,21 @@ o5["b"]?.()["c"].d?.["e"]; >o5["b"]?.()["c"].d?.["e"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5["b"]?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"] : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"] : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ >"b" : "b" > : ^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"e" : "e" > : ^^^ @@ -242,9 +242,9 @@ o6()?.["x"]; >o6()?.["x"] : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o6() : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : () => { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : () => undefined | ({ x: number; }) +> : ^^^^^^^^^ >"x" : "x" > : ^^^ @@ -253,11 +253,11 @@ o2?.["b"]!.c; >o2?.["b"]!.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -267,11 +267,11 @@ o2?.["b"]!["c"]; >o2?.["b"]!["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >"c" : "c" @@ -283,11 +283,11 @@ o2?.["b"]!.c!; >o2?.["b"]!.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -299,11 +299,11 @@ o2?.["b"]!["c"]!; >o2?.["b"]!["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >"c" : "c" diff --git a/tests/baselines/reference/elementAccessExpressionInternalComments.types b/tests/baselines/reference/elementAccessExpressionInternalComments.types index d600813c5f745..fd21d31f782cd 100644 --- a/tests/baselines/reference/elementAccessExpressionInternalComments.types +++ b/tests/baselines/reference/elementAccessExpressionInternalComments.types @@ -3,7 +3,7 @@ === elementAccessExpressionInternalComments.ts === /*0*/ Array /*1*/[ /*2*/ "toString" /*3*/ ] /*4*/; /*5*/ >Array /*1*/[ /*2*/ "toString" /*3*/ ] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >"toString" : "toString" @@ -11,7 +11,7 @@ /*0*/ Array >Array // single line /*1*/[ /*2*/ "toString" // single line /*3*/ ] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/elidedJSImport1.types b/tests/baselines/reference/elidedJSImport1.types index 03f71f15f6bd6..774f119152696 100644 --- a/tests/baselines/reference/elidedJSImport1.types +++ b/tests/baselines/reference/elidedJSImport1.types @@ -13,11 +13,11 @@ console.log(fs); >console.log(fs) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >fs : any > : ^^^ @@ -25,11 +25,11 @@ console.log('TruffleContract is ', typeof TruffleContract, TruffleContract); // >console.log('TruffleContract is ', typeof TruffleContract, TruffleContract) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'TruffleContract is ' : "TruffleContract is " > : ^^^^^^^^^^^^^^^^^^^^^ >typeof TruffleContract : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types index 0c5e7c92314df..4f265d5bc112b 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types @@ -9,11 +9,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const arguments = 100; >arguments : 100 diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types index 34265a48c4964..a22eb9a22b3b7 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types @@ -9,11 +9,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let arguments = 100; >arguments : number diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types index abca3e855d4a7..f8f496216b06a 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const arguments = 100; >arguments : 100 diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types index f5505a8a85b46..7fb3a830d44a9 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const arguments = 100; >arguments : 100 diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types index d83f0b5acf687..e5ffd84d04bc3 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => any diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types index d762d9de7f235..8ddc725812a31 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => string diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types index 348cc93b201a5..d9d6a3594c278 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => any diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types index c75f35d944f26..52cc042304621 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => string diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types index 55f098a0a1d44..1a611fccce889 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments; >() => arguments : () => IArguments diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types index 32226931517bb..4b0a4e769ed5b 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments; >() => arguments : () => IArguments diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types index 76b104a624132..5402a3b957474 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types @@ -71,7 +71,7 @@ class B { baz(z: string, v: number): string { >baz : (...args: any[]) => string -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >z : string > : ^^^^^^ >v : number diff --git a/tests/baselines/reference/emitClassExpressionInDeclarationFile.types b/tests/baselines/reference/emitClassExpressionInDeclarationFile.types index 076c8c661b265..43d9ffd104b4e 100644 --- a/tests/baselines/reference/emitClassExpressionInDeclarationFile.types +++ b/tests/baselines/reference/emitClassExpressionInDeclarationFile.types @@ -88,7 +88,7 @@ export class Test extends WithTags(FooItem) {} >WithTags(FooItem) : WithTags.(Anonymous class) & FooItem > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >WithTags : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithTags.(Anonymous class); getTags(): void; } & T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >FooItem : typeof FooItem > : ^^^^^^^^^^^^^^ @@ -104,19 +104,19 @@ Test.getTags() >Test.getTags() : void > : ^^^^ >Test.getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Test : typeof Test > : ^^^^^^^^^^^ >getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ test.tags(); >test.tags() : void > : ^^^^ >test.tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >test : Test > : ^^^^ >tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types b/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types index e13193fb31a0d..b0365b56e6053 100644 --- a/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types +++ b/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types @@ -84,7 +84,7 @@ export class Test extends WithTags(FooItem) {} >WithTags(FooItem) : WithTags.(Anonymous class) & FooItem > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >WithTags : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithTags.(Anonymous class); getTags(): void; } & T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >FooItem : typeof FooItem > : ^^^^^^^^^^^^^^ @@ -100,19 +100,19 @@ Test.getTags() >Test.getTags() : void > : ^^^^ >Test.getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Test : typeof Test > : ^^^^^^^^^^^ >getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ test.tags(); >test.tags() : void > : ^^^^ >test.tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >test : Test > : ^^^^ >tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types b/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types index 8df48315a493c..7586833e42299 100644 --- a/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types +++ b/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types @@ -51,11 +51,11 @@ Clone.clone("ok"); >Clone.clone("ok") : void > : ^^^^ >Clone.clone : (url: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Clone : typeof Clone > : ^^^^^^^^^^^^ >clone : (url: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"ok" : "ok" > : ^^^^ diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types index f29a317ae7015..8be37fcccbfa1 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types @@ -27,21 +27,21 @@ function incrementIdx(max: number) { >Math.floor(Math.random() * max) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * max : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >max : number > : ^^^^^^ diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.types b/tests/baselines/reference/emitSkipsThisWithRestParameter.types index 6c49312a5119e..828c1175c3aac 100644 --- a/tests/baselines/reference/emitSkipsThisWithRestParameter.types +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.types @@ -22,21 +22,21 @@ function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any return fn.apply(this, [ this ].concat(args)); >fn.apply(this, [ this ].concat(args)) : any >fn.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >fn : (base: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >[ this ].concat(args) : any[] > : ^^^^^ >[ this ].concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >[ this ] : any[] > : ^^^^^ >this : any >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/emitStatementsBeforeSuperCall.types b/tests/baselines/reference/emitStatementsBeforeSuperCall.types index 321beabd1ca55..d702cd558e5ac 100644 --- a/tests/baselines/reference/emitStatementsBeforeSuperCall.types +++ b/tests/baselines/reference/emitStatementsBeforeSuperCall.types @@ -20,11 +20,11 @@ class Sub extends Base { >console.log('hi') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types b/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types index f5fb93f3cd314..162a177469c0d 100644 --- a/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types +++ b/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types @@ -20,11 +20,11 @@ class Sub extends Base { >console.log('hi') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types index 64def46ebaa2f..b315aa5d68328 100644 --- a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types +++ b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types @@ -35,7 +35,7 @@ if (nonNull === obj) { >nonNull : {} > : ^^ >obj : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ nonNull; >nonNull : object @@ -109,7 +109,7 @@ if (nonNull === union) { >nonNull : {} > : ^^ >union : { a: string; } | "xyz" -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ nonNull; >nonNull : {} diff --git a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types index c67a84af0a4d9..bf9516fda16a6 100644 --- a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types +++ b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types @@ -35,7 +35,7 @@ if (nonNull === obj) { >nonNull : {} > : ^^ >obj : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ nonNull; >nonNull : object @@ -109,7 +109,7 @@ if (nonNull === union) { >nonNull : {} > : ^^ >union : { a: string; } | "xyz" | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ nonNull; >nonNull : {} diff --git a/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types b/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types index 2da1f6d7c80dc..27ee37f3f2a67 100644 --- a/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types +++ b/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types @@ -11,13 +11,13 @@ var a = [] = [1].map(_ => _); >[1].map(_ => _) : number[] > : ^^^^^^^^ >[1].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >_ => _ : (_: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >_ : number @@ -31,13 +31,13 @@ var b = [1].map(_ => _); >[1].map(_ => _) : number[] > : ^^^^^^^^ >[1].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >_ => _ : (_: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >_ : number diff --git a/tests/baselines/reference/emptyIndexer.types b/tests/baselines/reference/emptyIndexer.types index 1d3ede20edba9..8c75ef8aefe1f 100644 --- a/tests/baselines/reference/emptyIndexer.types +++ b/tests/baselines/reference/emptyIndexer.types @@ -24,7 +24,7 @@ var n = x[''].m(); // should not crash compiler >x[''].m() : number > : ^^^^^^ >x[''].m : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x[''] : I1 > : ^^ >x : I2 @@ -32,5 +32,5 @@ var n = x[''].m(); // should not crash compiler >'' : "" > : ^^ >m : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types index 60ac6f67260c7..7a874e39a9a53 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types @@ -92,7 +92,7 @@ export function fooToBar( >mapValues(foos, f => f.foo) : Dictionary > : ^^^^^^^^^^^^^^^^^^ >mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foos : Record > : ^^^^^^^^^^^^^^^^^^^ >f => f.foo : (f: Foo) => string diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types index d2eabcb7b8d43..94bef94cfdaa7 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types @@ -84,7 +84,7 @@ export function fooToBar( >mapValues(foos, f => f.foo) : Dictionary > : ^^^^^^^^^^^^^^^^^^ >mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foos : Record > : ^^^^^^^^^^^^^^^^^^^ >f => f.foo : (f: Foo) => string @@ -112,7 +112,7 @@ export function fooToBar( >mapValues(foos, f => f.foo) : Dictionary > : ^^^^^^^^^^^^^^^^^^ >mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foos : Record > : ^^^^^^^^^^^^^^^^^^^ >f => f.foo : (f: Foo) => string diff --git a/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types b/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types index de6a5ad11e12c..4a592fdb69be8 100644 --- a/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types +++ b/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types @@ -27,11 +27,11 @@ Object.defineProperty(module, "exports", { value: "oh no" }); >Object.defineProperty(module, "exports", { value: "oh no" }) : typeof module > : ^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module : typeof module > : ^^^^^^^^^^^^^ >"exports" : "exports" @@ -103,11 +103,11 @@ Object.defineProperty(B, "NS", { value: "why though", writable: true }); >Object.defineProperty(B, "NS", { value: "why though", writable: true }) : typeof B > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >B : typeof B > : ^^^^^^^^ >"NS" : "NS" diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.types b/tests/baselines/reference/enumAssignabilityInInheritance.types index 1d9d5a364a378..d8fb673be94ea 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.types +++ b/tests/baselines/reference/enumAssignabilityInInheritance.types @@ -23,19 +23,19 @@ interface I0 { declare function foo(x: E): E; >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ declare function foo(x: number): number; >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function foo(x: any): any; >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -45,7 +45,7 @@ var r = foo(E.A); // E >foo(E.A) : E > : ^ >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -59,7 +59,7 @@ var r2 = foo(1); // number >foo(1) : number > : ^^^^^^ >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -69,19 +69,19 @@ var r3 = foo(null); // any >foo(null) : any > : ^^^ >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >null : any > : ^^^ declare function foo2(x: string): string; >foo2 : { (x: string): string; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo2(x: E): E; >foo2 : { (x: string): string; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -91,7 +91,7 @@ var r4 = foo2(E.A); >foo2(E.A) : E > : ^ >foo2 : { (x: string): string; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -101,13 +101,13 @@ var r4 = foo2(E.A); declare function foo3(x: boolean): boolean; >foo3 : { (x: boolean): boolean; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ declare function foo3(x: E): E; >foo3 : { (x: boolean): boolean; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -117,7 +117,7 @@ var r4 = foo3(E.A); >foo3(E.A) : E > : ^ >foo3 : { (x: boolean): boolean; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -127,13 +127,13 @@ var r4 = foo3(E.A); declare function foo4(x: Date): Date; >foo4 : { (x: Date): Date; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ declare function foo4(x: E): E; >foo4 : { (x: Date): Date; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -143,7 +143,7 @@ var r4 = foo4(E.A); >foo4(E.A) : E > : ^ >foo4 : { (x: Date): Date; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -153,13 +153,13 @@ var r4 = foo4(E.A); declare function foo5(x: RegExp): RegExp; >foo5 : { (x: RegExp): RegExp; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : RegExp > : ^^^^^^ declare function foo5(x: E): E; >foo5 : { (x: RegExp): RegExp; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -169,7 +169,7 @@ var r4 = foo5(E.A); >foo5(E.A) : E > : ^ >foo5 : { (x: RegExp): RegExp; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -179,7 +179,7 @@ var r4 = foo5(E.A); declare function foo6(x: { bar: number }): { bar: number }; >foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : { bar: number; } > : ^^^^^^^ ^^^ >bar : number @@ -189,7 +189,7 @@ declare function foo6(x: { bar: number }): { bar: number }; declare function foo6(x: E): E; >foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -199,7 +199,7 @@ var r4 = foo6(E.A); >foo6(E.A) : E > : ^ >foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -209,13 +209,13 @@ var r4 = foo6(E.A); declare function foo7(x: number[]): number[]; >foo7 : { (x: number[]): number[]; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number[] > : ^^^^^^^^ declare function foo7(x: E): E; >foo7 : { (x: number[]): number[]; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -225,7 +225,7 @@ var r4 = foo7(E.A); >foo7(E.A) : E > : ^ >foo7 : { (x: number[]): number[]; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -239,13 +239,13 @@ interface I8 { foo: string; } declare function foo8(x: I8): I8; >foo8 : { (x: I8): I8; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : I8 > : ^^ declare function foo8(x: E): E; >foo8 : { (x: I8): I8; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -255,7 +255,7 @@ var r4 = foo8(E.A); >foo8(E.A) : E > : ^ >foo8 : { (x: I8): I8; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -271,13 +271,13 @@ class A { foo: number; } declare function foo9(x: A): A; >foo9 : { (x: A): A; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A > : ^ declare function foo9(x: E): E; >foo9 : { (x: A): A; (x: E): E; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -287,7 +287,7 @@ var r4 = foo9(E.A); >foo9(E.A) : E > : ^ >foo9 : { (x: A): A; (x: E): E; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -303,13 +303,13 @@ class A2 { foo: T; } declare function foo10(x: A2): A2; >foo10 : { (x: A2): A2; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A2 > : ^^^^^^^^^^ declare function foo10(x: E): E; >foo10 : { (x: A2): A2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -319,7 +319,7 @@ var r4 = foo10(E.A); >foo10(E.A) : E > : ^ >foo10 : { (x: A2): A2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -329,7 +329,7 @@ var r4 = foo10(E.A); declare function foo11(x: (x) => number): (x) => number; >foo11 : { (x: (x: any) => number): (x: any) => number; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: any) => number > : ^ ^^^^^^^^^^ >x : any @@ -339,7 +339,7 @@ declare function foo11(x: (x) => number): (x) => number; declare function foo11(x: E): E; >foo11 : { (x: (x: any) => number): (x: any) => number; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -349,7 +349,7 @@ var r4 = foo11(E.A); >foo11(E.A) : E > : ^ >foo11 : { (x: (x: any) => number): (x: any) => number; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -359,7 +359,7 @@ var r4 = foo11(E.A); declare function foo12(x: (x: T) => T): (x: T) => T; >foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -369,7 +369,7 @@ declare function foo12(x: (x: T) => T): (x: T) => T; declare function foo12(x: E): E; >foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -379,7 +379,7 @@ var r4 = foo12(E.A); >foo12(E.A) : E > : ^ >foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -395,13 +395,13 @@ enum E2 { A } declare function foo13(x: E2): E2; >foo13 : { (x: E2): E2; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E2 > : ^^ declare function foo13(x: E): E; >foo13 : { (x: E2): E2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -411,7 +411,7 @@ var r4 = foo13(E.A); >foo13(E.A) : E > : ^ >foo13 : { (x: E2): E2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -435,7 +435,7 @@ module f { } declare function foo14(x: typeof f): typeof f; >foo14 : { (x: typeof f): typeof f; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : typeof f > : ^^^^^^^^ >f : typeof f @@ -445,7 +445,7 @@ declare function foo14(x: typeof f): typeof f; declare function foo14(x: E): E; >foo14 : { (x: typeof f): typeof f; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -455,7 +455,7 @@ var r4 = foo14(E.A); >foo14(E.A) : E > : ^ >foo14 : { (x: typeof f): typeof f; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -481,13 +481,13 @@ module CC { } declare function foo15(x: CC): CC; >foo15 : { (x: CC): CC; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : CC > : ^^ declare function foo15(x: E): E; >foo15 : { (x: CC): CC; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -497,7 +497,7 @@ var r4 = foo15(E.A); >foo15(E.A) : E > : ^ >foo15 : { (x: CC): CC; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -507,13 +507,13 @@ var r4 = foo15(E.A); declare function foo16(x: Object): Object; >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Object > : ^^^^^^ declare function foo16(x: E): E; >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -523,7 +523,7 @@ var r4 = foo16(E.A); >foo16(E.A) : Object > : ^^^^^^ >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -533,13 +533,13 @@ var r4 = foo16(E.A); declare function foo17(x: {}): {}; >foo17 : { (x: {}): {}; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : {} > : ^^ declare function foo17(x: E): E; >foo17 : { (x: {}): {}; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -549,7 +549,7 @@ var r4 = foo16(E.A); >foo16(E.A) : Object > : ^^^^^^ >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E diff --git a/tests/baselines/reference/enumAssignmentCompat7.types b/tests/baselines/reference/enumAssignmentCompat7.types index 84e0ceebfe1da..518c4dd1cfbd4 100644 --- a/tests/baselines/reference/enumAssignmentCompat7.types +++ b/tests/baselines/reference/enumAssignmentCompat7.types @@ -66,7 +66,7 @@ function overloadingFunction(): first.E function overloadingFunction(): second.E { >overloadingFunction : () => first.E -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >second : any > : ^^^ diff --git a/tests/baselines/reference/enumBasics2.types b/tests/baselines/reference/enumBasics2.types index 6299cc8fca3a9..d19b8864b4823 100644 --- a/tests/baselines/reference/enumBasics2.types +++ b/tests/baselines/reference/enumBasics2.types @@ -66,13 +66,13 @@ enum Bar { >(1).valueOf() : number > : ^^^^^^ >(1).valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(1) : 1 > : ^ >1 : 1 > : ^ >valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ b = Foo.a, // ok >b : Bar.b @@ -90,7 +90,7 @@ enum Bar { >Foo.a.valueOf() : number > : ^^^^^^ >Foo.a.valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo.a : Foo.a > : ^^^^^ >Foo : typeof Foo @@ -98,7 +98,7 @@ enum Bar { >a : Foo.a > : ^^^^^ >valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ d = Foo.a.a, // should error >d : Bar.d diff --git a/tests/baselines/reference/enumClassification.types b/tests/baselines/reference/enumClassification.types index 2255fcf106d02..e0eb8c4c75a01 100644 --- a/tests/baselines/reference/enumClassification.types +++ b/tests/baselines/reference/enumClassification.types @@ -270,11 +270,11 @@ enum E20 { >Math.sin(1) : number > : ^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/enumIndexer.types b/tests/baselines/reference/enumIndexer.types index 8b80f92163585..2bef4d62951db 100644 --- a/tests/baselines/reference/enumIndexer.types +++ b/tests/baselines/reference/enumIndexer.types @@ -45,11 +45,11 @@ var x = _arr.map(o => MyEnumType[o.key] === enumValue); // these are not same ty >_arr.map(o => MyEnumType[o.key] === enumValue) : boolean[] > : ^^^^^^^^^ >_arr.map : (callbackfn: (value: { key: string; }, index: number, array: { key: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >_arr : { key: string; }[] > : ^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: { key: string; }, index: number, array: { key: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >o => MyEnumType[o.key] === enumValue : (o: { key: string; }) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { key: string; } diff --git a/tests/baselines/reference/enumLiteralTypes1.types b/tests/baselines/reference/enumLiteralTypes1.types index e58dd0ea803be..6e3d354d44a99 100644 --- a/tests/baselines/reference/enumLiteralTypes1.types +++ b/tests/baselines/reference/enumLiteralTypes1.types @@ -321,7 +321,7 @@ function f4(a: Choice.Yes, b: YesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -329,7 +329,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -337,7 +337,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -357,7 +357,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -371,7 +371,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -385,7 +385,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -395,7 +395,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -405,7 +405,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -491,7 +491,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -590,7 +590,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -604,7 +604,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -634,7 +634,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -648,7 +648,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -656,7 +656,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/enumLiteralTypes2.types b/tests/baselines/reference/enumLiteralTypes2.types index 1ac8fbfee8d55..fa51ba17cd341 100644 --- a/tests/baselines/reference/enumLiteralTypes2.types +++ b/tests/baselines/reference/enumLiteralTypes2.types @@ -321,7 +321,7 @@ function f4(a: Choice.Yes, b: UnknownYesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -329,7 +329,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -337,7 +337,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -357,7 +357,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -371,7 +371,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -385,7 +385,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -395,7 +395,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -405,7 +405,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -491,7 +491,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -590,7 +590,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -604,7 +604,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -634,7 +634,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -648,7 +648,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -656,7 +656,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/enumLiteralUnionNotWidened.types b/tests/baselines/reference/enumLiteralUnionNotWidened.types index 7ba0ceab76519..42ec3388d72ff 100644 --- a/tests/baselines/reference/enumLiteralUnionNotWidened.types +++ b/tests/baselines/reference/enumLiteralUnionNotWidened.types @@ -67,7 +67,7 @@ function fn1(x: C): List { return asList(x); } >asList(x) : List > : ^^^^^^^ >asList : (arg: T) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : C > : ^ @@ -80,7 +80,7 @@ function fn2(x: D): List { return asList(x); } >asList(x) : List > : ^^^^^^^ >asList : (arg: T) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : D > : ^ diff --git a/tests/baselines/reference/enumNumbering1.types b/tests/baselines/reference/enumNumbering1.types index c44f749cd6e91..bcb71c940e0ad 100644 --- a/tests/baselines/reference/enumNumbering1.types +++ b/tests/baselines/reference/enumNumbering1.types @@ -19,21 +19,21 @@ enum Test { >Math.floor(Math.random() * 1000) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 1000 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1000 : 1000 > : ^^^^ diff --git a/tests/baselines/reference/enumPropertyAccess.types b/tests/baselines/reference/enumPropertyAccess.types index 5284c7a19658e..63ba03f0a5654 100644 --- a/tests/baselines/reference/enumPropertyAccess.types +++ b/tests/baselines/reference/enumPropertyAccess.types @@ -38,11 +38,11 @@ x.toFixed(); // ok >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : Colors.Red > : ^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Now with generics function fill(f: B) { @@ -63,9 +63,9 @@ function fill(f: B) { >f.toFixed() : string > : ^^^^^^ >f.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >f : Colors > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/enumTag.types b/tests/baselines/reference/enumTag.types index 8ee95582835a8..563141ae93176 100644 --- a/tests/baselines/reference/enumTag.types +++ b/tests/baselines/reference/enumTag.types @@ -142,7 +142,7 @@ function consume(t,s,f) { /** @type {(n: number) => number} */ var fun = f >fun : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : Fs > : ^^ @@ -153,7 +153,7 @@ function consume(t,s,f) { >Target.START : string > : ^^^^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >START : string > : ^^^^^^ @@ -165,7 +165,7 @@ function consume(t,s,f) { >Target.UNKNOWN : any > : ^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >UNKNOWN : any > : ^^^ @@ -177,7 +177,7 @@ function consume(t,s,f) { >Second.MISTAKE : string > : ^^^^^^ >Second : { MISTAKE: string; OK: number; FINE: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >MISTAKE : string > : ^^^^^^ @@ -203,7 +203,7 @@ function ff(s) { >Target[s] : any > : ^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ @@ -214,7 +214,7 @@ function ff(s) { >Target[s] : any > : ^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ } diff --git a/tests/baselines/reference/equalityStrictNulls.types b/tests/baselines/reference/equalityStrictNulls.types index f7c89fa2479da..7e216ec870eaa 100644 --- a/tests/baselines/reference/equalityStrictNulls.types +++ b/tests/baselines/reference/equalityStrictNulls.types @@ -181,7 +181,7 @@ function f3(a: number, b: boolean, c: { x: number }, d: number | string) { >c == null : boolean > : ^^^^^^^ >c : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } if (d == null) { >d == null : boolean diff --git a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types index 4bc79f16fde11..3a04694fe5ee4 100644 --- a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types +++ b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types @@ -27,11 +27,11 @@ function f1(a?: boolean): void { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : false > : ^^^^^ } @@ -40,7 +40,7 @@ f1(false); >f1(false) : void > : ^^^^ >f1 : (a?: boolean) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >false : false > : ^^^^^ @@ -75,11 +75,11 @@ function f2() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 0 > : ^ } diff --git a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types index 91515d199634a..76121756b2275 100644 --- a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types +++ b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types @@ -27,11 +27,11 @@ function f1(a?: boolean): void { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : false > : ^^^^^ } @@ -40,7 +40,7 @@ f1(false); >f1(false) : void > : ^^^^ >f1 : (a?: boolean) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >false : false > : ^^^^^ @@ -75,11 +75,11 @@ function f2() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 0 > : ^ } diff --git a/tests/baselines/reference/errorConstructorSubtypes.types b/tests/baselines/reference/errorConstructorSubtypes.types index 6bfded1bee507..81bb149fb5f01 100644 --- a/tests/baselines/reference/errorConstructorSubtypes.types +++ b/tests/baselines/reference/errorConstructorSubtypes.types @@ -44,9 +44,9 @@ new x().message x.captureStackTrace >x.captureStackTrace : (targetObject: Object, constructorOpt?: Function) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : ErrorConstructor > : ^^^^^^^^^^^^^^^^ >captureStackTrace : (targetObject: Object, constructorOpt?: Function) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/errorElaboration.types b/tests/baselines/reference/errorElaboration.types index 003ba68865aaf..26e24684fdef6 100644 --- a/tests/baselines/reference/errorElaboration.types +++ b/tests/baselines/reference/errorElaboration.types @@ -31,9 +31,9 @@ foo(a); >foo(a) : void > : ^^^^ >foo : (x: () => Container>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : () => Container> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ // Repro for #25498 @@ -70,7 +70,7 @@ const x = ({ [foo.bar]: c }) => undefined; >foo.bar : any > : ^^^ >foo : (x: () => Container>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : any > : ^^^ >c : any diff --git a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types index aeabf21398b02..87ef4fd9a6a77 100644 --- a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types +++ b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types @@ -42,7 +42,7 @@ namespace Test1 { let a2: Color.Red["toString"]; >a2 : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Color : any > : ^^^ @@ -54,7 +54,7 @@ namespace Test1 { //let b2: (typeof Color).Red["toString"]; let b3: (typeof Color)["Red"]["toString"]; >b3 : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Color : typeof Color > : ^^^^^^^^^^^^ @@ -92,5 +92,5 @@ namespace Test1 { let d3: C2["Red"]["toString"]; >d3 : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.types b/tests/baselines/reference/errorMessageOnObjectLiteralType.types index 2f107d4a43023..bab2eed08f83d 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.types +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.types @@ -20,7 +20,7 @@ x.getOwnPropertyNamess(); >x.getOwnPropertyNamess : any > : ^^^ >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >getOwnPropertyNamess : any > : ^^^ diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes01.types b/tests/baselines/reference/errorMessagesIntersectionTypes01.types index 7b3d0a2f9cdcd..bbbc17ff275df 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes01.types +++ b/tests/baselines/reference/errorMessagesIntersectionTypes01.types @@ -28,7 +28,7 @@ let fooBar: FooBar = mixBar({ >mixBar({ fooProp: "frizzlebizzle"}) : { fooProp: string; } & Bar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixBar : (obj: T) => T & Bar -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ fooProp: "frizzlebizzle"} : { fooProp: string; } > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes02.types b/tests/baselines/reference/errorMessagesIntersectionTypes02.types index 93c7128b5ea37..9cd93c4b8af81 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes02.types +++ b/tests/baselines/reference/errorMessagesIntersectionTypes02.types @@ -28,7 +28,7 @@ let fooBar: FooBar = mixBar({ >mixBar({ fooProp: "frizzlebizzle"}) : { fooProp: "frizzlebizzle"; } & Bar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixBar : (obj: T) => T & Bar -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ fooProp: "frizzlebizzle"} : { fooProp: "frizzlebizzle"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/errorOnFunctionReturnType.types b/tests/baselines/reference/errorOnFunctionReturnType.types index cecb5df648fbc..6d4a830e75430 100644 --- a/tests/baselines/reference/errorOnFunctionReturnType.types +++ b/tests/baselines/reference/errorOnFunctionReturnType.types @@ -15,11 +15,11 @@ function testPromise1() { >console.log("Nope") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Nope" : "Nope" > : ^^^^^^ } @@ -27,7 +27,7 @@ function testPromise1() { /** @type {FunctionReturningPromise} */ async function testPromise2() { >testPromise2 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return "asd"; >"asd" : "asd" @@ -44,11 +44,11 @@ var testPromise3 = /** @type {FunctionReturningPromise} */ function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } @@ -64,11 +64,11 @@ var testPromise4 = function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } @@ -88,7 +88,7 @@ function testNever1() { /** @type {FunctionReturningNever} */ async function testNever2() { >testNever2 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ return "asd"; >"asd" : "asd" @@ -105,11 +105,11 @@ var testNever3 = /** @type {FunctionReturningNever} */ function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } @@ -125,11 +125,11 @@ var testNever4 = function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } diff --git a/tests/baselines/reference/errorWithTruncatedType.types b/tests/baselines/reference/errorWithTruncatedType.types index cb0519eaaa8c5..40bfb59649232 100644 --- a/tests/baselines/reference/errorWithTruncatedType.types +++ b/tests/baselines/reference/errorWithTruncatedType.types @@ -32,5 +32,5 @@ var s: string = x; >s : string > : ^^^^^^ >x : { propertyWithAnExceedinglyLongName1: string; propertyWithAnExceedinglyLongName2: string; propertyWithAnExceedinglyLongName3: string; propertyWithAnExceedinglyLongName4: string; propertyWithAnExceedinglyLongName5: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types b/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types index ba9d480f58e79..b241f0b6b241a 100644 --- a/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types +++ b/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types @@ -19,16 +19,16 @@ function minimalExample1() { function foo(x: Disc[]) { >foo : (x: ({ kind: "hddvd"; } | { kind: "bluray"; })[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ >x : ({ kind: "hddvd"; } | { kind: "bluray"; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ } foo([ >foo([ { kind: "bluray", }, { kind: "hdpvd", } ]) : void > : ^^^^ >foo : (x: ({ kind: "hddvd"; } | { kind: "bluray"; })[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ >[ { kind: "bluray", }, { kind: "hdpvd", } ] : ({ kind: "bluray"; } | { kind: "hdpvd"; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -52,7 +52,7 @@ function minimalExample1() { const ds: Disc[] = [ >ds : ({ kind: "hddvd"; } | { kind: "bluray"; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ >[ { kind: "bluray", }, { kind: "hdpvd", } ] : ({ kind: "bluray"; } | { kind: "hdpvd"; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/errorsInGenericTypeReference.types b/tests/baselines/reference/errorsInGenericTypeReference.types index 858a4ed7415da..9473541fc7c9b 100644 --- a/tests/baselines/reference/errorsInGenericTypeReference.types +++ b/tests/baselines/reference/errorsInGenericTypeReference.types @@ -29,11 +29,11 @@ tc1.method<{ x: V }>(); // error: could not find symbol V >tc1.method<{ x: V }>() : void > : ^^^^ >tc1.method : () => void -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^ >tc1 : testClass1 > : ^^^^^^^^^^ >method : () => void -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^ >x : V > : ^ diff --git a/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types b/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types index 997ac9fd7c620..5851469610666 100644 --- a/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types +++ b/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types @@ -48,7 +48,7 @@ f(x); >f(x) : any > : ^^^ >f : (x: Foo | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -56,7 +56,7 @@ f({ a: '', b: '' }) >f({ a: '', b: '' }) : any > : ^^^ >f : (x: Foo | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: '', b: '' } : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -78,7 +78,7 @@ g(x); >g(x) : any > : ^^^ >g : (x: Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -86,7 +86,7 @@ g({ a: '', b: '' }) >g({ a: '', b: '' }) : any > : ^^^ >g : (x: Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: '', b: '' } : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -108,7 +108,7 @@ h(x); >h(x) : any > : ^^^ >h : (x: Foo | Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,7 +116,7 @@ h({ a: '', b: '' }) >h({ a: '', b: '' }) : any > : ^^^ >h : (x: Foo | Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: '', b: '' } : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -164,7 +164,7 @@ addToZoo({ dog: "Barky McBarkface" }); >addToZoo({ dog: "Barky McBarkface" }) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ dog: "Barky McBarkface" } : { dog: string; } > : ^^^^^^^^^^^^^^^^ >dog : string @@ -176,7 +176,7 @@ addToZoo({ man: "Manny", bear: "Coffee" }); >addToZoo({ man: "Manny", bear: "Coffee" }) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ man: "Manny", bear: "Coffee" } : { man: string; bear: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >man : string @@ -206,7 +206,7 @@ addToZoo({ man: "Manny", beer: "Coffee" }); >addToZoo({ man: "Manny", beer: "Coffee" }) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ man: "Manny", beer: "Coffee" } : { man: string; beer: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >man : string @@ -222,7 +222,7 @@ addToZoo(manBeer); >addToZoo(manBeer) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >manBeer : { man: string; beer: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/es2016IntlAPIs.types b/tests/baselines/reference/es2016IntlAPIs.types index 287dd99a0edf0..298aa60b23e02 100644 --- a/tests/baselines/reference/es2016IntlAPIs.types +++ b/tests/baselines/reference/es2016IntlAPIs.types @@ -7,19 +7,19 @@ console.log(Intl.getCanonicalLocales('EN-US')); >console.log(Intl.getCanonicalLocales('EN-US')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.getCanonicalLocales('EN-US') : string[] > : ^^^^^^^^ >Intl.getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'EN-US' : "EN-US" > : ^^^^^^^ @@ -29,19 +29,19 @@ console.log(Intl.getCanonicalLocales(['EN-US', 'Fr'])); >console.log(Intl.getCanonicalLocales(['EN-US', 'Fr'])) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.getCanonicalLocales(['EN-US', 'Fr']) : string[] > : ^^^^^^^^ >Intl.getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >['EN-US', 'Fr'] : string[] > : ^^^^^^^^ >'EN-US' : "EN-US" @@ -56,11 +56,11 @@ try { >Intl.getCanonicalLocales('EN_US') : string[] > : ^^^^^^^^ >Intl.getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'EN_US' : "EN_US" > : ^^^^^^^ @@ -71,11 +71,11 @@ try { >console.log(err.toString()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err.toString() : any >err.toString : any >err : any diff --git a/tests/baselines/reference/es2017DateAPIs.types b/tests/baselines/reference/es2017DateAPIs.types index 37f0dff23752b..b8a70710a0adf 100644 --- a/tests/baselines/reference/es2017DateAPIs.types +++ b/tests/baselines/reference/es2017DateAPIs.types @@ -5,11 +5,11 @@ Date.UTC(2017); >Date.UTC(2017) : number > : ^^^^^^ >Date.UTC : { (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; (year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >UTC : { (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; (year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >2017 : 2017 > : ^^^^ diff --git a/tests/baselines/reference/es2018IntlAPIs.types b/tests/baselines/reference/es2018IntlAPIs.types index 979996db152c8..8b70d19421d09 100644 --- a/tests/baselines/reference/es2018IntlAPIs.types +++ b/tests/baselines/reference/es2018IntlAPIs.types @@ -31,19 +31,19 @@ console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')); >console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.PluralRules.supportedLocalesOf(locales, options).join(', ') : string > : ^^^^^^ >Intl.PluralRules.supportedLocalesOf(locales, options).join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl.PluralRules.supportedLocalesOf(locales, options) : string[] > : ^^^^^^^^ >Intl.PluralRules.supportedLocalesOf : (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -51,13 +51,13 @@ console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')); >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >locales : string[] > : ^^^^^^^^ >options : { readonly localeMatcher: "lookup"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >', ' : ", " > : ^^^^ @@ -67,7 +67,7 @@ const [ part ] = new Intl.NumberFormat().formatToParts(); >new Intl.NumberFormat().formatToParts() : Intl.NumberFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat().formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat() : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -77,17 +77,17 @@ const [ part ] = new Intl.NumberFormat().formatToParts(); >NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ console.log(part.type, part.value); >console.log(part.type, part.value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >part.type : keyof Intl.NumberFormatPartTypeRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >part : Intl.NumberFormatPart diff --git a/tests/baselines/reference/es2018ObjectAssign.types b/tests/baselines/reference/es2018ObjectAssign.types index 34374548e0ba4..3ae8df0b5c585 100644 --- a/tests/baselines/reference/es2018ObjectAssign.types +++ b/tests/baselines/reference/es2018ObjectAssign.types @@ -7,11 +7,11 @@ const test = Object.assign({}, { test: true }); >Object.assign({}, { test: true }) : { test: boolean; } > : ^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >{ test: true } : { test: true; } @@ -29,9 +29,9 @@ p.finally(); >p.finally() : Promise > : ^^^^^^^^^^^^^^^ >p.finally : (onfinally?: () => void) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ >finally : (onfinally?: () => void) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/es2020IntlAPIs.types b/tests/baselines/reference/es2020IntlAPIs.types index 1734db9725580..b43ea99323f6c 100644 --- a/tests/baselines/reference/es2020IntlAPIs.types +++ b/tests/baselines/reference/es2020IntlAPIs.types @@ -28,11 +28,11 @@ function log(locale: string) { >console.log( `${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ `${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` >`${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` : string @@ -40,7 +40,7 @@ function log(locale: string) { >new Intl.DateTimeFormat(locale).format(date) : string > : ^^^^^^ >new Intl.DateTimeFormat(locale).format : (date?: Date | number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Intl.DateTimeFormat(locale) : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -52,13 +52,13 @@ function log(locale: string) { >locale : string > : ^^^^^^ >format : (date?: Date | number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >date : Date > : ^^^^ >new Intl.NumberFormat(locale).format(count) : string > : ^^^^^^ >new Intl.NumberFormat(locale).format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Intl.NumberFormat(locale) : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -70,7 +70,7 @@ function log(locale: string) { >locale : string > : ^^^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >count : 26254.39 > : ^^^^^^^^ @@ -103,12 +103,12 @@ const rtf1 = new Intl.RelativeTimeFormat('en', { style: 'narrow' }); > : ^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.RelativeTimeFormat('en', { style: 'narrow' }) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'en' : "en" > : ^^^^ >{ style: 'narrow' } : { style: "narrow"; } @@ -122,19 +122,19 @@ console.log(rtf1.format(3, 'quarter')); >console.log(rtf1.format(3, 'quarter')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rtf1.format(3, 'quarter') : string > : ^^^^^^ >rtf1.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rtf1 : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ >format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >3 : 3 > : ^ >'quarter' : "quarter" @@ -146,19 +146,19 @@ console.log(rtf1.format(-1, 'day')); >console.log(rtf1.format(-1, 'day')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rtf1.format(-1, 'day') : string > : ^^^^^^ >rtf1.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rtf1 : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ >format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >-1 : -1 > : ^^ >1 : 1 @@ -173,12 +173,12 @@ const rtf2 = new Intl.RelativeTimeFormat('es', { numeric: 'auto' }); > : ^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.RelativeTimeFormat('es', { numeric: 'auto' }) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'es' : "es" > : ^^^^ >{ numeric: 'auto' } : { numeric: "auto"; } @@ -192,19 +192,19 @@ console.log(rtf2.format(2, 'day')); >console.log(rtf2.format(2, 'day')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rtf2.format(2, 'day') : string > : ^^^^^^ >rtf2.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rtf2 : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ >format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >2 : 2 > : ^ >'day' : "day" @@ -218,12 +218,12 @@ const regionNamesInEnglish = new Intl.DisplayNames(['en'], { type: 'region' }); > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(['en'], { type: 'region' }) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >['en'] : string[] > : ^^^^^^^^ >'en' : "en" @@ -240,12 +240,12 @@ const regionNamesInTraditionalChinese = new Intl.DisplayNames(['zh-Hant'], { typ > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(['zh-Hant'], { type: 'region' }) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >['zh-Hant'] : string[] > : ^^^^^^^^ >'zh-Hant' : "zh-Hant" @@ -261,19 +261,19 @@ console.log(regionNamesInEnglish.of('US')); >console.log(regionNamesInEnglish.of('US')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >regionNamesInEnglish.of('US') : string > : ^^^^^^ ->regionNamesInEnglish.of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>regionNamesInEnglish.of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >regionNamesInEnglish : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >'US' : "US" > : ^^^^ @@ -283,19 +283,19 @@ console.log(regionNamesInTraditionalChinese.of('US')); >console.log(regionNamesInTraditionalChinese.of('US')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >regionNamesInTraditionalChinese.of('US') : string > : ^^^^^^ ->regionNamesInTraditionalChinese.of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>regionNamesInTraditionalChinese.of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >regionNamesInTraditionalChinese : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >'US' : "US" > : ^^^^ @@ -329,33 +329,33 @@ console.log(Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ')) >console.log(Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ') : string > : ^^^^^^ >Intl.DisplayNames.supportedLocalesOf(locales1, options1).join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(locales1, options1) : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >locales1 : string[] > : ^^^^^^^^ >options1 : { readonly localeMatcher: "lookup"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >', ' : ", " > : ^^^^ @@ -392,34 +392,34 @@ new Intl.Locale(new Intl.Locale('en-US')); new Intl.DisplayNames(); // TypeError: invalid_argument >new Intl.DisplayNames() : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ new Intl.DisplayNames('en'); // TypeError: invalid_argument >new Intl.DisplayNames('en') : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'en' : "en" > : ^^^^ new Intl.DisplayNames('en', {}); // TypeError: invalid_argument >new Intl.DisplayNames('en', {}) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'en' : "en" > : ^^^^ >{} : {} @@ -429,25 +429,25 @@ console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')); >console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB') : string > : ^^^^^^ ->(new Intl.DisplayNames(undefined, {type: 'language'})).of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>(new Intl.DisplayNames(undefined, {type: 'language'})).of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >(new Intl.DisplayNames(undefined, {type: 'language'})) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(undefined, {type: 'language'}) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >{type: 'language'} : { type: "language"; } @@ -456,8 +456,8 @@ console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')); > : ^^^^^^^^^^ >'language' : "language" > : ^^^^^^^^^^ ->of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ @@ -483,11 +483,11 @@ console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOpti >console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions().locale) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions().locale : string > : ^^^^^^ >(new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions() : Intl.ResolvedDisplayNamesOptions @@ -498,12 +498,12 @@ console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOpti > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(localesArg, {type: 'language'}) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >localesArg : (string | Intl.Locale)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >{type: 'language'} : { type: "language"; } @@ -521,23 +521,23 @@ console.log(Intl.DisplayNames.supportedLocalesOf(localesArg)); // ["es-ES", "en- >console.log(Intl.DisplayNames.supportedLocalesOf(localesArg)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(localesArg) : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >localesArg : (string | Intl.Locale)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -545,45 +545,45 @@ console.log(Intl.DisplayNames.supportedLocalesOf()); // [] >console.log(Intl.DisplayNames.supportedLocalesOf()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf() : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})); // ["es-ES", "en-US"] >console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(localesArg, {}) : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >localesArg : (string | Intl.Locale)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/es2021LocalesObjectArgument.types b/tests/baselines/reference/es2021LocalesObjectArgument.types index 2357d74eaf007..1fd143435659e 100644 --- a/tests/baselines/reference/es2021LocalesObjectArgument.types +++ b/tests/baselines/reference/es2021LocalesObjectArgument.types @@ -46,24 +46,24 @@ const jaJP = new Intl.Locale("ja-JP"); new Intl.ListFormat(enUS); >new Intl.ListFormat(enUS) : Intl.ListFormat > : ^^^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ new Intl.ListFormat([deDE, jaJP]); >new Intl.ListFormat([deDE, jaJP]) : Intl.ListFormat > : ^^^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -74,32 +74,32 @@ new Intl.ListFormat([deDE, jaJP]); Intl.ListFormat.supportedLocalesOf(enUS); >Intl.ListFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.ListFormat.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.ListFormat.supportedLocalesOf([deDE, jaJP]); >Intl.ListFormat.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.ListFormat.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale diff --git a/tests/baselines/reference/es2022IntlAPIs.types b/tests/baselines/reference/es2022IntlAPIs.types index c767ba76b74fc..2571a4c18b5a0 100644 --- a/tests/baselines/reference/es2022IntlAPIs.types +++ b/tests/baselines/reference/es2022IntlAPIs.types @@ -91,11 +91,11 @@ for (const key of enumerationKeys) { >Intl.supportedValuesOf(key) : string[] > : ^^^^^^^^ >Intl.supportedValuesOf : (key: "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit") => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >supportedValuesOf : (key: "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit") => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/es2022LocalesObjectArgument.types b/tests/baselines/reference/es2022LocalesObjectArgument.types index 2360a8b6b6ffa..dac5f3fe598db 100644 --- a/tests/baselines/reference/es2022LocalesObjectArgument.types +++ b/tests/baselines/reference/es2022LocalesObjectArgument.types @@ -46,24 +46,24 @@ const jaJP = new Intl.Locale("ja-JP"); new Intl.Segmenter(enUS); >new Intl.Segmenter(enUS) : Intl.Segmenter > : ^^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ new Intl.Segmenter([deDE, jaJP]); >new Intl.Segmenter([deDE, jaJP]) : Intl.Segmenter > : ^^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -74,32 +74,32 @@ new Intl.Segmenter([deDE, jaJP]); Intl.Segmenter.supportedLocalesOf(enUS); >Intl.Segmenter.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.Segmenter.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.Segmenter.supportedLocalesOf([deDE, jaJP]); >Intl.Segmenter.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.Segmenter.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale diff --git a/tests/baselines/reference/es2022SharedMemory.types b/tests/baselines/reference/es2022SharedMemory.types index 63a9980718ce9..134a43a0ddaae 100644 --- a/tests/baselines/reference/es2022SharedMemory.types +++ b/tests/baselines/reference/es2022SharedMemory.types @@ -63,11 +63,11 @@ const waitValue = Atomics.wait(int32, 0, 0); >Atomics.wait(int32, 0, 0) : "ok" | "not-equal" | "timed-out" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Atomics.wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): "ok" | "not-equal" | "timed-out"; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Atomics : Atomics > : ^^^^^^^ >wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): "ok" | "not-equal" | "timed-out"; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >int32 : Int32Array > : ^^^^^^^^^^ >0 : 0 @@ -81,13 +81,13 @@ const { async, value } = Atomics.waitAsync(int32, 0, 0); >value : "not-equal" | "timed-out" | Promise<"ok" | "timed-out"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Atomics.waitAsync(int32, 0, 0) : { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >Atomics.waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Atomics : Atomics > : ^^^^^^^ >waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >int32 : Int32Array > : ^^^^^^^^^^ >0 : 0 @@ -105,13 +105,13 @@ const { async: async64, value: value64 } = Atomics.waitAsync(int64, 0, BigInt(0) >value64 : "not-equal" | "timed-out" | Promise<"ok" | "timed-out"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Atomics.waitAsync(int64, 0, BigInt(0)) : { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >Atomics.waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Atomics : Atomics > : ^^^^^^^ >waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >int64 : BigInt64Array > : ^^^^^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types index 9cad6845f9894..f748106248d0e 100644 --- a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types +++ b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types @@ -21,11 +21,11 @@ const fooShort = async () => { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -37,11 +37,11 @@ const fooShort = async () => { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -53,11 +53,11 @@ const fooShort = async () => { >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -69,11 +69,11 @@ const fooShort = async () => { >Promise.resolve(3) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -85,11 +85,11 @@ const fooShort = async () => { >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -114,11 +114,11 @@ const fooLong = async () => { >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -130,11 +130,11 @@ const fooLong = async () => { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -146,11 +146,11 @@ const fooLong = async () => { >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -162,11 +162,11 @@ const fooLong = async () => { >Promise.resolve(3) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -178,11 +178,11 @@ const fooLong = async () => { >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -194,11 +194,11 @@ const fooLong = async () => { >Promise.resolve(5) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ @@ -210,11 +210,11 @@ const fooLong = async () => { >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >6 : 6 > : ^ @@ -226,11 +226,11 @@ const fooLong = async () => { >Promise.resolve(7) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >7 : 7 > : ^ @@ -242,11 +242,11 @@ const fooLong = async () => { >Promise.resolve(8) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >8 : 8 > : ^ @@ -258,11 +258,11 @@ const fooLong = async () => { >Promise.resolve(9) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >9 : 9 > : ^ diff --git a/tests/baselines/reference/es5DateAPIs.types b/tests/baselines/reference/es5DateAPIs.types index 1e7efe39951e7..6642dddc014a8 100644 --- a/tests/baselines/reference/es5DateAPIs.types +++ b/tests/baselines/reference/es5DateAPIs.types @@ -5,11 +5,11 @@ Date.UTC(2017); // should error >Date.UTC(2017) : number > : ^^^^^^ >Date.UTC : (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >UTC : (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >2017 : 2017 > : ^^^^ diff --git a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types index 85be1d5d2677d..eafe9231ab4f5 100644 --- a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types +++ b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types @@ -3,13 +3,13 @@ === es5ExportDefaultFunctionDeclaration3.ts === var before: typeof func = func(); >before : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func() : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export default function func(): typeof func { >func : () => typeof func @@ -19,16 +19,16 @@ export default function func(): typeof func { return func; >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } var after: typeof func = func(); >after : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func() : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types index 7a75994016e7f..780a7ff18a755 100644 --- a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types +++ b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types @@ -7,9 +7,9 @@ declare module "bar" { var before: typeof func; >before : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export default function func(): typeof func; >func : () => typeof func @@ -19,7 +19,7 @@ declare module "bar" { var after: typeof func; >after : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/es6ClassTest2.types b/tests/baselines/reference/es6ClassTest2.types index 615e3c4de91d3..0c12479039a9a 100644 --- a/tests/baselines/reference/es6ClassTest2.types +++ b/tests/baselines/reference/es6ClassTest2.types @@ -80,11 +80,11 @@ console.log((m5.isAlive).toString()); >console.log((m5.isAlive).toString()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(m5.isAlive).toString() : any >(m5.isAlive).toString : any >(m5.isAlive) : any diff --git a/tests/baselines/reference/es6ClassTest8.types b/tests/baselines/reference/es6ClassTest8.types index 8d7519e264616..905a6a754646e 100644 --- a/tests/baselines/reference/es6ClassTest8.types +++ b/tests/baselines/reference/es6ClassTest8.types @@ -143,19 +143,19 @@ class Camera { >Vector.norm(Vector.minus(lookAt,this.pos)) : Vector > : ^^^^^^ >Vector.norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector.minus(lookAt,this.pos) : Vector > : ^^^^^^ >Vector.minus : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >minus : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >lookAt : Vector > : ^^^^^^ >this.pos : Vector @@ -177,29 +177,29 @@ class Camera { >Vector.times(down, Vector.norm(Vector.cross(this.forward, down))) : Vector > : ^^^^^^ >Vector.times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >down : Vector > : ^^^^^^ >Vector.norm(Vector.cross(this.forward, down)) : Vector > : ^^^^^^ >Vector.norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector.cross(this.forward, down) : Vector > : ^^^^^^ >Vector.cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.forward : Vector > : ^^^^^^ >this : this @@ -221,29 +221,29 @@ class Camera { >Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))) : Vector > : ^^^^^^ >Vector.times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >down : Vector > : ^^^^^^ >Vector.norm(Vector.cross(this.forward, this.right)) : Vector > : ^^^^^^ >Vector.norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector.cross(this.forward, this.right) : Vector > : ^^^^^^ >Vector.cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.forward : Vector > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/es6ExportEqualsInterop.types b/tests/baselines/reference/es6ExportEqualsInterop.types index 12b0a92df2a2d..33f9ff158249c 100644 --- a/tests/baselines/reference/es6ExportEqualsInterop.types +++ b/tests/baselines/reference/es6ExportEqualsInterop.types @@ -10,11 +10,11 @@ import z1 = require("interface"); import z2 = require("variable"); >z2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import z3 = require("interface-variable"); >z3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import z4 = require("module"); >z4 : typeof z4 @@ -26,7 +26,7 @@ import z5 = require("interface-module"); import z6 = require("variable-module"); >z6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import z7 = require("function"); >z7 : () => any @@ -56,7 +56,7 @@ z2.a; >z2.a : number > : ^^^^^^ >z2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -64,7 +64,7 @@ z3.a; >z3.a : number > : ^^^^^^ >z3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -88,7 +88,7 @@ z6.a; >z6.a : number > : ^^^^^^ >z6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -172,11 +172,11 @@ import * as y1 from "interface"; import * as y2 from "variable"; >y2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import * as y3 from "interface-variable"; >y3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import * as y4 from "module"; >y4 : typeof z4 @@ -188,7 +188,7 @@ import * as y5 from "interface-module"; import * as y6 from "variable-module"; >y6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import * as y7 from "function"; >y7 : () => any @@ -218,7 +218,7 @@ y2.a; >y2.a : number > : ^^^^^^ >y2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -226,7 +226,7 @@ y3.a; >y3.a : number > : ^^^^^^ >y3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -250,7 +250,7 @@ y6.a; >y6.a : number > : ^^^^^^ >y6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -497,7 +497,7 @@ declare module "variable" { } export = Foo; >Foo : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } declare module "interface-variable" { @@ -610,7 +610,7 @@ declare module "variable-module" { } export = Foo; >Foo : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } declare module "function" { diff --git a/tests/baselines/reference/es6ImportWithJsDocTags.types b/tests/baselines/reference/es6ImportWithJsDocTags.types index 4e5b3c0551177..442c62b640590 100644 --- a/tests/baselines/reference/es6ImportWithJsDocTags.types +++ b/tests/baselines/reference/es6ImportWithJsDocTags.types @@ -22,11 +22,11 @@ console.log(foo); >console.log(foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo : 1 > : ^ diff --git a/tests/baselines/reference/es6UseOfTopLevelRequire.types b/tests/baselines/reference/es6UseOfTopLevelRequire.types index b31d0ad872328..253adb541dc1a 100644 --- a/tests/baselines/reference/es6UseOfTopLevelRequire.types +++ b/tests/baselines/reference/es6UseOfTopLevelRequire.types @@ -3,13 +3,13 @@ === a.ts === import require from "./b" >require : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ require("arg"); >require("arg") : void > : ^^^^ >require : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"arg" : "arg" > : ^^^^^ diff --git a/tests/baselines/reference/es6modulekindWithES5Target.types b/tests/baselines/reference/es6modulekindWithES5Target.types index 357c636f4b91d..18c9759025361 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target.types +++ b/tests/baselines/reference/es6modulekindWithES5Target.types @@ -35,7 +35,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export class D { >D : D diff --git a/tests/baselines/reference/es6modulekindWithES5Target11.types b/tests/baselines/reference/es6modulekindWithES5Target11.types index cf5b6ac83f465..2ea1183b8781f 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target11.types +++ b/tests/baselines/reference/es6modulekindWithES5Target11.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/es6modulekindWithES5Target3.types b/tests/baselines/reference/es6modulekindWithES5Target3.types index b30ff3c51de91..9ae61ca799f15 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target3.types +++ b/tests/baselines/reference/es6modulekindWithES5Target3.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class D { >D : D diff --git a/tests/baselines/reference/esDecorators-contextualTypes.2.types b/tests/baselines/reference/esDecorators-contextualTypes.2.types index 2a9d26100da7f..6edb24a32891d 100644 --- a/tests/baselines/reference/esDecorators-contextualTypes.2.types +++ b/tests/baselines/reference/esDecorators-contextualTypes.2.types @@ -6,10 +6,10 @@ class C { > : ^ @boundMethodLogger("Yadda", /*bound*/ true) ->boundMethodLogger("Yadda", /*bound*/ true) : (target: (this: C) => void, context: ClassMethodDecoratorContext void>) => (this: C) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ->boundMethodLogger : (source: string, bound?: boolean) => (target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext Return>) => (this: This, ...args: Args) => Return -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +>boundMethodLogger("Yadda", /*bound*/ true) : (target: (this: C) => void, context: ClassMethodDecoratorContext void>) => ((this: C, ...args: []) => void) +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ +>boundMethodLogger : (source: string, bound?: boolean) => (target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext Return>) => ((this: This, ...args: Args) => Return) +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >"Yadda" : "Yadda" > : ^^^^^^^ >true : true @@ -38,11 +38,11 @@ class C { >console.log("Behold! The actual method implementation!") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Behold! The actual method implementation!" : "Behold! The actual method implementation!" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -97,11 +97,11 @@ function boundMethodLogger(source: string, bou >context.addInitializer(function () { (this as any)[context.name] = (this as any)[context.name].bind(this); }) : void > : ^^^^ >context.addInitializer : (initializer: (this: This) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >addInitializer : (initializer: (this: This) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >function () { (this as any)[context.name] = (this as any)[context.name].bind(this); } : (this: This) => void > : ^ ^^^^^^^^^^^^^^^ @@ -115,7 +115,7 @@ function boundMethodLogger(source: string, bou >context.name : string | symbol > : ^^^^^^^^^^^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >name : string | symbol > : ^^^^^^^^^^^^^^^ >(this as any)[context.name].bind(this) : any @@ -129,7 +129,7 @@ function boundMethodLogger(source: string, bou >context.name : string | symbol > : ^^^^^^^^^^^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >name : string | symbol > : ^^^^^^^^^^^^^^^ >bind : any @@ -152,11 +152,11 @@ function boundMethodLogger(source: string, bou >console.log(`<${source}>: I'm logging stuff from ${context.name.toString()}!`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`<${source}>: I'm logging stuff from ${context.name.toString()}!` : string > : ^^^^^^ >source : string @@ -164,24 +164,24 @@ function boundMethodLogger(source: string, bou >context.name.toString() : string > : ^^^^^^ >context.name.toString : (() => string) | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >context.name : string | symbol > : ^^^^^^^^^^^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >name : string | symbol > : ^^^^^^^^^^^^^^^ >toString : (() => string) | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ return target.apply(this, args); >target.apply(this, args) : any >target.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >target : (this: This, ...args: Args) => Return -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : This > : ^^^^ >args : Args diff --git a/tests/baselines/reference/esDecorators-preservesThis.types b/tests/baselines/reference/esDecorators-preservesThis.types index 1a57b35168456..25ffe8eb53e2b 100644 --- a/tests/baselines/reference/esDecorators-preservesThis.types +++ b/tests/baselines/reference/esDecorators-preservesThis.types @@ -29,11 +29,11 @@ class C { @instance.decorate >instance.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method1() { } >method1 : () => void @@ -41,9 +41,9 @@ class C { @(instance["decorate"]) >(instance["decorate"]) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance["decorate"] : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >"decorate" : "decorate" @@ -56,15 +56,15 @@ class C { // even in parens @((instance.decorate)) >((instance.decorate)) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(instance.decorate) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method3() { } >method3 : () => void @@ -88,13 +88,13 @@ class D extends DecoratorProvider { @(super.decorate) >(super.decorate) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method1() { } >method1 : () => void @@ -102,9 +102,9 @@ class D extends DecoratorProvider { @(super["decorate"]) >(super["decorate"]) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super["decorate"] : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >"decorate" : "decorate" @@ -116,15 +116,15 @@ class D extends DecoratorProvider { @((super.decorate)) >((super.decorate)) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(super.decorate) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method3() { } >method3 : () => void diff --git a/tests/baselines/reference/esModuleInterop.types b/tests/baselines/reference/esModuleInterop.types index 951886cf0189a..8abd6e1ed1768 100644 --- a/tests/baselines/reference/esModuleInterop.types +++ b/tests/baselines/reference/esModuleInterop.types @@ -24,7 +24,7 @@ export = anything; === mjts.ts === import { sayHello } from "./hybrid"; >sayHello : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ import path from "./path"; >path : any @@ -40,7 +40,7 @@ sayHello(); >sayHello() : string > : ^^^^^^ >sayHello : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ fs; >fs : any diff --git a/tests/baselines/reference/esModuleInteropDefaultImports.types b/tests/baselines/reference/esModuleInteropDefaultImports.types index 6dfbad4790138..fc1272c0c384c 100644 --- a/tests/baselines/reference/esModuleInteropDefaultImports.types +++ b/tests/baselines/reference/esModuleInteropDefaultImports.types @@ -7,7 +7,7 @@ declare function fun(): void; export default fun; >fun : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === a.ts === import mod = require("./mod"); @@ -153,47 +153,47 @@ a.default(); >a.default() : void > : ^^^^ >a.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ b.default(); >b.default() : void > : ^^^^ >b.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c.default(); >c.default() : void > : ^^^^ >c.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ d.default(); >d.default() : void > : ^^^^ >d.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >d : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.default.default(); >self.default.default() : void > : ^^^^ >self.default.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.default : typeof a > : ^^^^^^^^ >self : typeof self @@ -201,13 +201,13 @@ self.default.default(); >default : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.def.default(); >self.def.default() : void > : ^^^^ >self.def.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.def : typeof a > : ^^^^^^^^ >self : typeof self @@ -215,5 +215,5 @@ self.def.default(); >def : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/esModuleInteropImportCall.types b/tests/baselines/reference/esModuleInteropImportCall.types index c55b8608632e5..85bcc4c7d1e81 100644 --- a/tests/baselines/reference/esModuleInteropImportCall.types +++ b/tests/baselines/reference/esModuleInteropImportCall.types @@ -8,31 +8,31 @@ declare function foo(): void; declare namespace foo {} export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === index.ts === import("./foo").then(f => { >import("./foo").then(f => { f.default;}) : Promise > : ^^^^^^^^^^^^^ >import("./foo").then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./foo") : Promise<{ default: () => void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >"./foo" : "./foo" > : ^^^^^^^ >then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f => { f.default;} : (f: { default: () => void; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >f : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ f.default; >f.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ }); diff --git a/tests/baselines/reference/esModuleInteropImportNamespace.types b/tests/baselines/reference/esModuleInteropImportNamespace.types index 76c8839e9c3ab..10f64f2650f35 100644 --- a/tests/baselines/reference/esModuleInteropImportNamespace.types +++ b/tests/baselines/reference/esModuleInteropImportNamespace.types @@ -8,18 +8,18 @@ declare function foo(): void; declare namespace foo {} export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === index.ts === import * as foo from "./foo"; >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ foo.default; >foo.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types b/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types index 8d5d1bb5aba7b..923d9cf2d2406 100644 --- a/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types +++ b/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types @@ -8,12 +8,12 @@ declare function foo(): void; declare namespace foo {} export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === index.ts === import * as foo from "./foo"; >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ function invoke(f: () => void) { f(); } >invoke : (f: () => void) => void @@ -23,7 +23,7 @@ function invoke(f: () => void) { f(); } >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ invoke(foo); >invoke(foo) : void @@ -31,5 +31,5 @@ invoke(foo); >invoke : (f: () => void) => void > : ^ ^^ ^^^^^^^^^ >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/esModuleIntersectionCrash.types b/tests/baselines/reference/esModuleIntersectionCrash.types index 543ecd5584b8d..2f8db92407fdb 100644 --- a/tests/baselines/reference/esModuleIntersectionCrash.types +++ b/tests/baselines/reference/esModuleIntersectionCrash.types @@ -27,13 +27,13 @@ declare namespace modObj { === idx.ts === import * as mod from "./mod"; >mod : { default: mod.A & mod.B; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ mod.a; >mod.a : string > : ^^^^^^ >mod : { default: mod.A & mod.B; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -41,7 +41,7 @@ mod.b; >mod.b : string > : ^^^^^^ >mod : { default: mod.A & mod.B; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types index 2aee7c76d4e61..2d847c5dc6a3b 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types @@ -25,11 +25,11 @@ const IterableWeakMap_cleanup = ({ ref, set }: { >set.delete(ref) : boolean > : ^^^^^^^ >set.delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >set : Set> > : ^^^^^^^^^^^^^^^^^^^^ >delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >ref : WeakRef > : ^^^^^^^^^^^^^^^ @@ -72,9 +72,9 @@ export class IterableWeakMap implements WeakMap { #finalizationGroup = new FinalizationRegistry(IterableWeakMap_cleanup); >#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >new FinalizationRegistry(IterableWeakMap_cleanup) : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >FinalizationRegistry : FinalizationRegistryConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >IterableWeakMap_cleanup : ({ ref, set }: { readonly ref: WeakRef; readonly set: Set>; }) => void @@ -102,11 +102,11 @@ export class IterableWeakMap implements WeakMap { >this.set(key, value) : this > : ^^^^ >this.set : (key: K, value: V) => this -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >set : (key: K, value: V) => this -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : V @@ -125,17 +125,17 @@ export class IterableWeakMap implements WeakMap { const entry = this.#weakMap.get(key); >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ @@ -143,7 +143,7 @@ export class IterableWeakMap implements WeakMap { >entry !== undefined : boolean > : ^^^^^^^ >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -153,7 +153,7 @@ export class IterableWeakMap implements WeakMap { >entry.value : V > : ^ >entry : { readonly ref: WeakRef; value: V; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >value : V > : ^ >value : V @@ -172,15 +172,15 @@ export class IterableWeakMap implements WeakMap { this.#weakMap.set(key, { ref, value }); >this.#weakMap.set(key, { ref, value }) : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this.#weakMap.set : (key: K, value: { readonly ref: WeakRef; value: V; }) => WeakMap; value: V; }> -> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >set : (key: K, value: { readonly ref: WeakRef; value: V; }) => WeakMap; value: V; }> -> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >key : K > : ^ >{ ref, value } : { ref: WeakRef; value: V; } @@ -208,13 +208,13 @@ export class IterableWeakMap implements WeakMap { >this.#finalizationGroup.register(key, { set: this.#refSet, ref, }, ref) : void > : ^^^^ >this.#finalizationGroup.register : (target: WeakKey, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^ >this.#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >register : (target: WeakKey, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^ >key : K > : ^ >{ set: this.#refSet, ref, } : { set: Set>; ref: WeakRef; } @@ -251,13 +251,13 @@ export class IterableWeakMap implements WeakMap { >this.#weakMap.has(key) : boolean > : ^^^^^^^ >this.#weakMap.has : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >has : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >key : K > : ^ } @@ -272,15 +272,15 @@ export class IterableWeakMap implements WeakMap { >this.#weakMap.get(key)?.value : V | undefined > : ^^^^^^^^^^^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ >value : V | undefined @@ -295,17 +295,17 @@ export class IterableWeakMap implements WeakMap { const entry = this.#weakMap.get(key); >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ @@ -313,7 +313,7 @@ export class IterableWeakMap implements WeakMap { >entry === undefined : boolean > : ^^^^^^^ >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -326,19 +326,19 @@ export class IterableWeakMap implements WeakMap { >ref : WeakRef > : ^^^^^^^^^^ >entry : { readonly ref: WeakRef; value: V; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ this.#weakMap.delete(key); >this.#weakMap.delete(key) : boolean > : ^^^^^^^ >this.#weakMap.delete : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >delete : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >key : K > : ^ @@ -346,13 +346,13 @@ export class IterableWeakMap implements WeakMap { >this.#refSet.delete(ref) : boolean > : ^^^^^^^ >this.#refSet.delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ >this.#refSet : Set> > : ^^^^^^^^^^^^^^^ >this : this > : ^^^^ >delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ >ref : WeakRef > : ^^^^^^^^^^ @@ -360,13 +360,13 @@ export class IterableWeakMap implements WeakMap { >this.#finalizationGroup.unregister(ref) : boolean > : ^^^^^^^ >this.#finalizationGroup.unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ref : WeakRef > : ^^^^^^^^^^ @@ -403,11 +403,11 @@ export class IterableWeakMap implements WeakMap { >ref.deref() : K | undefined > : ^^^^^^^^^^^^^ >ref.deref : () => K | undefined -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ >ref : WeakRef > : ^^^^^^^^^^ >deref : () => K | undefined -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ if (key === undefined) continue; >key === undefined : boolean @@ -421,17 +421,17 @@ export class IterableWeakMap implements WeakMap { >value : V > : ^ >this.#weakMap.get(key)! : { readonly ref: WeakRef; value: V; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ @@ -486,11 +486,11 @@ Object.defineProperties(IterableWeakMap.prototype, { >Object.defineProperties(IterableWeakMap.prototype, { [Symbol.iterator]: { configurable: true, enumerable: false, writable: true, value: Object.getOwnPropertyDescriptor( IterableWeakMap.prototype, "entries", )!.value, }, [Symbol.toStringTag]: { configurable: true, enumerable: false, writable: false, value: "IterableWeakMap", },}) : IterableWeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperties : (o: T, properties: PropertyDescriptorMap & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperties : (o: T, properties: PropertyDescriptorMap & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >IterableWeakMap.prototype : IterableWeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >IterableWeakMap : typeof IterableWeakMap @@ -538,11 +538,11 @@ Object.defineProperties(IterableWeakMap.prototype, { >Object.getOwnPropertyDescriptor( IterableWeakMap.prototype, "entries", ) : PropertyDescriptor | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.getOwnPropertyDescriptor : (o: any, p: PropertyKey) => PropertyDescriptor | undefined -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >getOwnPropertyDescriptor : (o: any, p: PropertyKey) => PropertyDescriptor | undefined -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ IterableWeakMap.prototype, >IterableWeakMap.prototype : IterableWeakMap diff --git a/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types b/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types index 8706cc2235b16..e03f7186a9b12 100644 --- a/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types +++ b/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types @@ -7,7 +7,7 @@ declare function example(): 5; export = example; >example : () => 5 -> : ^^^^^^^ +> : ^^^^^^ === main.mts === import example from "./other.mjs"; diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types index 9056234732603..226775c657bb3 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types @@ -10,7 +10,7 @@ import mdast, { toString } from 'mdast-util-to-string'; >mdast : any > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast; >mdast : any @@ -40,11 +40,11 @@ mdast2.toString(); >mdast2.toString() : string > : ^^^^^^ >mdast2.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >mdast2 : typeof import("/node_modules/mdast-util-to-string/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast2.default; >mdast2.default : any diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types index 9056234732603..226775c657bb3 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types @@ -10,7 +10,7 @@ import mdast, { toString } from 'mdast-util-to-string'; >mdast : any > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast; >mdast : any @@ -40,11 +40,11 @@ mdast2.toString(); >mdast2.toString() : string > : ^^^^^^ >mdast2.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >mdast2 : typeof import("/node_modules/mdast-util-to-string/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast2.default; >mdast2.default : any diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target.types b/tests/baselines/reference/esnextmodulekindWithES5Target.types index 1610f9ea7b0ad..5cd5a5032fb6b 100644 --- a/tests/baselines/reference/esnextmodulekindWithES5Target.types +++ b/tests/baselines/reference/esnextmodulekindWithES5Target.types @@ -35,7 +35,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export class D { >D : D diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target11.types b/tests/baselines/reference/esnextmodulekindWithES5Target11.types index 05dc02363c3a1..2fab10f702960 100644 --- a/tests/baselines/reference/esnextmodulekindWithES5Target11.types +++ b/tests/baselines/reference/esnextmodulekindWithES5Target11.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target3.types b/tests/baselines/reference/esnextmodulekindWithES5Target3.types index 0fa22932dcfab..896b8f05d72b5 100644 --- a/tests/baselines/reference/esnextmodulekindWithES5Target3.types +++ b/tests/baselines/reference/esnextmodulekindWithES5Target3.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class D { >D : D diff --git a/tests/baselines/reference/evalAfter0.types b/tests/baselines/reference/evalAfter0.types index d17e8f5ca74cf..3c6a1c4df8dd0 100644 --- a/tests/baselines/reference/evalAfter0.types +++ b/tests/baselines/reference/evalAfter0.types @@ -5,13 +5,13 @@ >(0,eval)("10") : any > : ^^^ >(0,eval) : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >0,eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"10" : "10" > : ^^^^ diff --git a/tests/baselines/reference/everyTypeAssignableToAny.types b/tests/baselines/reference/everyTypeAssignableToAny.types index 0ce6e2e30ff76..3cda00c95ba2d 100644 --- a/tests/baselines/reference/everyTypeAssignableToAny.types +++ b/tests/baselines/reference/everyTypeAssignableToAny.types @@ -160,10 +160,10 @@ a = i; a = j; >a = j : () => {} -> : ^^^^^^^^ +> : ^^^^^^ >a : any >j : () => {} -> : ^^^^^^^^ +> : ^^^^^^ a = k; >a = k : Function @@ -174,10 +174,10 @@ a = k; a = l; >a = l : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any >l : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = m; >a = m : number[] @@ -188,10 +188,10 @@ a = m; a = o; >a = o : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any >o : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ a = p; >a = p : Number diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types index e58441f238418..85fd6c3f36b3c 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types @@ -62,11 +62,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber: number = 9.9; @@ -159,11 +159,11 @@ var anOtherObjectLiteral: { id: number } = new C(); var aFunction: typeof F = F; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var anOtherFunction: (x: string) => number = F; >anOtherFunction : (x: string) => number @@ -171,13 +171,13 @@ var anOtherFunction: (x: string) => number = F; >x : string > : ^^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var aLambda: typeof F = (x) => 2; >aLambda : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 2 : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -209,13 +209,13 @@ var aClassInModule: M.A = new M.A(); var aFunctionInModule: typeof M.F2 = (x) => 'this is a string'; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 'this is a string' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types index 241f22a0d4c5c..5bd5b847f8c3e 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types @@ -74,11 +74,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } module N { @@ -102,11 +102,11 @@ module N { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber: number = 'this is a string'; @@ -179,11 +179,11 @@ var anOtherObjectLiteral: { id: string } = new C(); var aFunction: typeof F = F2; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F2 : (x: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var anOtherFunction: (x: string) => number = F2; >anOtherFunction : (x: string) => number @@ -191,13 +191,13 @@ var anOtherFunction: (x: string) => number = F2; >x : string > : ^^^^^^ >F2 : (x: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var aLambda: typeof F = (x) => 'a string'; >aLambda : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 'a string' : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -229,14 +229,14 @@ var aClassInModule: M.A = new N.A(); var aFunctionInModule: typeof M.F2 = F2; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F2 : (x: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/everyTypeWithInitializer.types b/tests/baselines/reference/everyTypeWithInitializer.types index 0f37f491c8d54..acf32aa08f5c3 100644 --- a/tests/baselines/reference/everyTypeWithInitializer.types +++ b/tests/baselines/reference/everyTypeWithInitializer.types @@ -62,11 +62,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber = 9.9; @@ -144,9 +144,9 @@ var anObjectLiteral = { id: 12 }; var aFunction = F; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var aLambda = (x) => 2; >aLambda : (x: any) => number @@ -177,13 +177,13 @@ var aClassInModule = new M.A(); var aFunctionInModule = M.F2; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // no initializer or annotation, so this is an 'any' var x; diff --git a/tests/baselines/reference/evolvingArrayResolvedAssert.types b/tests/baselines/reference/evolvingArrayResolvedAssert.types index 7f01dfb4b518f..a786f461c3998 100644 --- a/tests/baselines/reference/evolvingArrayResolvedAssert.types +++ b/tests/baselines/reference/evolvingArrayResolvedAssert.types @@ -17,11 +17,11 @@ for (var a in C) { >C.hasOwnProperty(a) : boolean > : ^^^^^^^ >C.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : any[] > : ^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ } diff --git a/tests/baselines/reference/evolvingArrayTypeInAssert.types b/tests/baselines/reference/evolvingArrayTypeInAssert.types index 3a72e9fd29fec..de20f43de6cfb 100644 --- a/tests/baselines/reference/evolvingArrayTypeInAssert.types +++ b/tests/baselines/reference/evolvingArrayTypeInAssert.types @@ -21,11 +21,11 @@ function yadda() { >out.push(100) : number > : ^^^^^^ >out.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >out : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >100 : 100 > : ^^^ @@ -33,7 +33,7 @@ function yadda() { >unsafeCast(out) : void > : ^^^^ >unsafeCast : (_value: unknown) => asserts _value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >out : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/excessPropertiesInOverloads.types b/tests/baselines/reference/excessPropertiesInOverloads.types index 22a7b21e09844..3a8cbe8150851 100644 --- a/tests/baselines/reference/excessPropertiesInOverloads.types +++ b/tests/baselines/reference/excessPropertiesInOverloads.types @@ -3,7 +3,7 @@ === excessPropertiesInOverloads.ts === declare function fn(a: { x: string }): void; >fn : { (a: { x: string; }): void; (a: { y: string; }): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { x: string; } > : ^^^^^ ^^^ >x : string @@ -11,7 +11,7 @@ declare function fn(a: { x: string }): void; declare function fn(a: { y: string }): void; >fn : { (a: { x: string; }): void; (a: { y: string; }): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y: string; } > : ^^^^^ ^^^ >y : string @@ -21,7 +21,7 @@ fn({ z: 3, a: 3 }); >fn({ z: 3, a: 3 }) : void > : ^^^^ >fn : { (a: { x: string; }): void; (a: { y: string; }): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ z: 3, a: 3 } : { z: number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >z : number diff --git a/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types b/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types index 0eea87275a246..4e0fa554019cd 100644 --- a/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types +++ b/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types @@ -19,7 +19,7 @@ x = { y: { a: 0 } }; // Error >x = { y: { a: 0 } } : { y: { a: 0; }; } > : ^^^^^^^^^^^^^^^^^ >x : { [x: string]: { a: 0; }; } & { [x: string]: { b: 0; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y: { a: 0 } } : { y: { a: 0; }; } > : ^^^^^^^^^^^^^^^^^ >y : { a: 0; } @@ -35,7 +35,7 @@ x = { y: { a: 0, b: 0 } }; >x = { y: { a: 0, b: 0 } } : { y: { a: 0; b: 0; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >x : { [x: string]: { a: 0; }; } & { [x: string]: { b: 0; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y: { a: 0, b: 0 } } : { y: { a: 0; b: 0; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >y : { a: 0; b: 0; } @@ -55,7 +55,7 @@ x = { y: { a: 0, b: 0, c: 0 } }; // Error >x = { y: { a: 0, b: 0, c: 0 } } : { y: { a: 0; b: 0; c: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { [x: string]: { a: 0; }; } & { [x: string]: { b: 0; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y: { a: 0, b: 0, c: 0 } } : { y: { a: 0; b: 0; c: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : { a: 0; b: 0; c: number; } diff --git a/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types b/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types index d768a600b1d2a..c54118586116f 100644 --- a/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types +++ b/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types @@ -80,7 +80,7 @@ type Schema2 = (T extends boolean ? { type: 'boolean'; } & Example : { pro export const schemaObj2: Schema2 = { >schemaObj2 : { props: { l1: { props: { l2: ({ type: "boolean"; } & Example) | ({ type: "boolean"; } & Example); }; } & Example<{ l2: boolean; }>; }; } & Example -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ props: { l1: { props: { l2: { type: 'boolean' }, invalid: false, }, }, },} : { props: { l1: { props: { l2: { type: "boolean"; }; invalid: boolean; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -186,7 +186,7 @@ type Schema4 = (T extends boolean ? { type: 'boolean'; } & Example : { pro export const schemaObj4: Schema4 = { >schemaObj4 : { props: Example & { l1: { props: Example<{ l2: boolean; }> & { l2: ({ type: "boolean"; } & Example) | ({ type: "boolean"; } & Example); }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ props: { l1: { props: { l2: { type: 'boolean' }, invalid: false, }, }, },} : { props: { l1: { props: { l2: { type: "boolean"; }; invalid: boolean; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types b/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types index ec197aadbbe12..b4f6939427e18 100644 --- a/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types +++ b/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types @@ -8,11 +8,11 @@ Object.defineProperty(window, "prop", { value: "v1.0.0", readonly: false }); >Object.defineProperty(window, "prop", { value: "v1.0.0", readonly: false }) : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"prop" : "prop" diff --git a/tests/baselines/reference/excessPropertyCheckWithSpread.types b/tests/baselines/reference/excessPropertyCheckWithSpread.types index 9c5e06e1b93f0..b9825d98b61cb 100644 --- a/tests/baselines/reference/excessPropertyCheckWithSpread.types +++ b/tests/baselines/reference/excessPropertyCheckWithSpread.types @@ -22,9 +22,9 @@ f({ a: 1, ...i }); >f({ a: 1, ...i }) : void > : ^^^^ >f : ({ a: number }: { a: any; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ >{ a: 1, ...i } : { n: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >1 : 1 @@ -54,7 +54,7 @@ f({ a: 1, ...l, ...r }); >f({ a: 1, ...l, ...r }) : void > : ^^^^ >f : ({ a: number }: { a: any; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ >{ a: 1, ...l, ...r } : { opt: string | number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/excessPropertyCheckWithUnions.types b/tests/baselines/reference/excessPropertyCheckWithUnions.types index 39af7d81ae15c..bdfafe1a7d626 100644 --- a/tests/baselines/reference/excessPropertyCheckWithUnions.types +++ b/tests/baselines/reference/excessPropertyCheckWithUnions.types @@ -339,19 +339,19 @@ declare let t1: { a: any, b: any, c: any } | { c: any, d: any, e: any } let t2 = { ...t1 } >t2 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...t1 } : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >t1 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ t0 = t2 >t0 = t2 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >t0 : { a: any; b: any; } | { d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >t2 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ // Nested excess property checks work with discriminated unions type AN = { a: string } | { c: string } diff --git a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types index d4ffaf7efd4fd..0e6d0d9836c18 100644 --- a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types +++ b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types @@ -151,13 +151,13 @@ export let obj: MyType; export const photo: typeof obj.photo = { >photo : { id: number; } & { url: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ ^^^ >obj.photo : { id: number; } & { url: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ ^^^ >obj : MyType > : ^^^^^^ >photo : { id: number; } & { url: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ ^^^ >{ id: 1, url: '', xyz: 1 // Great! This causes an error!} : { id: number; url: string; xyz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/excessiveStackDepthFlatArray.types b/tests/baselines/reference/excessiveStackDepthFlatArray.types index c08dcfc75e20a..8c35e265f3de5 100644 --- a/tests/baselines/reference/excessiveStackDepthFlatArray.types +++ b/tests/baselines/reference/excessiveStackDepthFlatArray.types @@ -21,7 +21,7 @@ configureStore({ >configureStore({ middleware: [...defaultMiddleware], // Should not error}) : void > : ^^^^ >configureStore : (options: { middleware: MiddlewareArray; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ middleware: [...defaultMiddleware], // Should not error} : { middleware: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -126,11 +126,11 @@ const Component = () => { >categories.map((category) => (
  • {category}
  • // Error about 'key' only )) : any[] > : ^^^^^ >categories.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >categories : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(category) => (
  • {category}
  • // Error about 'key' only ) : (category: string) => any > : ^ ^^^^^^^^^^^^^^^^ >category : string diff --git a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types index fba3027d3dd43..d68b88fb2d1c2 100644 --- a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types +++ b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types @@ -51,7 +51,7 @@ function f() { >isNever(foo) : boolean > : ^^^^^^^ >isNever : (n: never) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : "bbb" > : ^^^^^ @@ -109,7 +109,7 @@ function functionC(): void { >functionB(key) : string > : ^^^^^^ >functionB : (key: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types b/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types index 4ee2d1cd222c0..fddb87d835955 100644 --- a/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types +++ b/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types @@ -92,7 +92,7 @@ function foo4(bar: "a"): number { >foo3(bar) : number > : ^^^^^^ >foo3 : (bar: "a") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : never > : ^^^^^ } diff --git a/tests/baselines/reference/exhaustiveSwitchStatements1.types b/tests/baselines/reference/exhaustiveSwitchStatements1.types index 72f94eb1f4423..69f3f0ded86b8 100644 --- a/tests/baselines/reference/exhaustiveSwitchStatements1.types +++ b/tests/baselines/reference/exhaustiveSwitchStatements1.types @@ -341,11 +341,11 @@ function area(s: Shape): number { >Math.sqrt(3) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ >4 : 4 @@ -472,11 +472,11 @@ function areaWrapped(s: Shape): number { >Math.sqrt(3) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ >4 : 4 @@ -937,7 +937,7 @@ function expression(): Animal { >zoo?.animal : Animal | undefined > : ^^^^^^^^^^^^^^^^^^ >zoo : { animal: Animal; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >animal : Animal | undefined > : ^^^^^^^^^^^^^^^^^^ >Animal.DOG : Animal.DOG diff --git a/tests/baselines/reference/expandoFunctionBlockShadowing.types b/tests/baselines/reference/expandoFunctionBlockShadowing.types index 37cb64a54291b..1c857af946650 100644 --- a/tests/baselines/reference/expandoFunctionBlockShadowing.types +++ b/tests/baselines/reference/expandoFunctionBlockShadowing.types @@ -11,11 +11,11 @@ if (Math.random()) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const X: { test?: any } = {}; >X : { test?: any; } @@ -29,7 +29,7 @@ if (Math.random()) { > : ^ >X.test : any >X : { test?: any; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >test : any > : ^^^ >1 : 1 @@ -62,11 +62,11 @@ if (Math.random()) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const Y = function Y() {} >Y : { (): void; test: number; } diff --git a/tests/baselines/reference/expandoFunctionContextualTypesJs.types b/tests/baselines/reference/expandoFunctionContextualTypesJs.types index 66459dd90b1a5..3b018f0189299 100644 --- a/tests/baselines/reference/expandoFunctionContextualTypesJs.types +++ b/tests/baselines/reference/expandoFunctionContextualTypesJs.types @@ -40,9 +40,9 @@ MyComponent.defaultProps = { const MyComponent2 = () => null; >MyComponent2 : { (): any; defaultProps: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >() => null : { (): any; defaultProps: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ /** * @type {MyComponentProps} @@ -73,7 +73,7 @@ const check = MyComponent2; >check : StatelessComponent > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyComponent2 : { (): any; defaultProps: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ /** * @@ -83,7 +83,7 @@ function expectLiteral(p) {} >expectLiteral : (p: { props: MyComponentProps; }) => void > : ^ ^^ ^^^^^^^^^ >p : { props: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ function foo() { >foo : typeof foo diff --git a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types index 7e053f173f2aa..892ddc51778e1 100644 --- a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types +++ b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types @@ -114,11 +114,11 @@ declare namespace Foo { >Foo.bla = { foo: 1} : { foo: number; } > : ^^^^^^^^^^^^^^^^ >Foo.bla : { foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >bla : { foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ foo: 1} : { foo: number; } > : ^^^^^^^^^^^^^^^^ >foo : number diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types index 4470f99b7d9ff..3691580b1afe8 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types @@ -89,7 +89,7 @@ var r1a5 = a ** e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1a6 = a ** f; >r1a6 : number @@ -149,7 +149,7 @@ var r1b5 = b ** e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1b6 = b ** f; >r1b6 : number @@ -209,7 +209,7 @@ var r1c5 = c ** e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1c6 = c ** f; >r1c6 : number @@ -269,7 +269,7 @@ var r1d5 = d ** e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1d6 = d ** f; >r1d6 : number @@ -287,7 +287,7 @@ var r1e1 = e ** a; >e ** a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -297,7 +297,7 @@ var r1e2 = e ** b; >e ** b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -307,7 +307,7 @@ var r1e3 = e ** c; >e ** c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -317,7 +317,7 @@ var r1e4 = e ** d; >e ** d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -327,9 +327,9 @@ var r1e5 = e ** e; >e ** e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1e6 = e ** f; >r1e6 : number @@ -337,7 +337,7 @@ var r1e6 = e ** f; >e ** f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -389,7 +389,7 @@ var r1f5 = f ** e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1f6 = f ** f; >r1f6 : number @@ -469,7 +469,7 @@ var r1g5 = E.a ** e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1g6 = E.a ** f; >r1g6 : number @@ -547,7 +547,7 @@ var r1h5 = e ** E.b; >e ** E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E diff --git a/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types b/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types index 5541fe00eaafe..bb0ed8b683fcc 100644 --- a/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types +++ b/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types @@ -17,7 +17,7 @@ export = Foo; === index.ts === import { f } from "./thing"; >f : () => import("thing").Bar -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ export const thing = f(); >thing : import("thing").Bar @@ -25,5 +25,5 @@ export const thing = f(); >f() : import("thing").Bar > : ^^^^^^^^^^^^^^^^^^^ >f : () => import("thing").Bar -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportAssignmentConstrainedGenericType.types b/tests/baselines/reference/exportAssignmentConstrainedGenericType.types index b774de4523f77..2d8e420b2ea4b 100644 --- a/tests/baselines/reference/exportAssignmentConstrainedGenericType.types +++ b/tests/baselines/reference/exportAssignmentConstrainedGenericType.types @@ -7,9 +7,9 @@ import foo = require("./foo_0"); var x = new foo(true); // Should error >x : foo<{ a: string; b: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^^ >new foo(true) : foo<{ a: string; b: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^^ >foo : typeof foo > : ^^^^^^^^^^ >true : true diff --git a/tests/baselines/reference/exportAssignmentMergedInterface.types b/tests/baselines/reference/exportAssignmentMergedInterface.types index 9e9280ba34784..51a991fade08f 100644 --- a/tests/baselines/reference/exportAssignmentMergedInterface.types +++ b/tests/baselines/reference/exportAssignmentMergedInterface.types @@ -63,15 +63,15 @@ var z = {x: 1, y: 2}; z = x.d; >z = x.d : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >z : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.d : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : foo > : ^^^ >d : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ === foo_0.ts === interface Foo { diff --git a/tests/baselines/reference/exportAssignmentWithPrivacyError.types b/tests/baselines/reference/exportAssignmentWithPrivacyError.types index d72889eb83c53..2119f68a7ff33 100644 --- a/tests/baselines/reference/exportAssignmentWithPrivacyError.types +++ b/tests/baselines/reference/exportAssignmentWithPrivacyError.types @@ -38,6 +38,6 @@ var server: { export = server; >server : { (): connectexport; test1: connectmodule; test2(): connectmodule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportClassExtendingIntersection.types b/tests/baselines/reference/exportClassExtendingIntersection.types index d1d7d597dcc60..bfda7a0dca2d0 100644 --- a/tests/baselines/reference/exportClassExtendingIntersection.types +++ b/tests/baselines/reference/exportClassExtendingIntersection.types @@ -56,7 +56,7 @@ import { MyBaseClass } from './BaseClass'; import { MyMixin } from './MixinClass'; >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ export class MyExtendedClass extends MyMixin(MyBaseClass) { >MyExtendedClass : MyExtendedClass @@ -64,7 +64,7 @@ export class MyExtendedClass extends MyMixin(MyBaseClass) { >MyMixin(MyBaseClass) : MyBaseClass & MyMixin > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >MyBaseClass : typeof MyBaseClass > : ^^^^^^^^^^^^^^^^^^ @@ -79,7 +79,7 @@ import { MyExtendedClass } from './FinalClass'; import { MyMixin } from './MixinClass'; >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ const myExtendedClass = new MyExtendedClass('string'); >myExtendedClass : MyExtendedClass @@ -97,7 +97,7 @@ const AnotherMixedClass = MyMixin(MyExtendedClass); >MyMixin(MyExtendedClass) : typeof MyExtendedClass & import("BaseClass").Constructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >MyExtendedClass : typeof MyExtendedClass > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types b/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types index bdc18622f74ee..a10d5daa0318f 100644 --- a/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types +++ b/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types @@ -15,19 +15,19 @@ declare namespace Q { export { _try as try }; >_try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } Q.try(() => { }); >Q.try(() => { }) : any >Q.try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >Q : typeof Q > : ^^^^^^^^ >try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDeclaredModule.types b/tests/baselines/reference/exportDeclaredModule.types index 08da1dcb7860e..3c2c9607e713f 100644 --- a/tests/baselines/reference/exportDeclaredModule.types +++ b/tests/baselines/reference/exportDeclaredModule.types @@ -11,11 +11,11 @@ var x: number = foo1.b(); >foo1.b() : number > : ^^^^^^ >foo1.b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo1 : typeof foo1 > : ^^^^^^^^^^^ >b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ === foo1.ts === declare module M1 { diff --git a/tests/baselines/reference/exportDefaultAbstractClass.types b/tests/baselines/reference/exportDefaultAbstractClass.types index d069fb1660341..e9cdd9f9b9c90 100644 --- a/tests/baselines/reference/exportDefaultAbstractClass.types +++ b/tests/baselines/reference/exportDefaultAbstractClass.types @@ -17,7 +17,7 @@ new B().a.toExponential(); >new B().a.toExponential() : string > : ^^^^^^ >new B().a.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new B().a : number > : ^^^^^^ >new B() : B @@ -27,7 +27,7 @@ new B().a.toExponential(); >a : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === b.ts === import A from './a'; @@ -44,7 +44,7 @@ new C().a.toExponential(); >new C().a.toExponential() : string > : ^^^^^^ >new C().a.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new C().a : number > : ^^^^^^ >new C() : C @@ -54,5 +54,5 @@ new C().a.toExponential(); >a : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/exportDefaultAsyncFunction.types b/tests/baselines/reference/exportDefaultAsyncFunction.types index 2525182328291..4f8300c961dca 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction.types @@ -9,5 +9,5 @@ foo(); >foo() : Promise > : ^^^^^^^^^^^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.types b/tests/baselines/reference/exportDefaultAsyncFunction2.types index 3e6f3bd799afe..628e633dc0102 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.types @@ -16,29 +16,29 @@ export function await(...args: any[]): any { } === a.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async(() => await(Promise.resolve(1))); >async(() => await(Promise.resolve(1))) : any > : ^^^ >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >() => await(Promise.resolve(1)) : () => any > : ^^^^^^^^^ >await(Promise.resolve(1)) : any > : ^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -52,37 +52,37 @@ export default async () => { return 0; }; === c.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async(); >async() : any > : ^^^ >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ === d.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ === e.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ export function foo() { } >foo : () => void diff --git a/tests/baselines/reference/exportDefaultInterface.types b/tests/baselines/reference/exportDefaultInterface.types index 57777e0c1bb1f..47e8372bd8713 100644 --- a/tests/baselines/reference/exportDefaultInterface.types +++ b/tests/baselines/reference/exportDefaultInterface.types @@ -13,7 +13,7 @@ a.value.toExponential(); >a.value.toExponential() : string > : ^^^^^^ >a.value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.value : number > : ^^^^^^ >a : A @@ -21,7 +21,7 @@ a.value.toExponential(); >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === b.ts === import A from './a'; @@ -36,7 +36,7 @@ a.value.toExponential(); >a.value.toExponential() : string > : ^^^^^^ >a.value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.value : number > : ^^^^^^ >a : A @@ -44,5 +44,5 @@ a.value.toExponential(); >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types index 61bb72fa27b50..3fb06056df680 100644 --- a/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types +++ b/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types @@ -3,19 +3,19 @@ === exportDefaultInterfaceAndFunctionOverloads.ts === export default function foo(value: number): number >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : number > : ^^^^^^ export default function foo(value: string): string >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ export default function foo(value: string | number): string | number { >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types index 960aab07f6acc..70b68ff0f752f 100644 --- a/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types +++ b/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types @@ -3,19 +3,19 @@ === exportDefaultInterfaceClassAndFunctionOverloads.ts === export default function foo(value: number): number >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : number > : ^^^^^^ export default function foo(value: string): string >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ export default function foo(value: string | number): string | number { >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types index 42a23a2903245..deadb919dae27 100644 --- a/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types +++ b/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types @@ -3,19 +3,19 @@ === exportDefaultTypeAndFunctionOverloads.ts === export default function foo(value: number): number >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : number > : ^^^^^^ export default function foo(value: string): string >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ export default function foo(value: string | number): string | number { >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportEqualCallable.types b/tests/baselines/reference/exportEqualCallable.types index 4cad8b33a1586..5b8019a84ef5c 100644 --- a/tests/baselines/reference/exportEqualCallable.types +++ b/tests/baselines/reference/exportEqualCallable.types @@ -4,12 +4,12 @@ /// import connect = require('exportEqualCallable_0'); >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ connect(); >connect() : any >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === exportEqualCallable_0.ts === var server: { @@ -20,5 +20,5 @@ var server: { }; export = server; >server : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportEqualErrorType.types b/tests/baselines/reference/exportEqualErrorType.types index 84a348c7b46c7..6b6008704b03e 100644 --- a/tests/baselines/reference/exportEqualErrorType.types +++ b/tests/baselines/reference/exportEqualErrorType.types @@ -4,7 +4,7 @@ /// import connect = require('exportEqualErrorType_0'); >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. >connect().use(connect.static('foo')) : connect.connectExport @@ -14,7 +14,7 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' doe >connect() : connect.connectExport > : ^^^^^^^^^^^^^^^^^^^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >use : (mod: connect.connectModule) => connect.connectExport > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect.static('foo') : any @@ -22,7 +22,7 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' doe >connect.static : any > : ^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >static : any > : ^^^ >'foo' : "foo" @@ -62,5 +62,5 @@ var server: { }; export = server; >server : { (): server.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportEqualMemberMissing.types b/tests/baselines/reference/exportEqualMemberMissing.types index fdb340bf57413..da7e91f5cd637 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.types +++ b/tests/baselines/reference/exportEqualMemberMissing.types @@ -4,7 +4,7 @@ /// import connect = require('./exportEqualMemberMissing_0'); >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. >connect().use(connect.static('foo')) : connect.connectExport @@ -14,7 +14,7 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' does not >connect() : connect.connectExport > : ^^^^^^^^^^^^^^^^^^^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >use : (mod: connect.connectModule) => connect.connectExport > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect.static('foo') : any @@ -22,7 +22,7 @@ connect().use(connect.static('foo')); // Error 1 The property 'static' does not >connect.static : any > : ^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >static : any > : ^^^ >'foo' : "foo" @@ -62,5 +62,5 @@ var server: { }; export = server; >server : { (): server.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.types b/tests/baselines/reference/exportEqualsDefaultProperty.types index 970bf66fb5288..7a7481cbe8e47 100644 --- a/tests/baselines/reference/exportEqualsDefaultProperty.types +++ b/tests/baselines/reference/exportEqualsDefaultProperty.types @@ -34,11 +34,11 @@ foo.toExponential(2); >foo.toExponential(2) : string > : ^^^^^^ >foo.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >foo : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/exportEqualsOfModule.types b/tests/baselines/reference/exportEqualsOfModule.types index 2db2b3ebcfb55..abee7cadaf68a 100644 --- a/tests/baselines/reference/exportEqualsOfModule.types +++ b/tests/baselines/reference/exportEqualsOfModule.types @@ -52,6 +52,6 @@ declare module 'popsicle-proxy-agent' { export = proxy; >proxy : () => (request: Request) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/exportImportAlias.types b/tests/baselines/reference/exportImportAlias.types index 54cada8a87bae..121ede99f535f 100644 --- a/tests/baselines/reference/exportImportAlias.types +++ b/tests/baselines/reference/exportImportAlias.types @@ -89,7 +89,7 @@ var c: { name: string }; var c: C.a.B.Id; >c : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >C : any > : ^^^ >a : any @@ -233,7 +233,7 @@ var o: { name: string }; var o = new M.D('Hello'); >o : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >new M.D('Hello') : K.L > : ^^^ >M.D : typeof K.L @@ -255,7 +255,7 @@ var p: { x: number; y: number; } var p: M.D.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M : any > : ^^^ >D : any diff --git a/tests/baselines/reference/exportImportAndClodule.types b/tests/baselines/reference/exportImportAndClodule.types index cd5bc8ee4a1e1..d44492dc05e2b 100644 --- a/tests/baselines/reference/exportImportAndClodule.types +++ b/tests/baselines/reference/exportImportAndClodule.types @@ -54,7 +54,7 @@ var o: { name: string }; var o = new M.D('Hello'); >o : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >new M.D('Hello') : K.L > : ^^^ >M.D : typeof K.L @@ -76,7 +76,7 @@ var p: { x: number; y: number; } var p: M.D.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M : any > : ^^^ >D : any diff --git a/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types b/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types index 73a6e079b5951..12ca942191538 100644 --- a/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types +++ b/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types @@ -149,11 +149,11 @@ module MsPortalFx.ViewModels { >console.log(value1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value1 : ReExportedEnum.Cancel > : ^^^^^^^^^^^^^^^^^^^^^ @@ -171,11 +171,11 @@ module MsPortalFx.ViewModels { >console.log(value2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value2 : DialogButtons.OKCancel > : ^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/exportNamespace12.types b/tests/baselines/reference/exportNamespace12.types index 03cf731b1bfa1..f144aab964840 100644 --- a/tests/baselines/reference/exportNamespace12.types +++ b/tests/baselines/reference/exportNamespace12.types @@ -13,11 +13,11 @@ console.log(c) // Fails as expected, import is still allowed though. >console.log(c) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >c : 10 > : ^^ @@ -25,11 +25,11 @@ console.log(types.c) // Expected an error here. >console.log(types.c) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >types.c : any > : ^^^ >types : typeof types diff --git a/tests/baselines/reference/exportRedeclarationTypeAliases.types b/tests/baselines/reference/exportRedeclarationTypeAliases.types index 55ddb5bce7921..51e1ac4153b44 100644 --- a/tests/baselines/reference/exportRedeclarationTypeAliases.types +++ b/tests/baselines/reference/exportRedeclarationTypeAliases.types @@ -11,5 +11,5 @@ export function Foo(): number; export function Foo(): any {} >Foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportStarNotElided.types b/tests/baselines/reference/exportStarNotElided.types index 210a7679af33d..3be4962115f66 100644 --- a/tests/baselines/reference/exportStarNotElided.types +++ b/tests/baselines/reference/exportStarNotElided.types @@ -16,11 +16,11 @@ export function register(data: any) { >r.push(data) : number > : ^^^^^^ >r.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >r : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >data : any } === data1.ts === diff --git a/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types b/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types index 056684a9b95a1..3b360d3b041a7 100644 --- a/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types +++ b/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types @@ -11,11 +11,11 @@ export const myValue: Something = Something.of("abc") >Something.of("abc") : import("Something").Something > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Something.of : (value: A) => import("Something").Something -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >Something : typeof import("Something") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >of : (value: A) => import("Something").Something -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >"abc" : "abc" > : ^^^^^ diff --git a/tests/baselines/reference/exportedVariable1.types b/tests/baselines/reference/exportedVariable1.types index 098ed576c4faf..ead0518a8783f 100644 --- a/tests/baselines/reference/exportedVariable1.types +++ b/tests/baselines/reference/exportedVariable1.types @@ -17,7 +17,7 @@ var upper = foo.name.toUpperCase(); >foo.name.toUpperCase() : string > : ^^^^^^ >foo.name.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo.name : string > : ^^^^^^ >foo : { name: string; } @@ -25,5 +25,5 @@ var upper = foo.name.toUpperCase(); >name : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/expressionTypeNodeShouldError.types b/tests/baselines/reference/expressionTypeNodeShouldError.types index e4f194e575280..5fcf527c1cb29 100644 --- a/tests/baselines/reference/expressionTypeNodeShouldError.types +++ b/tests/baselines/reference/expressionTypeNodeShouldError.types @@ -50,11 +50,11 @@ const nodes = document.getElementsByTagName("li"); >document.getElementsByTagName("li") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"li" : "li" > : ^^^^ @@ -67,12 +67,12 @@ type ItemType = "".typeof(nodes.item(0)); > : ^^^^^^^^^^^^^ >nodes.item(0) : HTMLLIElement > : ^^^^^^^^^^^^^ ->nodes.item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>nodes.item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >nodes : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -115,11 +115,11 @@ const nodes2 = document.getElementsByTagName("li"); >document.getElementsByTagName("li") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"li" : "li" > : ^^^^ @@ -132,12 +132,12 @@ type ItemType2 = 4..typeof(nodes.item(0)); > : ^^^^^^^^^^^^^ >nodes.item(0) : HTMLLIElement > : ^^^^^^^^^^^^^ ->nodes.item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>nodes.item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >nodes : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -182,11 +182,11 @@ const nodes3 = document.getElementsByTagName("li"); >document.getElementsByTagName("li") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"li" : "li" > : ^^^^ @@ -201,12 +201,12 @@ type ItemType3 = true.typeof(nodes.item(0)); > : ^^^^^^^^^^^^^ >nodes.item(0) : HTMLLIElement > : ^^^^^^^^^^^^^ ->nodes.item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>nodes.item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >nodes : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/expressionWithJSDocTypeArguments.types b/tests/baselines/reference/expressionWithJSDocTypeArguments.types index c20371ed5b9a1..6b41c3a51b85d 100644 --- a/tests/baselines/reference/expressionWithJSDocTypeArguments.types +++ b/tests/baselines/reference/expressionWithJSDocTypeArguments.types @@ -25,7 +25,7 @@ const WhatFoo = foo; >foo : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const HuhFoo = foo; >HuhFoo : (x: string | null) => string | null @@ -33,7 +33,7 @@ const HuhFoo = foo; >foo : (x: string | null) => string | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const NopeFoo = foo; >NopeFoo : (x: string | null) => string | null @@ -41,7 +41,7 @@ const NopeFoo = foo; >foo : (x: string | null) => string | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const ComeOnFoo = foo; >ComeOnFoo : (x: string | null) => string | null @@ -49,31 +49,31 @@ const ComeOnFoo = foo; >foo : (x: string | null) => string | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type TWhatFoo = typeof foo; >TWhatFoo : typeof foo > : ^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type THuhFoo = typeof foo; >THuhFoo : typeof foo > : ^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type TNopeFoo = typeof foo; >TNopeFoo : typeof foo > : ^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type TComeOnFoo = typeof foo; >TComeOnFoo : typeof foo<(string | null) | null> > : ^ ^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const WhatBar = Bar; >WhatBar : { new (x: any): Bar; prototype: Bar; } diff --git a/tests/baselines/reference/extendArray.types b/tests/baselines/reference/extendArray.types index fab6826e03bb8..0cc9fc76332e3 100644 --- a/tests/baselines/reference/extendArray.types +++ b/tests/baselines/reference/extendArray.types @@ -15,11 +15,11 @@ a.forEach(function (v,i,a) {}); >a.forEach(function (v,i,a) {}) : void > : ^^^^ >a.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >a : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (v,i,a) {} : (v: number, i: number, a: number[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -135,11 +135,11 @@ arr.collect = function (fn) { >res.push(tmp[j]) : number > : ^^^^^^ >res.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >res : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >tmp[j] : any > : ^^^ >tmp : any diff --git a/tests/baselines/reference/extendBooleanInterface.types b/tests/baselines/reference/extendBooleanInterface.types index 1e6cdff740717..b8f5fa1c48e02 100644 --- a/tests/baselines/reference/extendBooleanInterface.types +++ b/tests/baselines/reference/extendBooleanInterface.types @@ -25,11 +25,11 @@ var a: string = x.doStuff(); >x.doStuff() : string > : ^^^^^^ >x.doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: string = x.doOtherStuff('hm'); >b : string @@ -37,11 +37,11 @@ var b: string = x.doOtherStuff('hm'); >x.doOtherStuff('hm') : "hm" > : ^^^^ >x.doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : true > : ^^^^ >doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'hm' : "hm" > : ^^^^ @@ -51,7 +51,7 @@ var c: string = x['doStuff'](); >x['doStuff']() : string > : ^^^^^^ >x['doStuff'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >'doStuff' : "doStuff" @@ -63,7 +63,7 @@ var d: string = x['doOtherStuff']('hm'); >x['doOtherStuff']('hm') : "hm" > : ^^^^ >x['doOtherStuff'] : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : true > : ^^^^ >'doOtherStuff' : "doOtherStuff" diff --git a/tests/baselines/reference/extendGlobalThis.types b/tests/baselines/reference/extendGlobalThis.types index 151bf14d76c3d..499b561819e53 100644 --- a/tests/baselines/reference/extendGlobalThis.types +++ b/tests/baselines/reference/extendGlobalThis.types @@ -35,15 +35,15 @@ console.log(globalThis.test.split("-")); >console.log(globalThis.test.split("-")) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >globalThis.test.split("-") : string[] > : ^^^^^^^^ >globalThis.test.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >globalThis.test : string > : ^^^^^^ >globalThis : typeof globalThis @@ -51,7 +51,7 @@ console.log(globalThis.test.split("-")); >test : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"-" : "-" > : ^^^ diff --git a/tests/baselines/reference/extendGlobalThis2.types b/tests/baselines/reference/extendGlobalThis2.types index 7e1d7e93edf37..d691807594624 100644 --- a/tests/baselines/reference/extendGlobalThis2.types +++ b/tests/baselines/reference/extendGlobalThis2.types @@ -11,11 +11,11 @@ namespace globalThis { >console.log("x") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"x" : "x" > : ^^^ } diff --git a/tests/baselines/reference/extendNumberInterface.types b/tests/baselines/reference/extendNumberInterface.types index a5ef30fb43698..b1c87d9f425b9 100644 --- a/tests/baselines/reference/extendNumberInterface.types +++ b/tests/baselines/reference/extendNumberInterface.types @@ -25,11 +25,11 @@ var a: string = x.doStuff(); >x.doStuff() : string > : ^^^^^^ >x.doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ >doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: string = x.doOtherStuff('hm'); >b : string @@ -37,11 +37,11 @@ var b: string = x.doOtherStuff('hm'); >x.doOtherStuff('hm') : "hm" > : ^^^^ >x.doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'hm' : "hm" > : ^^^^ @@ -51,7 +51,7 @@ var c: string = x['doStuff'](); >x['doStuff']() : string > : ^^^^^^ >x['doStuff'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ >'doStuff' : "doStuff" @@ -63,7 +63,7 @@ var d: string = x['doOtherStuff']('hm'); >x['doOtherStuff']('hm') : "hm" > : ^^^^ >x['doOtherStuff'] : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >'doOtherStuff' : "doOtherStuff" diff --git a/tests/baselines/reference/extendStringInterface.types b/tests/baselines/reference/extendStringInterface.types index de6ff9d2f32ad..86b84fd97e146 100644 --- a/tests/baselines/reference/extendStringInterface.types +++ b/tests/baselines/reference/extendStringInterface.types @@ -25,11 +25,11 @@ var a: string = x.doStuff(); >x.doStuff() : string > : ^^^^^^ >x.doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: string = x.doOtherStuff('hm'); >b : string @@ -37,11 +37,11 @@ var b: string = x.doOtherStuff('hm'); >x.doOtherStuff('hm') : "hm" > : ^^^^ >x.doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'hm' : "hm" > : ^^^^ @@ -51,7 +51,7 @@ var c: string = x['doStuff'](); >x['doStuff']() : string > : ^^^^^^ >x['doStuff'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >'doStuff' : "doStuff" @@ -63,7 +63,7 @@ var d: string = x['doOtherStuff']('hm'); >x['doOtherStuff']('hm') : "hm" > : ^^^^ >x['doOtherStuff'] : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >'doOtherStuff' : "doOtherStuff" diff --git a/tests/baselines/reference/extendedInterfaceGenericType.types b/tests/baselines/reference/extendedInterfaceGenericType.types index 7dc93aab4fa1f..2120e0cbde776 100644 --- a/tests/baselines/reference/extendedInterfaceGenericType.types +++ b/tests/baselines/reference/extendedInterfaceGenericType.types @@ -25,21 +25,21 @@ var betaOfNumber = alpha.makeBetaOfNumber(); >alpha.makeBetaOfNumber() : Beta > : ^^^^^^^^^^^^ >alpha.makeBetaOfNumber : () => Beta -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >alpha : Alpha > : ^^^^^^^^^^^^^ >makeBetaOfNumber : () => Beta -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ betaOfNumber.takesArgOfT(5); >betaOfNumber.takesArgOfT(5) : Alpha > : ^^^^^^^^^^^^^ >betaOfNumber.takesArgOfT : (arg: number) => Alpha -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^ >betaOfNumber : Beta > : ^^^^^^^^^^^^ >takesArgOfT : (arg: number) => Alpha -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types b/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types index b495223eed0fa..cbd29c418f4fe 100644 --- a/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types +++ b/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types @@ -17,11 +17,11 @@ console.log(a + aa); >console.log(a + aa) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a + aa : number > : ^^^^^^ >a : 12 diff --git a/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types b/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types index 38ff13f052160..1e69ee3119b99 100644 --- a/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types +++ b/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types @@ -17,11 +17,11 @@ console.log(𝑀 + 𝑚); // 9 >console.log(𝑀 + 𝑚) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >𝑀 + 𝑚 : number > : ^^^^^^ >𝑀 : 5 @@ -57,11 +57,11 @@ console.log(ၡ ** ၡ); >console.log(ၡ ** ၡ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ၡ ** ၡ : number > : ^^^^^^ >ၡ : 6 @@ -80,11 +80,11 @@ console.log(ဒ ** ဒ); >console.log(ဒ ** ဒ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ဒ ** ဒ : number > : ^^^^^^ >ဒ : 7 @@ -103,11 +103,11 @@ console.log(ဒၡ𝑀 ** ဒၡ𝑀); >console.log(ဒၡ𝑀 ** ဒၡ𝑀) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ဒၡ𝑀 ** ဒၡ𝑀 : number > : ^^^^^^ >ဒၡ𝑀 : 7 @@ -125,11 +125,11 @@ console.log(ၡ𝑀ဒ ** ၡ𝑀ဒ); >console.log(ၡ𝑀ဒ ** ၡ𝑀ဒ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ၡ𝑀ဒ ** ၡ𝑀ဒ : number > : ^^^^^^ >ၡ𝑀ဒ : 7 @@ -147,11 +147,11 @@ console.log(𝑀ဒၡ ** 𝑀ဒၡ); >console.log(𝑀ဒၡ ** 𝑀ဒၡ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >𝑀ဒၡ ** 𝑀ဒၡ : number > : ^^^^^^ >𝑀ဒၡ : 7 diff --git a/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types b/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types index 75045a304930f..374398462305a 100644 --- a/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types +++ b/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types @@ -18,11 +18,11 @@ function foo(𝑚, 𝑀) { >console.log(𝑀 + 𝑚) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >𝑀 + 𝑚 : number > : ^^^^^^ >𝑀 : number diff --git a/tests/baselines/reference/extendsTag5.types b/tests/baselines/reference/extendsTag5.types index 7396cc3d4645a..c1817f3070712 100644 --- a/tests/baselines/reference/extendsTag5.types +++ b/tests/baselines/reference/extendsTag5.types @@ -38,7 +38,7 @@ class B extends A {} >B : B > : ^ >A : A<{ a: string; b: string[]; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ /** * @extends {A<{ @@ -50,7 +50,7 @@ class C extends A {} >C : C > : ^ >A : A<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ /** * @extends {A<{a: string, b: string[]}>} @@ -59,7 +59,7 @@ class D extends A {} >D : D > : ^ >A : A<{ a: string; b: string[]; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ /** * @extends {A<{a: string, b: string}>} @@ -68,5 +68,5 @@ class E extends A {} >E : E > : ^ >A : A<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ diff --git a/tests/baselines/reference/externFunc.types b/tests/baselines/reference/externFunc.types index 72eea471afe6d..b275b7c5daf8f 100644 --- a/tests/baselines/reference/externFunc.types +++ b/tests/baselines/reference/externFunc.types @@ -3,7 +3,7 @@ === externFunc.ts === declare function parseInt(s:string):number; >parseInt : { (string: string, radix?: number): number; (s: string): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -11,7 +11,7 @@ parseInt("2"); >parseInt("2") : number > : ^^^^^^ >parseInt : { (string: string, radix?: number): number; (s: string): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >"2" : "2" > : ^^^ diff --git a/tests/baselines/reference/externModule.types b/tests/baselines/reference/externModule.types index 38272266d1916..f582f33bea71d 100644 --- a/tests/baselines/reference/externModule.types +++ b/tests/baselines/reference/externModule.types @@ -105,7 +105,7 @@ declare module { static UTC(year: number, month: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -113,7 +113,7 @@ declare module { static UTC(year: number, month: number, date: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -123,7 +123,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -135,7 +135,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number, minutes: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -149,7 +149,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -165,7 +165,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number, minutes: number, seconds: number, >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number diff --git a/tests/baselines/reference/externModuleClobber.types b/tests/baselines/reference/externModuleClobber.types index e8d0f64f48ce6..331237e404fc2 100644 --- a/tests/baselines/reference/externModuleClobber.types +++ b/tests/baselines/reference/externModuleClobber.types @@ -49,9 +49,9 @@ x = ec.getPosition(); >ec.getPosition() : EM.Position > : ^^^^^^^^^^^ >ec.getPosition : () => EM.Position -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >ec : EM.EC > : ^^^^^ >getPosition : () => EM.Position -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/externalModuleAssignToVar.types b/tests/baselines/reference/externalModuleAssignToVar.types index b90b7d90968d9..4f56eb669fb06 100644 --- a/tests/baselines/reference/externalModuleAssignToVar.types +++ b/tests/baselines/reference/externalModuleAssignToVar.types @@ -20,7 +20,7 @@ y1 = ext; // ok >y1 = ext : typeof ext > : ^^^^^^^^^^ >y1 : { C: new () => ext.C; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >ext : typeof ext > : ^^^^^^^^^^ @@ -38,7 +38,7 @@ y2 = ext2; // ok >y2 = ext2 : typeof ext2 > : ^^^^^^^^^^^ >y2 : new () => ext2 -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >ext2 : typeof ext2 > : ^^^^^^^^^^^ @@ -56,7 +56,7 @@ y3 = ext3; // ok >y3 = ext3 : typeof ext3 > : ^^^^^^^^^^^ >y3 : new () => ext3 -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >ext3 : typeof ext3 > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/extractInferenceImprovement.types b/tests/baselines/reference/extractInferenceImprovement.types index 58dcec7bfd093..2441dca933850 100644 --- a/tests/baselines/reference/extractInferenceImprovement.types +++ b/tests/baselines/reference/extractInferenceImprovement.types @@ -80,7 +80,7 @@ prop = getProperty2(obj, 'first'); >getProperty2(obj, 'first') : string > : ^^^^^^ >getProperty2 : (obj: T, key: Extract) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >'first' : "first" @@ -94,7 +94,7 @@ prop = getProperty3(obj, 'first'); >getProperty3(obj, 'first') : string > : ^^^^^^ >getProperty3 : >(obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >'first' : "first" @@ -109,7 +109,7 @@ prop = getProperty2(obj, s); >getProperty2(obj, s) : string > : ^^^^^^ >getProperty2 : (obj: T, key: Extract) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >s : unique symbol @@ -123,7 +123,7 @@ prop = getProperty3(obj, s); >getProperty3(obj, s) : string | number > : ^^^^^^^^^^^^^^^ >getProperty3 : >(obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >s : unique symbol diff --git a/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types b/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types index d0a18dea10ddb..0cfa1f1a314f1 100644 --- a/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types +++ b/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types @@ -13,7 +13,7 @@ trans(({a}) => a); >trans(({a}) => a) : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >({a}) => a : ({ a }: { a: any; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : any @@ -24,7 +24,7 @@ trans(([b,c]) => 'foo'); >trans(([b,c]) => 'foo') : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >([b,c]) => 'foo' : ([b, c]: [any, any]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >b : any @@ -38,7 +38,7 @@ trans(({d: [e,f]}) => 'foo'); >trans(({d: [e,f]}) => 'foo') : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >({d: [e,f]}) => 'foo' : ({ d: [e, f] }: { d: [any, any]; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : any @@ -54,7 +54,7 @@ trans(([{g},{h}]) => 'foo'); >trans(([{g},{h}]) => 'foo') : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >([{g},{h}]) => 'foo' : ([{ g }, { h }]: [{ g: any; }, { h: any; }]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : any @@ -68,7 +68,7 @@ trans(({a, b = 10}) => a); >trans(({a, b = 10}) => a) : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >({a, b = 10}) => a : ({ a, b }: { a: any; b?: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/fatArrowfunctionAsType.types b/tests/baselines/reference/fatArrowfunctionAsType.types index 8aaaf772d640b..b095f13ff5093 100644 --- a/tests/baselines/reference/fatArrowfunctionAsType.types +++ b/tests/baselines/reference/fatArrowfunctionAsType.types @@ -21,9 +21,9 @@ var c: (x: T) => void = function (x: T) { return 42; } b = c; >b = c : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/fatarrowfunctions.types b/tests/baselines/reference/fatarrowfunctions.types index 81f2fd4a66c8f..191476f94d021 100644 --- a/tests/baselines/reference/fatarrowfunctions.types +++ b/tests/baselines/reference/fatarrowfunctions.types @@ -291,7 +291,7 @@ function ternaryTest(isWhile:boolean) { declare function setTimeout(expression: any, msec?: number, language?: any): number; >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >expression : any >msec : number > : ^^^^^^ @@ -319,7 +319,7 @@ var messenger = { >setTimeout(() => { this.message.toString(); }, 3000) : number > : ^^^^^^ >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >() => { this.message.toString(); } : () => void > : ^^^^^^^^^^ >this.message.toString() : any diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types index b98a478a24082..ce07a5bf755e6 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types @@ -23,11 +23,11 @@ function fn(x = () => this, y = x()) { fn.call(4); // Should be 4 >fn.call(4) : any >fn.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >fn : (x?: () => any, y?: any) => any > : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >4 : 4 > : ^ diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctions.types b/tests/baselines/reference/fatarrowfunctionsInFunctions.types index 75b764b1926ee..2c625b5842649 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctions.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctions.types @@ -3,7 +3,7 @@ === fatarrowfunctionsInFunctions.ts === declare function setTimeout(expression: any, msec?: number, language?: any): number; >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >expression : any >msec : number > : ^^^^^^ @@ -35,7 +35,7 @@ var messenger = { >setTimeout(function() { _self.message.toString(); }, 3000) : number > : ^^^^^^ >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >function() { _self.message.toString(); } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/findLast(target=esnext).types b/tests/baselines/reference/findLast(target=esnext).types index f2d5ccfe0914a..ca1821e75576b 100644 --- a/tests/baselines/reference/findLast(target=esnext).types +++ b/tests/baselines/reference/findLast(target=esnext).types @@ -6,14 +6,14 @@ const itemNumber: number | undefined = [0].findLast((item) => item === 0); > : ^^^^^^ >[0].findLast((item) => item === 0) : 0 > : ^ ->[0].findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>[0].findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ ->findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -30,14 +30,14 @@ const itemString: string | undefined = ["string"].findLast((item) => item === "s > : ^^^^^^ >["string"].findLast((item) => item === "string") : "string" > : ^^^^^^^^ ->["string"].findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>["string"].findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >["string"] : string[] > : ^^^^^^^^ >"string" : "string" > : ^^^^^^^^ ->findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >(item) => item === "string" : (item: string) => item is "string" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string @@ -52,14 +52,14 @@ const itemString: string | undefined = ["string"].findLast((item) => item === "s new Int8Array().findLast((item) => item === 0); >new Int8Array().findLast((item) => item === 0) : 0 > : ^ ->new Int8Array().findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Int8Array().findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -74,14 +74,14 @@ new Int8Array().findLast((item) => item === 0); new Uint8Array().findLast((item) => item === 0); >new Uint8Array().findLast((item) => item === 0) : 0 > : ^ ->new Uint8Array().findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint8Array().findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -96,14 +96,14 @@ new Uint8Array().findLast((item) => item === 0); new Uint8ClampedArray().findLast((item) => item === 0); >new Uint8ClampedArray().findLast((item) => item === 0) : 0 > : ^ ->new Uint8ClampedArray().findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint8ClampedArray().findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -118,14 +118,14 @@ new Uint8ClampedArray().findLast((item) => item === 0); new Int16Array().findLast((item) => item === 0); >new Int16Array().findLast((item) => item === 0) : 0 > : ^ ->new Int16Array().findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Int16Array().findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -140,14 +140,14 @@ new Int16Array().findLast((item) => item === 0); new Uint16Array().findLast((item) => item === 0); >new Uint16Array().findLast((item) => item === 0) : 0 > : ^ ->new Uint16Array().findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint16Array().findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -162,14 +162,14 @@ new Uint16Array().findLast((item) => item === 0); new Int32Array().findLast((item) => item === 0); >new Int32Array().findLast((item) => item === 0) : 0 > : ^ ->new Int32Array().findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Int32Array().findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -184,14 +184,14 @@ new Int32Array().findLast((item) => item === 0); new Uint32Array().findLast((item) => item === 0); >new Uint32Array().findLast((item) => item === 0) : 0 > : ^ ->new Uint32Array().findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint32Array().findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -206,14 +206,14 @@ new Uint32Array().findLast((item) => item === 0); new Float32Array().findLast((item) => item === 0); >new Float32Array().findLast((item) => item === 0) : 0 > : ^ ->new Float32Array().findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Float32Array().findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -228,14 +228,14 @@ new Float32Array().findLast((item) => item === 0); new Float64Array().findLast((item) => item === 0); >new Float64Array().findLast((item) => item === 0) : 0 > : ^ ->new Float64Array().findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Float64Array().findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -250,14 +250,14 @@ new Float64Array().findLast((item) => item === 0); new BigInt64Array().findLast((item) => item === BigInt(0)); >new BigInt64Array().findLast((item) => item === BigInt(0)) : bigint > : ^^^^^^ ->new BigInt64Array().findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new BigInt64Array().findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint @@ -276,14 +276,14 @@ new BigInt64Array().findLast((item) => item === BigInt(0)); new BigUint64Array().findLast((item) => item === BigInt(0)); >new BigUint64Array().findLast((item) => item === BigInt(0)) : bigint > : ^^^^^^ ->new BigUint64Array().findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new BigUint64Array().findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint @@ -305,13 +305,13 @@ const indexNumber: number = [0].findLastIndex((item) => item === 0); >[0].findLastIndex((item) => item === 0) : number > : ^^^^^^ >[0].findLastIndex : (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ >findLastIndex : (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -329,13 +329,13 @@ const indexString: number = ["string"].findLastIndex((item) => item === "string" >["string"].findLastIndex((item) => item === "string") : number > : ^^^^^^ >["string"].findLastIndex : (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >["string"] : string[] > : ^^^^^^^^ >"string" : "string" > : ^^^^^^^^ >findLastIndex : (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(item) => item === "string" : (item: string) => item is "string" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string @@ -351,13 +351,13 @@ new Int8Array().findLastIndex((item) => item === 0); >new Int8Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Int8Array().findLastIndex : (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -373,13 +373,13 @@ new Uint8Array().findLastIndex((item) => item === 0); >new Uint8Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint8Array().findLastIndex : (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -395,13 +395,13 @@ new Uint8ClampedArray().findLastIndex((item) => item === 0); >new Uint8ClampedArray().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint8ClampedArray().findLastIndex : (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -417,13 +417,13 @@ new Int16Array().findLastIndex((item) => item === 0); >new Int16Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Int16Array().findLastIndex : (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -439,13 +439,13 @@ new Uint16Array().findLastIndex((item) => item === 0); >new Uint16Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint16Array().findLastIndex : (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -461,13 +461,13 @@ new Int32Array().findLastIndex((item) => item === 0); >new Int32Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Int32Array().findLastIndex : (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -483,13 +483,13 @@ new Uint32Array().findLastIndex((item) => item === 0); >new Uint32Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint32Array().findLastIndex : (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -505,13 +505,13 @@ new Float32Array().findLastIndex((item) => item === 0); >new Float32Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Float32Array().findLastIndex : (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -527,13 +527,13 @@ new Float64Array().findLastIndex((item) => item === 0); >new Float64Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Float64Array().findLastIndex : (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -549,13 +549,13 @@ new BigInt64Array().findLastIndex((item) => item === BigInt(0)); >new BigInt64Array().findLastIndex((item) => item === BigInt(0)) : number > : ^^^^^^ >new BigInt64Array().findLastIndex : (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint @@ -575,13 +575,13 @@ new BigUint64Array().findLastIndex((item) => item === BigInt(0)); >new BigUint64Array().findLastIndex((item) => item === BigInt(0)) : number > : ^^^^^^ >new BigUint64Array().findLastIndex : (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint diff --git a/tests/baselines/reference/firstMatchRegExpMatchArray.types b/tests/baselines/reference/firstMatchRegExpMatchArray.types index 73eeca146419e..aaac0d50303b1 100644 --- a/tests/baselines/reference/firstMatchRegExpMatchArray.types +++ b/tests/baselines/reference/firstMatchRegExpMatchArray.types @@ -7,11 +7,11 @@ const match = ''.match(/ /) >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/fixSignatureCaching.types b/tests/baselines/reference/fixSignatureCaching.types index d189b7f61d9c3..4251529b6a09e 100644 --- a/tests/baselines/reference/fixSignatureCaching.types +++ b/tests/baselines/reference/fixSignatureCaching.types @@ -1591,9 +1591,9 @@ define(function () { var hasOwnProp = Object.prototype.hasOwnProperty, >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -1601,7 +1601,7 @@ define(function () { >prototype : Object > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ isArray; >isArray : any @@ -1661,11 +1661,11 @@ define(function () { Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; }; >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (value) { return Object.prototype.toString.call(value) === '[object Array]'; } : (value: any) => boolean > : ^ ^^^^^^^^^^^^^^^^^ >value : any @@ -1675,9 +1675,9 @@ define(function () { >Object.prototype.toString.call(value) : any > : ^^^ >Object.prototype.toString.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Object.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -1685,9 +1685,9 @@ define(function () { >prototype : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >value : any > : ^^^ >'[object Array]' : "[object Array]" @@ -1717,9 +1717,9 @@ define(function () { >Object.prototype.toString.call(value) : any > : ^^^ >Object.prototype.toString.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Object.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -1727,9 +1727,9 @@ define(function () { >prototype : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >value : any > : ^^^ >'[object Array]' : "[object Array]" @@ -1898,11 +1898,11 @@ define(function () { >hasOwnProp.call(object, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >object : any > : ^^^ >key : string @@ -1979,11 +1979,11 @@ define(function () { >hasOwnProp.call(mobileDetectRules.props, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >mobileDetectRules.props : any > : ^^^ >mobileDetectRules : any @@ -2305,11 +2305,11 @@ define(function () { >hasOwnProp.call(rules, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >rules : any > : ^^^ >key : string @@ -2379,11 +2379,11 @@ define(function () { >hasOwnProp.call(rules, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >rules : any > : ^^^ >key : string @@ -2409,11 +2409,11 @@ define(function () { >result.push(key) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >key : string > : ^^^^^^ } @@ -2475,11 +2475,11 @@ define(function () { >hasOwnProp.call(props, propertyName) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >props : any > : ^^^ >propertyName : any diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly1.types b/tests/baselines/reference/fixingTypeParametersRepeatedly1.types index 9badcb364d6f5..fc89accd73972 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly1.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly1.types @@ -19,7 +19,7 @@ f("", x => null, x => x.toLowerCase()); >f("", x => null, x => x.toLowerCase()) : string > : ^^^^^^ >f : (x: T, y: (p: T) => T, z: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >x => null : (x: string) => any @@ -33,11 +33,11 @@ f("", x => null, x => x.toLowerCase()); >x.toLowerCase() : string > : ^^^^^^ >x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // First overload of g should type check just like f declare function g(x: T, y: (p: T) => T, z: (p: T) => T): T; @@ -56,12 +56,12 @@ declare function g(x: T, y: (p: T) => T, z: (p: T) => T): T; declare function g(); >g : { (x: T, y: (p: T) => T, z: (p: T) => T): T; (): any; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ g("", x => null, x => x.toLowerCase()); >g("", x => null, x => x.toLowerCase()) : any >g : { (x: T, y: (p: T) => T, z: (p: T) => T): T; (): any; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >"" : "" > : ^^ >x => null : (x: string) => any @@ -75,9 +75,9 @@ g("", x => null, x => x.toLowerCase()); >x.toLowerCase() : string > : ^^^^^^ >x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types index 25db09112c4fe..ccd1ef74e84ff 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types @@ -32,7 +32,7 @@ var result = foo(derived, d => d.toBase()); >foo(derived, d => d.toBase()) : Derived > : ^^^^^^^ >foo : (x: T, func: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -42,17 +42,17 @@ var result = foo(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ // bar should type check just like foo. // The same error should be observed in both cases. declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -62,7 +62,7 @@ declare function bar(x: T, func: (p: T) => T): T; declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T_1, func: (p: T_1) => T_1): T_1; (x: T, func: (p: T) => T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -76,7 +76,7 @@ var result = bar(derived, d => d.toBase()); >bar(derived, d => d.toBase()) : Base > : ^^^^ >bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -86,9 +86,9 @@ var result = bar(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly3.types b/tests/baselines/reference/fixingTypeParametersRepeatedly3.types index 6018a1fdc08da..ec2c2277a6e65 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly3.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly3.types @@ -31,7 +31,7 @@ var result = foo(derived, d => d.toBase()); >foo(derived, d => d.toBase()) : Derived > : ^^^^^^^ >foo : (x: T, func: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -41,17 +41,17 @@ var result = foo(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ // bar should type check just like foo. // result2 should have the same type as result declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -61,7 +61,7 @@ declare function bar(x: T, func: (p: T) => T): T; declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T_1, func: (p: T_1) => T_1): T_1; (x: T, func: (p: T) => T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -75,7 +75,7 @@ var result2 = bar(derived, d => d.toBase()); >bar(derived, d => d.toBase()) : Base > : ^^^^ >bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -85,9 +85,9 @@ var result2 = bar(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types index 50cd626aef8a0..aacf7075f7f00 100644 --- a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types +++ b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types @@ -16,12 +16,12 @@ const bar = foo.flatMap(bar => bar as Foo); > : ^^^^^^^^ >foo.flatMap(bar => bar as Foo) : string[] > : ^^^^^^^^ ->foo.flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | readonly U[], thisArg?: This | undefined) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | ReadonlyArray, thisArg?: This | undefined) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : unknown[] > : ^^^^^^^^^ ->flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | readonly U[], thisArg?: This | undefined) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | ReadonlyArray, thisArg?: This | undefined) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >bar => bar as Foo : (this: undefined, bar: unknown) => Foo > : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >bar : unknown @@ -69,11 +69,11 @@ const repro_43249 = (value: unknown) => { >value.match(/anything/) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >value.match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ >match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >/anything/ : RegExp > : ^^^^^^ >[] : [] diff --git a/tests/baselines/reference/flowAfterFinally1.types b/tests/baselines/reference/flowAfterFinally1.types index d11b165a66661..f0ad5736cfa59 100644 --- a/tests/baselines/reference/flowAfterFinally1.types +++ b/tests/baselines/reference/flowAfterFinally1.types @@ -21,7 +21,7 @@ openFile() >openFile() : void > : ^^^^ >openFile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ try { result = someOperation() @@ -32,14 +32,14 @@ try { >someOperation() : {} > : ^^ >someOperation : () => {} -> : ^^^^^^^^ +> : ^^^^^^ } finally { closeFile() >closeFile() : void > : ^^^^ >closeFile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } result // should not error here diff --git a/tests/baselines/reference/flowControlTypeGuardThenSwitch.types b/tests/baselines/reference/flowControlTypeGuardThenSwitch.types index da8dfa63e3a9a..a2ff05e25a26b 100644 --- a/tests/baselines/reference/flowControlTypeGuardThenSwitch.types +++ b/tests/baselines/reference/flowControlTypeGuardThenSwitch.types @@ -67,7 +67,7 @@ if (isBoth(foo)) { >isBoth(foo) : boolean > : ^^^^^^^ >isBoth : (x: Base) => x is Both -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : Base > : ^^^^ diff --git a/tests/baselines/reference/for-inStatements.types b/tests/baselines/reference/for-inStatements.types index 38b7568ecd8b7..da400d9d5a23e 100644 --- a/tests/baselines/reference/for-inStatements.types +++ b/tests/baselines/reference/for-inStatements.types @@ -59,7 +59,7 @@ for (var x in fn()) { } >fn() : any > : ^^^ >fn : () => any -> : ^^^^^^^^^ +> : ^^^^^^ for (var x in /[a-z]/) { } >x : string diff --git a/tests/baselines/reference/for-inStatementsInvalid.types b/tests/baselines/reference/for-inStatementsInvalid.types index f24b8de9dfba7..ea0ed3308dbee 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.types +++ b/tests/baselines/reference/for-inStatementsInvalid.types @@ -47,7 +47,7 @@ for (var x in fn()) { } >fn() : void > : ^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var c : string, d:string, e; >c : string @@ -175,21 +175,21 @@ class A { >this.biz() : number > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this.biz) { } >x : string > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this) { } >x : string @@ -214,11 +214,11 @@ class A { >x : string > : ^^^^^^ >this.baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : typeof A > : ^^^^^^^^ >baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this.baz()) { } >x : string @@ -226,11 +226,11 @@ class A { >this.baz() : number > : ^^^^^^ >this.baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : typeof A > : ^^^^^^^^ >baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return null; } @@ -252,21 +252,21 @@ class B extends A { >this.biz() : number > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this.biz) { } >x : string > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this) { } >x : string @@ -278,11 +278,11 @@ class B extends A { >x : string > : ^^^^^^ >super.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in super.biz()) { } >x : string @@ -290,11 +290,11 @@ class B extends A { >super.biz() : number > : ^^^^^^ >super.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return null; } diff --git a/tests/baselines/reference/for-of12.types b/tests/baselines/reference/for-of12.types index 24c0ba69b975a..3fb732d6952e5 100644 --- a/tests/baselines/reference/for-of12.types +++ b/tests/baselines/reference/for-of12.types @@ -11,7 +11,7 @@ for (v of [0, ""].values()) { } >[0, ""].values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0, ""].values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >[0, ""] : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -19,5 +19,5 @@ for (v of [0, ""].values()) { } >"" : "" > : ^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of13.types b/tests/baselines/reference/for-of13.types index 6bfdc1fe849eb..2f9ea908034d3 100644 --- a/tests/baselines/reference/for-of13.types +++ b/tests/baselines/reference/for-of13.types @@ -11,11 +11,11 @@ for (v of [""].values()) { } >[""].values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >[""].values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >[""] : string[] > : ^^^^^^^^ >"" : "" > : ^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/for-of29.types b/tests/baselines/reference/for-of29.types index 6bd79100347b1..40e024d7f4e23 100644 --- a/tests/baselines/reference/for-of29.types +++ b/tests/baselines/reference/for-of29.types @@ -20,6 +20,6 @@ var iterableWithOptionalIterator: { for (var v of iterableWithOptionalIterator) { } >v : any > : ^^^ ->iterableWithOptionalIterator : { [Symbol.iterator]?(): Iterator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterableWithOptionalIterator : { [Symbol.iterator]?(): Iterator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/forInStrictNullChecksNoError.types b/tests/baselines/reference/forInStrictNullChecksNoError.types index 84c06f23a6d4f..78fcd2c573722 100644 --- a/tests/baselines/reference/forInStrictNullChecksNoError.types +++ b/tests/baselines/reference/forInStrictNullChecksNoError.types @@ -19,11 +19,11 @@ function f(x: { [key: string]: number; } | null | undefined) { >console.log(x[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x[key] : number > : ^^^^^^ >x : { [key: string]: number; } diff --git a/tests/baselines/reference/forOfTransformsExpression.types b/tests/baselines/reference/forOfTransformsExpression.types index 12b691ec78e4c..d647229fbf080 100644 --- a/tests/baselines/reference/forOfTransformsExpression.types +++ b/tests/baselines/reference/forOfTransformsExpression.types @@ -32,11 +32,11 @@ for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >items.sort((a, b) => a.name.localeCompare(b.name)) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >items.sort : (compareFn?: (a: { name: string; }, b: { name: string; }) => number) => { name: string; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >items : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >sort : (compareFn?: (a: { name: string; }, b: { name: string; }) => number) => { name: string; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >(a, b) => a.name.localeCompare(b.name) : (a: { name: string; }, b: { name: string; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { name: string; } @@ -46,7 +46,7 @@ for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >a.name.localeCompare(b.name) : number > : ^^^^^^ >a.name.localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >a.name : string > : ^^^^^^ >a : { name: string; } @@ -54,7 +54,7 @@ for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >name : string > : ^^^^^^ >localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >b.name : string > : ^^^^^^ >b : { name: string; } diff --git a/tests/baselines/reference/forStatements.types b/tests/baselines/reference/forStatements.types index bda88aeb2bf29..2d9fdfc3b34bc 100644 --- a/tests/baselines/reference/forStatements.types +++ b/tests/baselines/reference/forStatements.types @@ -62,11 +62,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } for(var aNumber: number = 9.9;;){} @@ -159,11 +159,11 @@ for(var anOtherObjectLiteral: { id: number } = new C();;){} for(var aFunction: typeof F = F;;){} >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ for(var anOtherFunction: (x: string) => number = F;;){} >anOtherFunction : (x: string) => number @@ -171,13 +171,13 @@ for(var anOtherFunction: (x: string) => number = F;;){} >x : string > : ^^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ for(var aLambda: typeof F = (x) => 2;;){} >aLambda : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 2 : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -209,13 +209,13 @@ for(var aClassInModule: M.A = new M.A();;){} for(var aFunctionInModule: typeof M.F2 = (x) => 'this is a string';;){} >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 'this is a string' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/forStatementsMultipleInvalidDecl.types b/tests/baselines/reference/forStatementsMultipleInvalidDecl.types index 7657492ab6296..018d46d9e1f64 100644 --- a/tests/baselines/reference/forStatementsMultipleInvalidDecl.types +++ b/tests/baselines/reference/forStatementsMultipleInvalidDecl.types @@ -77,11 +77,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // all of these are errors @@ -145,13 +145,13 @@ for( var b = new C2();;){} for(var f = F;;){} >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ for( var f = (x: number) => '';;){} >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => '' : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/formatToPartsFractionalSecond.types b/tests/baselines/reference/formatToPartsFractionalSecond.types index 9b2f9265185b7..49048dcfaa54f 100644 --- a/tests/baselines/reference/formatToPartsFractionalSecond.types +++ b/tests/baselines/reference/formatToPartsFractionalSecond.types @@ -4,12 +4,12 @@ new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractionalSecond') >new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractionalSecond') : Intl.DateTimeFormatPart > : ^^^^^^^^^^^^^^^^^^^^^^^ ->new Intl.DateTimeFormat().formatToParts().find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Intl.DateTimeFormat().formatToParts().find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.DateTimeFormat().formatToParts() : Intl.DateTimeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat().formatToParts : (date?: Date | number) => Intl.DateTimeFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat() : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -19,9 +19,9 @@ new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractional >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatToParts : (date?: Date | number) => Intl.DateTimeFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(val) => val.type === 'fractionalSecond' : (val: Intl.DateTimeFormatPart) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >val : Intl.DateTimeFormatPart diff --git a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types index 807b0f24a862e..6df385d452429 100644 --- a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types +++ b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types @@ -95,7 +95,7 @@ interface Foo6 { [Cls1.a]: number; [Cls2.b]: number; [obj1.c]: number; [obj2.d]: >obj1.c : "c" > : ^^^ >obj1 : { c: "c"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : "c" > : ^^^ >[obj2.d] : number diff --git a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types index 807b0f24a862e..6df385d452429 100644 --- a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types +++ b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types @@ -95,7 +95,7 @@ interface Foo6 { [Cls1.a]: number; [Cls2.b]: number; [obj1.c]: number; [obj2.d]: >obj1.c : "c" > : ^^^ >obj1 : { c: "c"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : "c" > : ^^^ >[obj2.d] : number diff --git a/tests/baselines/reference/freshLiteralInference.types b/tests/baselines/reference/freshLiteralInference.types index 53716880aac36..4414f96e12c39 100644 --- a/tests/baselines/reference/freshLiteralInference.types +++ b/tests/baselines/reference/freshLiteralInference.types @@ -13,7 +13,7 @@ const value = f1("1"); // regular "1" >f1("1") : "1" > : ^^^ >f1 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"1" : "1" > : ^^^ @@ -39,7 +39,7 @@ const obj2 = f2({ value: "1" }); // { value: regular "1" } >f2({ value: "1" }) : { value: "1"; } > : ^^^^^^^^^^^^^^^ >f2 : (x: { value: T; }) => { value: T; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ value: "1" } : { value: "1"; } > : ^^^^^^^^^^^^^^^ >value : "1" @@ -71,7 +71,7 @@ const obj3 = f3({ value: "1" }); // before: { value: fresh "1" } >f3({ value: "1" }) : { value: "1"; } > : ^^^^^^^^^^^^^^^ >f3 : (obj: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ value: "1" } : { value: "1"; } > : ^^^^^^^^^^^^^^^ >value : "1" diff --git a/tests/baselines/reference/freshLiteralTypesInIntersections.types b/tests/baselines/reference/freshLiteralTypesInIntersections.types index 0a991ecb012ae..8cd65a4b36dde 100644 --- a/tests/baselines/reference/freshLiteralTypesInIntersections.types +++ b/tests/baselines/reference/freshLiteralTypesInIntersections.types @@ -15,11 +15,11 @@ declare function func(a: A, b: B[]): (ab: A & B) const q = func("x" as "x" | "y", ["x"]); >q : (ab: "x") => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >func("x" as "x" | "y", ["x"]) : (ab: "x") => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >func : (a: A, b: B[]) => (ab: A & B) => void -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"x" as "x" | "y" : "x" | "y" > : ^^^^^^^^^ >"x" : "x" @@ -33,7 +33,7 @@ q("x"); >q("x") : void > : ^^^^ >q : (ab: "x") => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >"x" : "x" > : ^^^ diff --git a/tests/baselines/reference/funcdecl.types b/tests/baselines/reference/funcdecl.types index e00439e2e7b59..8e72055ce906e 100644 --- a/tests/baselines/reference/funcdecl.types +++ b/tests/baselines/reference/funcdecl.types @@ -35,9 +35,9 @@ function withReturn() : string{ } var withReturnVar = withReturn; >withReturnVar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >withReturn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ function withParams(a : string) : string{ >withParams : (a: string) => string @@ -51,9 +51,9 @@ function withParams(a : string) : string{ } var withparamsVar = withParams; >withparamsVar : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >withParams : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function withMultiParams(a : number, b, c: Object) { >withMultiParams : (a: number, b: any, c: Object) => number @@ -143,19 +143,19 @@ var withRestParamsVar = withRestParams; function overload1(n: number) : string; >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ function overload1(s: string) : string; >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function overload1(ns: any) { >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); @@ -168,9 +168,9 @@ function overload1(ns: any) { } var withOverloadSignature = overload1; >withOverloadSignature : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function f(n: () => void) { } >f : (n: () => void) => void @@ -224,13 +224,13 @@ declare function fooAmbient(n: number): string; declare function overloadAmbient(n: number): string; >overloadAmbient : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function overloadAmbient(s: string): string; >overloadAmbient : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionAssignment.types b/tests/baselines/reference/functionAssignment.types index 04563f48c0ce5..876013f12baaa 100644 --- a/tests/baselines/reference/functionAssignment.types +++ b/tests/baselines/reference/functionAssignment.types @@ -45,11 +45,11 @@ test.get(function (param) { >test.get(function (param) { var x = barbaz.get(function () { });}) : void > : ^^^^ >test.get : (handler: (bar: number) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >test : foo > : ^^^ >get : (handler: (bar: number) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (param) { var x = barbaz.get(function () { });} : (param: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >param : number @@ -61,11 +61,11 @@ test.get(function (param) { >barbaz.get(function () { }) : number > : ^^^^^^ >barbaz.get : (callback: Function) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >barbaz : baz > : ^^^ >get : (callback: Function) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function () { } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/functionCall1.types b/tests/baselines/reference/functionCall1.types index 8ac6802ed6047..50dc536a5a43c 100644 --- a/tests/baselines/reference/functionCall1.types +++ b/tests/baselines/reference/functionCall1.types @@ -11,5 +11,5 @@ var x = foo(); >x : any >foo() : any >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall2.types b/tests/baselines/reference/functionCall2.types index 3e17024eca261..db33312409141 100644 --- a/tests/baselines/reference/functionCall2.types +++ b/tests/baselines/reference/functionCall2.types @@ -13,5 +13,5 @@ var x = foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall3.types b/tests/baselines/reference/functionCall3.types index 6e3d7939f3c06..59a5fe0372ac1 100644 --- a/tests/baselines/reference/functionCall3.types +++ b/tests/baselines/reference/functionCall3.types @@ -15,5 +15,5 @@ var x = foo(); >foo() : any[] > : ^^^^^ >foo : () => any[] -> : ^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall4.types b/tests/baselines/reference/functionCall4.types index 4bf4412d3581d..6528bc492b8a4 100644 --- a/tests/baselines/reference/functionCall4.types +++ b/tests/baselines/reference/functionCall4.types @@ -11,13 +11,13 @@ function bar():()=>any{return foo}; >bar : () => () => any > : ^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var x = bar(); >x : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar() : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar : () => () => any -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall5.types b/tests/baselines/reference/functionCall5.types index 5e2f11b769d23..0c9357f8a0786 100644 --- a/tests/baselines/reference/functionCall5.types +++ b/tests/baselines/reference/functionCall5.types @@ -28,5 +28,5 @@ var x = foo(); >foo() : m1.c1 > : ^^^^^ >foo : () => m1.c1 -> : ^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types index eec3f65b5429c..2ac93d292c1c8 100644 --- a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types +++ b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types @@ -36,11 +36,11 @@ function call0(p: A | B) { >p.a("s") : string > : ^^^^^^ >p.a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >p : A | B > : ^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"s" : "s" > : ^^^ } @@ -55,11 +55,11 @@ function callN(p: T) { >p.a("s") : string > : ^^^^^^ >p.a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >p : A | B > : ^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"s" : "s" > : ^^^ @@ -67,17 +67,17 @@ function callN(p: T) { >a : T["a"] > : ^^^^^^ >p.a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >p : A | B > : ^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ a(""); // Error >a("") : string > : ^^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ @@ -85,7 +85,7 @@ function callN(p: T) { >a("", "", "", "") : string > : ^^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ >"" : "" diff --git a/tests/baselines/reference/functionConstraintSatisfaction.types b/tests/baselines/reference/functionConstraintSatisfaction.types index aa9d6da5ca07d..de2179a9865b8 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction.types +++ b/tests/baselines/reference/functionConstraintSatisfaction.types @@ -46,7 +46,7 @@ var r = foo(new Function()); >foo(new Function()) : Function > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >new Function() : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -58,7 +58,7 @@ var r1 = foo((x) => x); >foo((x) => x) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x) => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -70,7 +70,7 @@ var r2 = foo((x: string[]) => x); >foo((x: string[]) => x) : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: string[]) => x : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >x : string[] @@ -84,7 +84,7 @@ var r3 = foo(function (x) { return x }); >foo(function (x) { return x }) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x) { return x } : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -96,7 +96,7 @@ var r4 = foo(function (x: string[]) { return x }); >foo(function (x: string[]) { return x }) : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: string[]) { return x } : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >x : string[] @@ -110,7 +110,7 @@ var r5 = foo(i); >foo(i) : I > : ^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : I > : ^ @@ -120,29 +120,29 @@ var r6 = foo(C); >foo(C) : typeof C > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ var r7 = foo(b); >r7 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo(b) : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8 = foo(c); >r8 : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo(c) : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ interface I2 { (x: T): T; @@ -190,7 +190,7 @@ var r9 = foo((x: U) => x); >foo((x: U) => x) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -204,7 +204,7 @@ var r10 = foo(function (x: U) { return x; }); >foo(function (x: U) { return x; }) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: U) { return x; } : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -218,7 +218,7 @@ var r11 = foo((x: U) => x); >foo((x: U) => x) : (x: U) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : U @@ -232,7 +232,7 @@ var r12 = foo((x: U, y: V) => x); >foo((x: U, y: V) => x) : (x: U, y: V) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U, y: V) => x : (x: U, y: V) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : U @@ -248,7 +248,7 @@ var r13 = foo(i2); >foo(i2) : I2 > : ^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i2 : I2 > : ^^^^^^^^^^ @@ -258,29 +258,29 @@ var r14 = foo(C2); >foo(C2) : typeof C2 > : ^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ var r15 = foo(b2); >r15 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >foo(b2) : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r16 = foo(c2); >r16 : { (x: T): T; (x: T, y: T): T; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo(c2) : { (x: T): T; (x: T, y: T): T; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c2 : { (x: T): T; (x: T, y: T): T; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ interface F2 extends Function { foo: string; } >foo : string @@ -296,7 +296,7 @@ var r17 = foo(f2); >foo(f2) : F2 > : ^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f2 : F2 > : ^^ @@ -312,7 +312,7 @@ function foo2(x: T, y: U) { >foo(x) : T > : ^ >foo : (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -320,7 +320,7 @@ function foo2(x: T, y: U) { >foo(y) : U > : ^ >foo : (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : U > : ^ } diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.types b/tests/baselines/reference/functionConstraintSatisfaction2.types index 709976b168fc3..dd98441b95c23 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.types +++ b/tests/baselines/reference/functionConstraintSatisfaction2.types @@ -15,7 +15,7 @@ foo(1); >foo(1) : Function > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -23,7 +23,7 @@ foo(() => { }, 1); >foo(() => { }, 1) : () => void > : ^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ >1 : 1 @@ -33,7 +33,7 @@ foo(1, () => { }); >foo(1, () => { }) : Function > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >() => { } : () => void @@ -81,11 +81,11 @@ var b2: { new (x: T): T }; var r = foo2(new Function()); >r : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(new Function()) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >new Function() : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -93,11 +93,11 @@ var r = foo2(new Function()); var r2 = foo2((x: string[]) => x); >r2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2((x: string[]) => x) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: string[]) => x : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >x : string[] @@ -107,23 +107,23 @@ var r2 = foo2((x: string[]) => x); var r6 = foo2(C); >r6 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(C) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ var r7 = foo2(b); >r7 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(b) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8 = foo2((x: U) => x); // no error expected >r8 : (x: U) => U @@ -131,7 +131,7 @@ var r8 = foo2((x: U) => x); // no error expected >foo2((x: U) => x) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -141,11 +141,11 @@ var r8 = foo2((x: U) => x); // no error expected var r11 = foo2((x: U, y: V) => x); >r11 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2((x: U, y: V) => x) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U, y: V) => x : (x: U, y: V) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : U @@ -157,23 +157,23 @@ var r11 = foo2((x: U, y: V) => x); var r13 = foo2(C2); >r13 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(C2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ var r14 = foo2(b2); >r14 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(b2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ interface F2 extends Function { foo: string; } >foo : string @@ -185,11 +185,11 @@ var f2: F2; var r16 = foo2(f2); >r16 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(f2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f2 : F2 > : ^^ @@ -203,17 +203,17 @@ function fff(x: T, y: U) { foo2(x); >foo2(x) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ foo2(y); >foo2(y) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : U > : ^ } diff --git a/tests/baselines/reference/functionConstraintSatisfaction3.types b/tests/baselines/reference/functionConstraintSatisfaction3.types index e280da40b0734..c7b3e425e1a78 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction3.types +++ b/tests/baselines/reference/functionConstraintSatisfaction3.types @@ -48,7 +48,7 @@ var r1 = foo((x) => x); >foo((x) => x) : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x) => x : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -62,7 +62,7 @@ var r2 = foo((x: string) => x); >foo((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: string) => x : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -76,7 +76,7 @@ var r3 = foo(function (x) { return x }); >foo(function (x) { return x }) : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x) { return x } : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -90,7 +90,7 @@ var r4 = foo(function (x: string) { return x }); >foo(function (x: string) { return x }) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: string) { return x } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -104,19 +104,19 @@ var r5 = foo(i); >foo(i) : I > : ^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : I > : ^ var r8 = foo(c); >r8 : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo(c) : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ interface I2 { (x: T): T; @@ -164,7 +164,7 @@ var r9 = foo(function (x: U) { return x; }); >foo(function (x: U) { return x; }) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: U) { return x; } : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -178,7 +178,7 @@ var r10 = foo((x: U) => x); >foo((x: U) => x) : (x: U) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : U @@ -192,17 +192,17 @@ var r12 = foo(i2); >foo(i2) : I2 > : ^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i2 : I2 > : ^^^^^^^^^^ var r15 = foo(c2); >r15 : { (x: T): T; (x: T, y: T): T; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo(c2) : { (x: T): T; (x: T, y: T): T; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c2 : { (x: T): T; (x: T, y: T): T; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types index 665736df51c01..e437cf8b25455 100644 --- a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types +++ b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types @@ -12,7 +12,7 @@ function foo(args: { (x): number }[]) { >args.length : number > : ^^^^^^ >args : ((x: any) => number)[] -> : ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ } diff --git a/tests/baselines/reference/functionExpressionContextualTyping1.types b/tests/baselines/reference/functionExpressionContextualTyping1.types index 9a5bfda3b93fa..00d145d03c60b 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping1.types +++ b/tests/baselines/reference/functionExpressionContextualTyping1.types @@ -33,11 +33,11 @@ var a0: (n: number, s: string) => number = (num, str) => { >num.toExponential() : string > : ^^^^^^ >num.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ return 0; >0 : 0 @@ -99,7 +99,7 @@ b1 = (k, h) => { }; >b1 = (k, h) => { } : (k: string, h: boolean) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >b1 : ((s: string, w: boolean) => void) | ((s: string, w: boolean) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(k, h) => { } : (k: string, h: boolean) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >k : string @@ -109,9 +109,9 @@ b1 = (k, h) => { }; var b2: typeof a0 | ((n: number, s: string) => string); >b2 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a0 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n : number > : ^^^^^^ >s : string @@ -121,7 +121,7 @@ b2 = (foo, bar) => { return foo + 1; } >b2 = (foo, bar) => { return foo + 1; } : (foo: number, bar: string) => number > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >b2 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(foo, bar) => { return foo + 1; } : (foo: number, bar: string) => number > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >foo : number @@ -139,7 +139,7 @@ b2 = (foo, bar) => { return "hello"; } >b2 = (foo, bar) => { return "hello"; } : (foo: number, bar: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >b2 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(foo, bar) => { return "hello"; } : (foo: number, bar: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >foo : number @@ -163,7 +163,7 @@ b3 = (name, number) => { }; >b3 = (name, number) => { } : (name: string, number: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >b3 : (name: string, num: number, boo: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(name, number) => { } : (name: string, number: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >name : string @@ -227,7 +227,7 @@ b6 = (k) => { k.toLowerCase() }; >b6 = (k) => { k.toLowerCase() } : (k: any) => void > : ^ ^^^^^^^^^^^^^^ >b6 : ((s: string, w: boolean) => void) | ((n: number) => number) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >(k) => { k.toLowerCase() } : (k: any) => void > : ^ ^^^^^^^^^^^^^^ >k : any @@ -242,7 +242,7 @@ b6 = (i) => { >b6 = (i) => { i.toExponential(); return i;} : (i: any) => any > : ^ ^^^^^^^^^^^^^ >b6 : ((s: string, w: boolean) => void) | ((n: number) => number) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >(i) => { i.toExponential(); return i;} : (i: any) => any > : ^ ^^^^^^^^^^^^^ >i : any @@ -263,7 +263,7 @@ b7 = (j, m) => { }; // Per spec, no contextual signature can be extracted in th >b7 = (j, m) => { } : (j: any, m: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >b7 : ((s: string, w: boolean) => void) | ((s: string, w: number) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(j, m) => { } : (j: any, m: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >j : any diff --git a/tests/baselines/reference/functionExpressionContextualTyping2.types b/tests/baselines/reference/functionExpressionContextualTyping2.types index c2fdc1f97eb05..df0553550cb2f 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping2.types +++ b/tests/baselines/reference/functionExpressionContextualTyping2.types @@ -19,9 +19,9 @@ var a0: (n: number, s: string) => number var a1: typeof a0 | ((n: number, s: string) => string); >a1 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a0 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n : number > : ^^^^^^ >s : string @@ -31,7 +31,7 @@ a1 = (foo, bar) => { return true; } // Error >a1 = (foo, bar) => { return true; } : (foo: number, bar: string) => boolean > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >a1 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(foo, bar) => { return true; } : (foo: number, bar: string) => boolean > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >foo : number diff --git a/tests/baselines/reference/functionExpressionContextualTyping3.types b/tests/baselines/reference/functionExpressionContextualTyping3.types index 7b3b12b254ea9..d5e1d7620f0ca 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping3.types +++ b/tests/baselines/reference/functionExpressionContextualTyping3.types @@ -12,7 +12,7 @@ f((a: any) => "") >f((a: any) => "") : void > : ^^^^ >f : (value: T | number) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(a: any) => "" : (a: any) => "" > : ^ ^^ ^^^^^^^ >a : any diff --git a/tests/baselines/reference/functionExpressionShadowedByParams.types b/tests/baselines/reference/functionExpressionShadowedByParams.types index 2d6d4f6e1b983..8053651b11e53 100644 --- a/tests/baselines/reference/functionExpressionShadowedByParams.types +++ b/tests/baselines/reference/functionExpressionShadowedByParams.types @@ -11,11 +11,11 @@ function b1(b1: number) { >b1.toPrecision(2) : string > : ^^^^^^ >b1.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b1 : number > : ^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -49,11 +49,11 @@ var x = { >b.toPrecision(2) : string > : ^^^^^^ >b.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : number > : ^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/functionImplementations.types b/tests/baselines/reference/functionImplementations.types index 8f7647fb0a42d..c07a8e17303ab 100644 --- a/tests/baselines/reference/functionImplementations.types +++ b/tests/baselines/reference/functionImplementations.types @@ -117,7 +117,7 @@ function rec4() { >rec3() : number > : ^^^^^^ >rec3 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } var n: number; >n : number @@ -129,7 +129,7 @@ var n = rec3(); >rec3() : number > : ^^^^^^ >rec3 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var n = rec4(); >n : number @@ -473,11 +473,11 @@ var f7: (x: number) => string | number = x => { // should be (x: number) => numb >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var f8: (x: number) => any = x => { // should be (x: number) => Base >f8 : (x: number) => any diff --git a/tests/baselines/reference/functionLiteral.types b/tests/baselines/reference/functionLiteral.types index 95ef1e7a7a2e3..be48f2a854b12 100644 --- a/tests/baselines/reference/functionLiteral.types +++ b/tests/baselines/reference/functionLiteral.types @@ -26,7 +26,7 @@ var y: { (x: string): string; }; var y: (x: string) => string; >y : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -50,7 +50,7 @@ var z: { new (x: number): number; }; var z: new (x: number) => number; >z : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/functionLiterals.types b/tests/baselines/reference/functionLiterals.types index 39fa74b1503da..c8bb7691979ef 100644 --- a/tests/baselines/reference/functionLiterals.types +++ b/tests/baselines/reference/functionLiterals.types @@ -29,99 +29,99 @@ var b: { // no errors b.func1 = b.func2; >b.func1 = b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func1 = b.func3; >b.func1 = b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func2 = b.func1; >b.func2 = b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func2 = b.func3; >b.func2 = b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func3 = b.func1; >b.func3 = b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func3 = b.func2; >b.func3 = b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var c: { >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } @@ -129,13 +129,13 @@ var c: { func4(x: number): number; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ func4(s: string): string; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -157,35 +157,35 @@ var c: { // no errors c.func4 = c.func5; >c.func4 = c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ c.func5 = c.func4; >c.func5 = c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ // generic versions var b2: { @@ -214,99 +214,99 @@ var b2: { // no errors b2.func1 = b2.func2; >b2.func1 = b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func1 = b2.func3; >b2.func1 = b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func2 = b2.func1; >b2.func2 = b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func2 = b2.func3; >b2.func2 = b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func3 = b2.func1; >b2.func3 = b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func3 = b2.func2; >b2.func3 = b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var c2: { >c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } @@ -314,13 +314,13 @@ var c2: { func4(x: T): number; >func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ func4(s: T): string; >func4 : { (x: T_1): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : T > : ^ @@ -342,33 +342,33 @@ var c2: { // no errors c2.func4 = c2.func5; >c2.func4 = c2.func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ c2.func5 = c2.func4; >c2.func5 = c2.func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types index d4cea084d97ee..7acb1ef4209a7 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types @@ -9,7 +9,7 @@ function f(x: string): number; function f(x: string): void { >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types index 21692c629e490..9b340d4ee138d 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types @@ -9,7 +9,7 @@ function f(x: string): void; function f(x: string): number { >f : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types index 233a316abfe3d..6c50ece055b88 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types @@ -9,7 +9,7 @@ function f(x: string): void; function f(x: string): void { >f : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloadErrors.types b/tests/baselines/reference/functionOverloadErrors.types index 82186043a9d50..081e7289cb098 100644 --- a/tests/baselines/reference/functionOverloadErrors.types +++ b/tests/baselines/reference/functionOverloadErrors.types @@ -48,19 +48,19 @@ function fn2b() { //Multiple function overload signatures that differ only by return type function fn3(x: string): string; >fn3 : { (x: string): string; (y: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function fn3(y: string): number; >fn3 : { (x: string): string; (y: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : string > : ^^^^^^ function fn3(): any { >fn3 : { (x: string): string; (y: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return null; } @@ -316,7 +316,7 @@ function fn14(n: string): string; function fn14() { >fn14 : (n: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return 3; >3 : 3 @@ -326,15 +326,15 @@ function fn14() { //Function overloads where return types are different infinitely recursive type reference function fn15>>(): T; >fn15 : { >>(): T; >(): T_1; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^ function fn15>(): T; >fn15 : { >>(): T_1; >(): T; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^ function fn15() { >fn15 : { >>(): T; >(): T; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^ return undefined; >undefined : undefined diff --git a/tests/baselines/reference/functionOverloads.types b/tests/baselines/reference/functionOverloads.types index c35ecb30fee5e..3ec1de55d114c 100644 --- a/tests/baselines/reference/functionOverloads.types +++ b/tests/baselines/reference/functionOverloads.types @@ -3,17 +3,17 @@ === functionOverloads.ts === function foo(): string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar: string): number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?: string): any { return "" }; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ >"" : "" @@ -25,7 +25,7 @@ var x = foo(5); >foo(5) : never > : ^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads1.types b/tests/baselines/reference/functionOverloads1.types index 21c1c6fb5ca11..6bd139afde2c7 100644 --- a/tests/baselines/reference/functionOverloads1.types +++ b/tests/baselines/reference/functionOverloads1.types @@ -3,7 +3,7 @@ === functionOverloads1.ts === function foo(); >foo : { (): any; (): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ 1+1; >1+1 : number diff --git a/tests/baselines/reference/functionOverloads11.types b/tests/baselines/reference/functionOverloads11.types index 873fe48d1043e..44f402b418df7 100644 --- a/tests/baselines/reference/functionOverloads11.types +++ b/tests/baselines/reference/functionOverloads11.types @@ -7,7 +7,7 @@ function foo():number; function foo():string { return "" } >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/functionOverloads12.types b/tests/baselines/reference/functionOverloads12.types index 5415b66360df4..c8018140e7489 100644 --- a/tests/baselines/reference/functionOverloads12.types +++ b/tests/baselines/reference/functionOverloads12.types @@ -3,15 +3,15 @@ === functionOverloads12.ts === function foo():string; >foo : { (): string; (): number; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ function foo():number; >foo : { (): string; (): number; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ function foo():any { if (true) return ""; else return 0;} >foo : { (): string; (): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >true : true > : ^^^^ >"" : "" diff --git a/tests/baselines/reference/functionOverloads13.types b/tests/baselines/reference/functionOverloads13.types index 64ce3972f04b3..5116cca38a2b3 100644 --- a/tests/baselines/reference/functionOverloads13.types +++ b/tests/baselines/reference/functionOverloads13.types @@ -3,19 +3,19 @@ === functionOverloads13.ts === function foo(bar:number):string; >foo : { (bar: number): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: number): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar?:number):any { return "" } >foo : { (bar: number): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ >"" : "" diff --git a/tests/baselines/reference/functionOverloads14.types b/tests/baselines/reference/functionOverloads14.types index fe3078ee2ba61..661d92f9bb1da 100644 --- a/tests/baselines/reference/functionOverloads14.types +++ b/tests/baselines/reference/functionOverloads14.types @@ -3,19 +3,19 @@ === functionOverloads14.ts === function foo():{a:number;} >foo : { (): { a: number; }; (): { a: string; }; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ function foo():{a:string;} >foo : { (): { a: number; }; (): { a: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ function foo():{a:any;} { return {a:1} } >foo : { (): { a: number; }; (): { a: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : any >{a:1} : { a: number; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/functionOverloads15.types b/tests/baselines/reference/functionOverloads15.types index 628e460529a0e..3f85cc881f098 100644 --- a/tests/baselines/reference/functionOverloads15.types +++ b/tests/baselines/reference/functionOverloads15.types @@ -3,7 +3,7 @@ === functionOverloads15.ts === function foo(foo:{a:string; b:number;}):string; >foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b: number; } > : ^^^^^ ^^^^^ ^^^ >a : string @@ -13,7 +13,7 @@ function foo(foo:{a:string; b:number;}):string; function foo(foo:{a:string; b:number;}):number; >foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b: number; } > : ^^^^^ ^^^^^ ^^^ >a : string @@ -23,7 +23,7 @@ function foo(foo:{a:string; b:number;}):number; function foo(foo:{a:string; b?:number;}):any { return "" } >foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b?: number; } > : ^^^^^ ^^^^^^ ^^^ >a : string diff --git a/tests/baselines/reference/functionOverloads16.types b/tests/baselines/reference/functionOverloads16.types index e001be16a7431..b63a51ef3c20d 100644 --- a/tests/baselines/reference/functionOverloads16.types +++ b/tests/baselines/reference/functionOverloads16.types @@ -3,7 +3,7 @@ === functionOverloads16.ts === function foo(foo:{a:string;}):string; >foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; } > : ^^^^^ ^^^ >a : string @@ -11,7 +11,7 @@ function foo(foo:{a:string;}):string; function foo(foo:{a:string;}):number; >foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,7 +19,7 @@ function foo(foo:{a:string;}):number; function foo(foo:{a:string; b?:number;}):any { return "" } >foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b?: number; } > : ^^^^^ ^^^^^^ ^^^ >a : string diff --git a/tests/baselines/reference/functionOverloads17.types b/tests/baselines/reference/functionOverloads17.types index d3b4035e963d5..dd12ad7a97063 100644 --- a/tests/baselines/reference/functionOverloads17.types +++ b/tests/baselines/reference/functionOverloads17.types @@ -9,7 +9,7 @@ function foo():{a:number;} function foo():{a:string;} { return {a:""} } >foo : () => { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : string > : ^^^^^^ >{a:""} : { a: string; } diff --git a/tests/baselines/reference/functionOverloads2.types b/tests/baselines/reference/functionOverloads2.types index 0194604c0095e..778acaf40788e 100644 --- a/tests/baselines/reference/functionOverloads2.types +++ b/tests/baselines/reference/functionOverloads2.types @@ -3,19 +3,19 @@ === functionOverloads2.ts === function foo(bar: string): string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar: number): number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar: any): any { return bar }; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -27,7 +27,7 @@ var x = foo(true); >foo(true) : never > : ^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ diff --git a/tests/baselines/reference/functionOverloads20.types b/tests/baselines/reference/functionOverloads20.types index cf2e2f9c4d468..ea0feebf9d316 100644 --- a/tests/baselines/reference/functionOverloads20.types +++ b/tests/baselines/reference/functionOverloads20.types @@ -3,7 +3,7 @@ === functionOverloads20.ts === function foo(bar:{a:number;}): number; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}): number; function foo(bar:{a:string;}): string; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,7 +19,7 @@ function foo(bar:{a:string;}): string; function foo(bar:{a:any;}): string {return ""} >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any diff --git a/tests/baselines/reference/functionOverloads22.types b/tests/baselines/reference/functionOverloads22.types index 2228e7d5586e1..bed96105d5f57 100644 --- a/tests/baselines/reference/functionOverloads22.types +++ b/tests/baselines/reference/functionOverloads22.types @@ -3,7 +3,7 @@ === functionOverloads22.ts === function foo(bar:number):{a:number;}[]; >foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:number):{a:number;}[]; function foo(bar:string):{a:number; b:string;}[]; >foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ >a : number @@ -21,7 +21,7 @@ function foo(bar:string):{a:number; b:string;}[]; function foo(bar:any):{a:any;b?:any;}[] { return [{a:""}] } >foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >a : any >b : any diff --git a/tests/baselines/reference/functionOverloads24.types b/tests/baselines/reference/functionOverloads24.types index cf6036d634365..a48c749a4b7b9 100644 --- a/tests/baselines/reference/functionOverloads24.types +++ b/tests/baselines/reference/functionOverloads24.types @@ -3,7 +3,7 @@ === functionOverloads24.ts === function foo(bar:number):(b:string)=>void; >foo : { (bar: number): (b: string) => void; (bar: string): (a: number) => void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ >b : string @@ -11,7 +11,7 @@ function foo(bar:number):(b:string)=>void; function foo(bar:string):(a:number)=>void; >foo : { (bar: number): (b: string) => void; (bar: string): (a: number) => void; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ >a : number @@ -19,7 +19,7 @@ function foo(bar:string):(a:number)=>void; function foo(bar:any):(a)=>void { return function(){} } >foo : { (bar: number): (b: string) => void; (bar: string): (a: number) => void; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >a : any >function(){} : () => void diff --git a/tests/baselines/reference/functionOverloads25.types b/tests/baselines/reference/functionOverloads25.types index f7de464f9e1e6..bf68585ba1770 100644 --- a/tests/baselines/reference/functionOverloads25.types +++ b/tests/baselines/reference/functionOverloads25.types @@ -3,17 +3,17 @@ === functionOverloads25.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' }; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any >'' : "" > : ^^ @@ -24,5 +24,5 @@ var x = foo(); >foo() : string > : ^^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads26.types b/tests/baselines/reference/functionOverloads26.types index 3ea64db7cada2..e61b3008d9720 100644 --- a/tests/baselines/reference/functionOverloads26.types +++ b/tests/baselines/reference/functionOverloads26.types @@ -3,17 +3,17 @@ === functionOverloads26.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any >'' : "" > : ^^ @@ -24,7 +24,7 @@ var x = foo('baz'); >foo('baz') : number > : ^^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >'baz' : "baz" > : ^^^^^ diff --git a/tests/baselines/reference/functionOverloads27.types b/tests/baselines/reference/functionOverloads27.types index 755ecf3969d98..eb51f8e57426e 100644 --- a/tests/baselines/reference/functionOverloads27.types +++ b/tests/baselines/reference/functionOverloads27.types @@ -3,17 +3,17 @@ === functionOverloads27.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any > : ^^^ >'' : "" @@ -25,7 +25,7 @@ var x = foo(5); >foo(5) : never > : ^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads28.types b/tests/baselines/reference/functionOverloads28.types index 2835836a442b2..7fe1479427d79 100644 --- a/tests/baselines/reference/functionOverloads28.types +++ b/tests/baselines/reference/functionOverloads28.types @@ -3,17 +3,17 @@ === functionOverloads28.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any >'' : "" > : ^^ @@ -25,6 +25,6 @@ var t:any; var x = foo(t); >foo(t) : number > : ^^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >t : any diff --git a/tests/baselines/reference/functionOverloads29.types b/tests/baselines/reference/functionOverloads29.types index e47d6745e95be..2bc8b7b6e932a 100644 --- a/tests/baselines/reference/functionOverloads29.types +++ b/tests/baselines/reference/functionOverloads29.types @@ -3,19 +3,19 @@ === functionOverloads29.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -27,5 +27,5 @@ var x = foo(); >foo() : never > : ^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads30.types b/tests/baselines/reference/functionOverloads30.types index 5cf2ba7d2045a..b7308c80d4662 100644 --- a/tests/baselines/reference/functionOverloads30.types +++ b/tests/baselines/reference/functionOverloads30.types @@ -3,19 +3,19 @@ === functionOverloads30.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -25,7 +25,7 @@ var x = foo('bar'); >foo('bar') : string > : ^^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'bar' : "bar" > : ^^^^^ diff --git a/tests/baselines/reference/functionOverloads31.types b/tests/baselines/reference/functionOverloads31.types index d977d0dca6ce8..668e742d8cd5b 100644 --- a/tests/baselines/reference/functionOverloads31.types +++ b/tests/baselines/reference/functionOverloads31.types @@ -3,19 +3,19 @@ === functionOverloads31.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -25,7 +25,7 @@ var x = foo(5); >foo(5) : number > : ^^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads32.types b/tests/baselines/reference/functionOverloads32.types index 892834420182b..4f24fbdcceea4 100644 --- a/tests/baselines/reference/functionOverloads32.types +++ b/tests/baselines/reference/functionOverloads32.types @@ -3,19 +3,19 @@ === functionOverloads32.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -27,7 +27,7 @@ var baz:number; var x = foo(baz); >foo(baz) : number > : ^^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >baz : number > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloads33.types b/tests/baselines/reference/functionOverloads33.types index 6226600916598..b6383007a5b6f 100644 --- a/tests/baselines/reference/functionOverloads33.types +++ b/tests/baselines/reference/functionOverloads33.types @@ -3,18 +3,18 @@ === functionOverloads33.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:any):number; >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -24,7 +24,7 @@ var x = foo(5); >foo(5) : number > : ^^^^^^ >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads34.types b/tests/baselines/reference/functionOverloads34.types index 45d3e9f902975..a7f2868663e9a 100644 --- a/tests/baselines/reference/functionOverloads34.types +++ b/tests/baselines/reference/functionOverloads34.types @@ -3,7 +3,7 @@ === functionOverloads34.ts === function foo(bar:{a:number;}):string; >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}):string; function foo(bar:{a:boolean;}):number; >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; } > : ^^^^^ ^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}):number; function foo(bar:{a:any;}):any{ return bar } >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any > : ^^^ >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo(); >x : never @@ -33,5 +33,5 @@ var x = foo(); >foo() : never > : ^^^^^ >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads35.types b/tests/baselines/reference/functionOverloads35.types index fca25320d98c2..73e9185940b0e 100644 --- a/tests/baselines/reference/functionOverloads35.types +++ b/tests/baselines/reference/functionOverloads35.types @@ -3,7 +3,7 @@ === functionOverloads35.ts === function foo(bar:{a:number;}):number; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}):number; function foo(bar:{a:string;}):string; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,12 +19,12 @@ function foo(bar:{a:string;}):string; function foo(bar:{a:any;}):any{ return bar } >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo({a:1}); >x : number @@ -32,7 +32,7 @@ var x = foo({a:1}); >foo({a:1}) : number > : ^^^^^^ >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:1} : { a: number; } > : ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/functionOverloads36.types b/tests/baselines/reference/functionOverloads36.types index eb7fb2e1bf72d..d095cfc179719 100644 --- a/tests/baselines/reference/functionOverloads36.types +++ b/tests/baselines/reference/functionOverloads36.types @@ -3,7 +3,7 @@ === functionOverloads36.ts === function foo(bar:{a:number;}):number; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}):number; function foo(bar:{a:string;}):string; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,12 +19,12 @@ function foo(bar:{a:string;}):string; function foo(bar:{a:any;}):any{ return bar } >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo({a:'foo'}); >x : string @@ -32,7 +32,7 @@ var x = foo({a:'foo'}); >foo({a:'foo'}) : string > : ^^^^^^ >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:'foo'} : { a: string; } > : ^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/functionOverloads37.types b/tests/baselines/reference/functionOverloads37.types index 4dcb405da9ba6..14383e4d8f020 100644 --- a/tests/baselines/reference/functionOverloads37.types +++ b/tests/baselines/reference/functionOverloads37.types @@ -3,7 +3,7 @@ === functionOverloads37.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo(); >x : never @@ -33,5 +33,5 @@ var x = foo(); >foo() : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads38.types b/tests/baselines/reference/functionOverloads38.types index ca6e66d4e08d1..17c6afe84e1ac 100644 --- a/tests/baselines/reference/functionOverloads38.types +++ b/tests/baselines/reference/functionOverloads38.types @@ -3,7 +3,7 @@ === functionOverloads38.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,12 +19,12 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:1}]); >x : string @@ -32,7 +32,7 @@ var x = foo([{a:1}]); >foo([{a:1}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:1}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a:1} : { a: number; } diff --git a/tests/baselines/reference/functionOverloads39.types b/tests/baselines/reference/functionOverloads39.types index 129c3fbe5abce..2ad4b6ae687ae 100644 --- a/tests/baselines/reference/functionOverloads39.types +++ b/tests/baselines/reference/functionOverloads39.types @@ -3,7 +3,7 @@ === functionOverloads39.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,12 +19,12 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:true}]); >x : number @@ -32,7 +32,7 @@ var x = foo([{a:true}]); >foo([{a:true}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:true}] : { a: true; }[] > : ^^^^^^^^^^^^^^ >{a:true} : { a: true; } diff --git a/tests/baselines/reference/functionOverloads4.types b/tests/baselines/reference/functionOverloads4.types index a2b17318c0d99..afdc1703041e7 100644 --- a/tests/baselines/reference/functionOverloads4.types +++ b/tests/baselines/reference/functionOverloads4.types @@ -7,7 +7,7 @@ function foo():number; function foo():string { return "a" } >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/functionOverloads40.types b/tests/baselines/reference/functionOverloads40.types index 7524b2b409457..dc785e1546ac3 100644 --- a/tests/baselines/reference/functionOverloads40.types +++ b/tests/baselines/reference/functionOverloads40.types @@ -3,7 +3,7 @@ === functionOverloads40.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:'bar'}]); >x : never @@ -33,7 +33,7 @@ var x = foo([{a:'bar'}]); >foo([{a:'bar'}]) : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:'bar'}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a:'bar'} : { a: string; } diff --git a/tests/baselines/reference/functionOverloads41.types b/tests/baselines/reference/functionOverloads41.types index 7450f4479f0b3..ee03cce57399f 100644 --- a/tests/baselines/reference/functionOverloads41.types +++ b/tests/baselines/reference/functionOverloads41.types @@ -3,7 +3,7 @@ === functionOverloads41.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{}]); >x : never @@ -33,7 +33,7 @@ var x = foo([{}]); >foo([{}]) : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{}] : {}[] > : ^^^^ >{} : {} diff --git a/tests/baselines/reference/functionOverloads42.types b/tests/baselines/reference/functionOverloads42.types index c35846501937c..40b50b0778261 100644 --- a/tests/baselines/reference/functionOverloads42.types +++ b/tests/baselines/reference/functionOverloads42.types @@ -3,7 +3,7 @@ === functionOverloads42.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,19 +11,19 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:any;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:'s'}]); >x : number @@ -31,7 +31,7 @@ var x = foo([{a:'s'}]); >foo([{a:'s'}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:'s'}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a:'s'} : { a: string; } diff --git a/tests/baselines/reference/functionOverloads43.types b/tests/baselines/reference/functionOverloads43.types index 63953373509d3..9adb503f5b905 100644 --- a/tests/baselines/reference/functionOverloads43.types +++ b/tests/baselines/reference/functionOverloads43.types @@ -3,7 +3,7 @@ === functionOverloads43.ts === function foo(bar: { a:number }[]): number; >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar: { a:number }[]): number; function foo(bar: { a:string }[]): string; >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -19,21 +19,21 @@ function foo(bar: { a:string }[]): string; function foo([x]: { a:number | string }[]): string | number { >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ if (x) { ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ return x.a; >x.a : string | number > : ^^^^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ } @@ -49,7 +49,7 @@ var x = foo([{a: "str"}]); >foo([{a: "str"}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -65,7 +65,7 @@ var y = foo([{a: 100}]); >foo([{a: 100}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } diff --git a/tests/baselines/reference/functionOverloads44.types b/tests/baselines/reference/functionOverloads44.types index 7a4df4f7d3c84..331024b7615cf 100644 --- a/tests/baselines/reference/functionOverloads44.types +++ b/tests/baselines/reference/functionOverloads44.types @@ -12,7 +12,7 @@ interface Cat extends Animal { cat } function foo1(bar: { a:number }[]): Dog; >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -20,7 +20,7 @@ function foo1(bar: { a:number }[]): Dog; function foo1(bar: { a:string }[]): Animal; >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -28,9 +28,9 @@ function foo1(bar: { a:string }[]): Animal; function foo1([x]: { a:number | string }[]): Dog { >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -40,8 +40,8 @@ function foo1([x]: { a:number | string }[]): Dog { } function foo2(bar: { a:number }[]): Cat; ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -49,17 +49,17 @@ function foo2(bar: { a:number }[]): Cat; function foo2(bar: { a:string }[]): Cat | Dog; >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string > : ^^^^^^ function foo2([x]: { a:number | string }[]): Cat { ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -75,7 +75,7 @@ var x1 = foo1([{a: "str"}]); >foo1([{a: "str"}]) : Animal > : ^^^^^^ >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -91,7 +91,7 @@ var y1 = foo1([{a: 100}]); >foo1([{a: 100}]) : Dog > : ^^^ >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } @@ -106,8 +106,8 @@ var x2 = foo2([{a: "str"}]); > : ^^^^^^^^^ >foo2([{a: "str"}]) : Dog | Cat > : ^^^^^^^^^ ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -122,8 +122,8 @@ var y2 = foo2([{a: 100}]); > : ^^^ >foo2([{a: 100}]) : Cat > : ^^^ ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } diff --git a/tests/baselines/reference/functionOverloads45.types b/tests/baselines/reference/functionOverloads45.types index 111e301f530cf..67b493dafdf64 100644 --- a/tests/baselines/reference/functionOverloads45.types +++ b/tests/baselines/reference/functionOverloads45.types @@ -12,7 +12,7 @@ interface Cat extends Animal { cat } function foo1(bar: { a:number }[]): Cat; >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -20,7 +20,7 @@ function foo1(bar: { a:number }[]): Cat; function foo1(bar: { a:string }[]): Dog; >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -28,9 +28,9 @@ function foo1(bar: { a:string }[]): Dog; function foo1([x]: { a:number | string }[]): Animal { >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -41,7 +41,7 @@ function foo1([x]: { a:number | string }[]): Animal { function foo2(bar: { a:number }[]): Cat; >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -49,7 +49,7 @@ function foo2(bar: { a:number }[]): Cat; function foo2(bar: { a:string }[]): Dog; >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -57,9 +57,9 @@ function foo2(bar: { a:string }[]): Dog; function foo2([x]: { a:number | string }[]): Cat | Dog { >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -75,7 +75,7 @@ var x1 = foo1([{a: "str"}]); >foo1([{a: "str"}]) : Dog > : ^^^ >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -91,7 +91,7 @@ var y1 = foo1([{a: 100}]); >foo1([{a: 100}]) : Cat > : ^^^ >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } @@ -107,7 +107,7 @@ var x2 = foo2([{a: "str"}]); >foo2([{a: "str"}]) : Dog > : ^^^ >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -123,7 +123,7 @@ var y2 = foo2([{a: 100}]); >foo2([{a: 100}]) : Cat > : ^^^ >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity1.types b/tests/baselines/reference/functionOverloadsOnGenericArity1.types index 8b52f26c2424a..d74b906718ffb 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity1.types +++ b/tests/baselines/reference/functionOverloadsOnGenericArity1.types @@ -5,11 +5,11 @@ interface C { f(): string; >f : { (): string; (): string; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ f(): string; >f : { (): string; (): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ (): string; (): string; diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity2.types b/tests/baselines/reference/functionOverloadsOnGenericArity2.types index ef8b4b6b58ffa..9d62bcaa02596 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity2.types +++ b/tests/baselines/reference/functionOverloadsOnGenericArity2.types @@ -4,19 +4,19 @@ interface I { then(p: string): string; >then : { (p: string): string; (p: string): string; (p: string): Date; } -> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ then(p: string): string; >then : { (p: string): string; (p: string): string; (p: string): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ then(p: string): Date; >then : { (p: string): string; (p: string): string; (p: string): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ } diff --git a/tests/baselines/reference/functionOverloadsOutOfOrder.types b/tests/baselines/reference/functionOverloadsOutOfOrder.types index d882d23afbec0..ff0e1cac17200 100644 --- a/tests/baselines/reference/functionOverloadsOutOfOrder.types +++ b/tests/baselines/reference/functionOverloadsOutOfOrder.types @@ -7,13 +7,13 @@ class d { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any > : ^^^ @@ -29,7 +29,7 @@ class d { } private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ } @@ -40,7 +40,7 @@ class e { private foo(ns: any) { >foo : { (ns: any): any; (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any > : ^^^ @@ -56,13 +56,13 @@ class e { } private foo(s: string): string; >foo : { (ns: any): any; (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(n: number): string; >foo : { (ns: any): any; (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ } diff --git a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types index 0b7a3443c61e0..b28b6c84b3803 100644 --- a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types +++ b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types @@ -21,19 +21,19 @@ class A{ function Choice(args: T[]): A; >Choice : { (args: T[]): A; (...v_args: T_1[]): A; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >args : T[] > : ^^^ function Choice(...v_args: T[]): A; >Choice : { (args: T_1[]): A; (...v_args: T[]): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >v_args : T[] > : ^^^ function Choice(...v_args: any[]): A{ >Choice : { (args: T_1[]): A; (...v_args: T_1[]): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >v_args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/functionReturn.types b/tests/baselines/reference/functionReturn.types index 263b769a52b01..0d120b9bcb029 100644 --- a/tests/baselines/reference/functionReturn.types +++ b/tests/baselines/reference/functionReturn.types @@ -14,7 +14,7 @@ function f1() { >f0() : void > : ^^^^ >f0 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } function f2(): any { } >f2 : () => any diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.types b/tests/baselines/reference/functionSignatureAssignmentCompat1.types index 6370a9b42734c..aa105d377e866 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.types +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.types @@ -37,11 +37,11 @@ var d: ParserFunc = parsers.readline; // not ok >d : ParserFunc > : ^^^^^^^^^^ >parsers.readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >parsers : Parsers > : ^^^^^^^ >readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var e: ParserFunc = parsers.readline(); // ok >e : ParserFunc @@ -49,9 +49,9 @@ var e: ParserFunc = parsers.readline(); // ok >parsers.readline() : ParserFunc > : ^^^^^^^^^^ >parsers.readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >parsers : Parsers > : ^^^^^^^ >readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.types b/tests/baselines/reference/functionSubtypingOfVarArgs.types index 58aa0ecb6fc3c..4c55b96b564d9 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.types @@ -23,7 +23,7 @@ class EventBase { >this._listeners.push(listener) : number > : ^^^^^^ >this._listeners.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this._listeners : any[] > : ^^^^^ >this : this @@ -31,9 +31,9 @@ class EventBase { >_listeners : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >listener : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } } @@ -55,13 +55,13 @@ class StringEvent extends EventBase { // should work >super.add(listener) : void > : ^^^^ >super.add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : EventBase > : ^^^^^^^^^ >add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >listener : (items: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.types b/tests/baselines/reference/functionSubtypingOfVarArgs2.types index 6fd3355594f89..189b76cc3370d 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.types @@ -25,17 +25,17 @@ class EventBase { >this._listeners.push(listener) : number > : ^^^^^^ >this._listeners.push : (...items: ((...args: any[]) => void)[]) => number -> : ^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >this._listeners : ((...args: any[]) => void)[] -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^ >this : this > : ^^^^ >_listeners : ((...args: any[]) => void)[] -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^ >push : (...items: ((...args: any[]) => void)[]) => number -> : ^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >listener : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } } @@ -59,13 +59,13 @@ class StringEvent extends EventBase { >super.add(listener) : void > : ^^^^ >super.add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : EventBase > : ^^^^^^^^^ >add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >listener : (items: string, moreitems: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/functionToFunctionWithPropError.types b/tests/baselines/reference/functionToFunctionWithPropError.types index 023a8d5106b62..c21fa56cd251f 100644 --- a/tests/baselines/reference/functionToFunctionWithPropError.types +++ b/tests/baselines/reference/functionToFunctionWithPropError.types @@ -13,17 +13,17 @@ declare let y: { (): string; } x = y; >x = y : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : { (): string; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ >y : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ y = x; >y = x : { (): string; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ >y : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : { (): string; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/functionType.types b/tests/baselines/reference/functionType.types index 8d54a83bca1a6..7f85509b5c611 100644 --- a/tests/baselines/reference/functionType.types +++ b/tests/baselines/reference/functionType.types @@ -8,11 +8,11 @@ function salt() {} salt.apply("hello", []); >salt.apply("hello", []) : any >salt.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >salt : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/functionTypeArgumentArityErrors.types b/tests/baselines/reference/functionTypeArgumentArityErrors.types index 9327bb043795c..fa52a07fb5d95 100644 --- a/tests/baselines/reference/functionTypeArgumentArityErrors.types +++ b/tests/baselines/reference/functionTypeArgumentArityErrors.types @@ -4,53 +4,53 @@ // Overloaded functions with default type arguments declare function f1(): void; >f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ declare function f1(): void; >f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ f1(); >f1() : void > : ^^^^ >f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ f1(); >f1() : void > : ^^^^ >f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ // Overloaded functions with no default type arguments declare function f2(): void; >f2 : { (): void; (): void; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ declare function f2(): void; >f2 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ f2(); >f2() : void > : ^^^^ >f2 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ f2(); >f2() : void > : ^^^^ >f2 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ // Overloaded non-generic functions declare function f3(): void; >f3 : { (): void; (a: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ declare function f3(a): void; >f3 : { (): void; (a: any): void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ @@ -58,7 +58,7 @@ f3(); >f3() : void > : ^^^^ >f3 : { (): void; (a: any): void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ // Generic function with default type parameters declare function f4(): void; @@ -69,13 +69,13 @@ f4(); >f4() : void > : ^^^^ >f4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ f4(); >f4() : void > : ^^^^ >f4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ // Generic function with no default type arguments declare function f5(): void; @@ -86,11 +86,11 @@ f5(); >f5() : void > : ^^^^ >f5 : () => void -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ f5(); >f5() : void > : ^^^^ >f5 : () => void -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types b/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types index 6f4dd22eda06e..960baedc5fe05 100644 --- a/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types +++ b/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types @@ -23,11 +23,11 @@ var g : { f = g; >f = g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ var s = f("str").toUpperCase(); >s : string @@ -35,25 +35,25 @@ var s = f("str").toUpperCase(); >f("str").toUpperCase() : string > : ^^^^^^ >f("str").toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f("str") : "str" > : ^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"str" : "str" > : ^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ console.log(s); >console.log(s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types index b525c610746b5..6965135a77141 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types @@ -3,25 +3,25 @@ === functionWithDefaultParameterWithNoStatements9.ts === function foo(a = console.log) { } >foo : (a?: (...data: any[]) => void) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ function bar(a = console.log) { >bar : (a?: (...data: any[]) => void) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.types b/tests/baselines/reference/functionWithMultipleReturnStatements2.types index ab4c4708f6bed..a6c3495ae7a5d 100644 --- a/tests/baselines/reference/functionWithMultipleReturnStatements2.types +++ b/tests/baselines/reference/functionWithMultipleReturnStatements2.types @@ -129,7 +129,7 @@ var b: { x: number; z?: number }; // returns typeof a function f9() { >f9 : () => { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ if (true) { >true : true @@ -137,19 +137,19 @@ function f9() { return a; >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } else { return b; >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } } // returns typeof b function f10() { >f10 : () => { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ if (true) { >true : true @@ -157,12 +157,12 @@ function f10() { return b; >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } else { return a; >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } } diff --git a/tests/baselines/reference/functionWithNoBestCommonType1.types b/tests/baselines/reference/functionWithNoBestCommonType1.types index ecb4114f38787..eca6f4c1cece6 100644 --- a/tests/baselines/reference/functionWithNoBestCommonType1.types +++ b/tests/baselines/reference/functionWithNoBestCommonType1.types @@ -13,7 +13,7 @@ function foo() { >bar() : void > : ^^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } function bar(): void { diff --git a/tests/baselines/reference/functionWithNoBestCommonType2.types b/tests/baselines/reference/functionWithNoBestCommonType2.types index f7256855d9c20..fca5cc68f2dfc 100644 --- a/tests/baselines/reference/functionWithNoBestCommonType2.types +++ b/tests/baselines/reference/functionWithNoBestCommonType2.types @@ -15,7 +15,7 @@ var v = function () { >bar() : void > : ^^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ }; diff --git a/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types b/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types index 21b842aca6f2e..19093273330df 100644 --- a/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types +++ b/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types @@ -82,7 +82,7 @@ f(() => { }); >f(() => { }) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { } : () => undefined > : ^^^^^^^^^^^^^^^ @@ -90,7 +90,7 @@ f((): undefined => { }); >f((): undefined => { }) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(): undefined => { } : () => undefined > : ^^^^^^ @@ -115,7 +115,7 @@ f(h1); // Error >f(h1) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >h1 : () => void > : ^^^^^^^^^^ @@ -128,7 +128,7 @@ f(h2); >f(h2) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >h2 : () => undefined -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types index fe02509640618..d16181ed998f6 100644 --- a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types +++ b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types @@ -11,11 +11,11 @@ function f1(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -38,11 +38,11 @@ function f2(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -75,11 +75,11 @@ function f5(): {} { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{} : {} @@ -98,11 +98,11 @@ function f6(): Record { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{ "foo": true } : { foo: boolean; } @@ -126,11 +126,11 @@ function f7(): null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -147,11 +147,11 @@ function f8(): string | null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"foo" : "foo" diff --git a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types index fe02509640618..d16181ed998f6 100644 --- a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types +++ b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types @@ -11,11 +11,11 @@ function f1(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -38,11 +38,11 @@ function f2(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -75,11 +75,11 @@ function f5(): {} { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{} : {} @@ -98,11 +98,11 @@ function f6(): Record { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{ "foo": true } : { foo: boolean; } @@ -126,11 +126,11 @@ function f7(): null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -147,11 +147,11 @@ function f8(): string | null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"foo" : "foo" diff --git a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types index 912f638064314..a60bb4b8be909 100644 --- a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types +++ b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types @@ -36,9 +36,9 @@ function promiseWithCancellation(promise: Q.Promise) { >Q.defer() : string > : ^^^^^^ >Q.defer : () => string -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ >Q : typeof Q > : ^^^^^^^^ >defer : () => string -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/generatedContextualTyping.types b/tests/baselines/reference/generatedContextualTyping.types index 00ad353592397..fa9cd404a47c7 100644 --- a/tests/baselines/reference/generatedContextualTyping.types +++ b/tests/baselines/reference/generatedContextualTyping.types @@ -3409,7 +3409,7 @@ var x225: () => Base[]; x225 = () => [d1, d2]; >x225 = () => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x225 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3425,7 +3425,7 @@ var x226: () => Base[]; x226 = function() { return [d1, d2] }; >x226 = function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x226 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3441,7 +3441,7 @@ var x227: () => Base[]; x227 = function named() { return [d1, d2] }; >x227 = function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x227 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -3459,7 +3459,7 @@ var x228: { (): Base[]; }; x228 = () => [d1, d2]; >x228 = () => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x228 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3475,7 +3475,7 @@ var x229: { (): Base[]; }; x229 = function() { return [d1, d2] }; >x229 = function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x229 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3491,7 +3491,7 @@ var x230: { (): Base[]; }; x230 = function named() { return [d1, d2] }; >x230 = function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x230 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -3555,7 +3555,7 @@ var x234: {n: Base[]; } ; x234 = { n: [d1, d2] }; >x234 = { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x234 : { n: Base[]; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : (Derived1 | Derived2)[] @@ -3575,7 +3575,7 @@ var x235: (s: Base[]) => any; x235 = n => { var n: Base[]; return null; }; >x235 = n => { var n: Base[]; return null; } : (n: Base[]) => any > : ^ ^^ ^^^^^^^^ >x235 : (s: Base[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >n => { var n: Base[]; return null; } : (n: Base[]) => any > : ^ ^^ ^^^^^^^^ >n : Base[] @@ -5385,9 +5385,9 @@ var x333 = (n: () => Base[]) => n; x333(() => [d1, d2]); >n : () => Base[] > : ^^^^^^ >x333(() => [d1, d2]) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x333 : (n: () => Base[]) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5407,9 +5407,9 @@ var x334 = (n: () => Base[]) => n; x334(function() { return [d1, d2] }); >n : () => Base[] > : ^^^^^^ >x334(function() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x334 : (n: () => Base[]) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5429,9 +5429,9 @@ var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] }); >n : () => Base[] > : ^^^^^^ >x335(function named() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x335 : (n: () => Base[]) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -5453,9 +5453,9 @@ var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]); >n : () => Base[] > : ^^^^^^ >x336(() => [d1, d2]) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x336 : (n: { (): Base[]; }) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5475,9 +5475,9 @@ var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] }); >n : () => Base[] > : ^^^^^^ >x337(function() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x337 : (n: { (): Base[]; }) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5497,9 +5497,9 @@ var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] }) >n : () => Base[] > : ^^^^^^ >x338(function named() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x338 : (n: { (): Base[]; }) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -5585,9 +5585,9 @@ var x342 = (n: {n: Base[]; } ) => n; x342({ n: [d1, d2] }); >n : { n: Base[]; } > : ^^^^^ ^^^ >x342({ n: [d1, d2] }) : { n: Base[]; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x342 : (n: { n: Base[]; }) => { n: Base[]; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : (Derived1 | Derived2)[] @@ -5611,9 +5611,9 @@ var x343 = (n: (s: Base[]) => any) => n; x343(n => { var n: Base[]; return null; >n : (s: Base[]) => any > : ^ ^^ ^^^^^ >x343(n => { var n: Base[]; return null; }) : (s: Base[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x343 : (n: (s: Base[]) => any) => (s: Base[]) => any -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >n => { var n: Base[]; return null; } : (n: Base[]) => any > : ^ ^^ ^^^^^^^^ >n : Base[] diff --git a/tests/baselines/reference/generatorImplicitAny.types b/tests/baselines/reference/generatorImplicitAny.types index cda3e6288929b..1a668f43fa2bc 100644 --- a/tests/baselines/reference/generatorImplicitAny.types +++ b/tests/baselines/reference/generatorImplicitAny.types @@ -54,7 +54,7 @@ function* g4() { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ noop(), yield, noop(); // ok, result is unused >noop(), yield, noop() : void @@ -64,13 +64,13 @@ function* g4() { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >yield : any > : ^^^ >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ (yield); // ok, result is unused >(yield) : any @@ -90,11 +90,11 @@ function* g4() { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ for(yield; false; yield); // ok, results are unused >yield : any @@ -121,7 +121,7 @@ function* g5() { >f(yield) : void > : ^^^^ >f : (value: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield : any > : ^^^ } @@ -134,7 +134,7 @@ function* g6() { >f(yield) : void > : ^^^^ >f : (value: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield : any > : ^^^ } diff --git a/tests/baselines/reference/generatorNoImplicitReturns.types b/tests/baselines/reference/generatorNoImplicitReturns.types index b80ae4f67071d..371b996318cb9 100644 --- a/tests/baselines/reference/generatorNoImplicitReturns.types +++ b/tests/baselines/reference/generatorNoImplicitReturns.types @@ -12,11 +12,11 @@ function* testGenerator () { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/generatorOverloads1.types b/tests/baselines/reference/generatorOverloads1.types index 53424034cc980..735fbe0553252 100644 --- a/tests/baselines/reference/generatorOverloads1.types +++ b/tests/baselines/reference/generatorOverloads1.types @@ -7,19 +7,19 @@ module M { function* f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function* f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function* f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any > : ^^^ } diff --git a/tests/baselines/reference/generatorOverloads2.types b/tests/baselines/reference/generatorOverloads2.types index ec742d99535b2..a236c51e479cb 100644 --- a/tests/baselines/reference/generatorOverloads2.types +++ b/tests/baselines/reference/generatorOverloads2.types @@ -7,19 +7,19 @@ declare module M { function* f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; (s: any): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function* f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; (s: any): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function* f(s: any): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; (s: any): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any > : ^^^ } diff --git a/tests/baselines/reference/generatorOverloads3.types b/tests/baselines/reference/generatorOverloads3.types index 378d8b854ffd8..5e4bacbf0147f 100644 --- a/tests/baselines/reference/generatorOverloads3.types +++ b/tests/baselines/reference/generatorOverloads3.types @@ -7,19 +7,19 @@ class C { *f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ *f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ *f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any > : ^^^ } diff --git a/tests/baselines/reference/generatorOverloads4.types b/tests/baselines/reference/generatorOverloads4.types index 4fc2e3ce36f38..987be480d051b 100644 --- a/tests/baselines/reference/generatorOverloads4.types +++ b/tests/baselines/reference/generatorOverloads4.types @@ -7,18 +7,18 @@ class C { f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ *f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any } diff --git a/tests/baselines/reference/generatorOverloads5.types b/tests/baselines/reference/generatorOverloads5.types index 3d68a9d44b0d6..c8216bc974e14 100644 --- a/tests/baselines/reference/generatorOverloads5.types +++ b/tests/baselines/reference/generatorOverloads5.types @@ -7,18 +7,18 @@ module M { function f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function* f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any } diff --git a/tests/baselines/reference/generatorReturnContextualType.types b/tests/baselines/reference/generatorReturnContextualType.types index 2ff73268a3792..392d859ed65b0 100644 --- a/tests/baselines/reference/generatorReturnContextualType.types +++ b/tests/baselines/reference/generatorReturnContextualType.types @@ -73,11 +73,11 @@ async function* f3(): AsyncGenerator { >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> > : ^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ x: 'x' } : { x: "x"; } > : ^^^^^^^^^^^ >x : "x" @@ -96,11 +96,11 @@ async function* g3(): AsyncIterator { >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> > : ^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ x: 'x' } : { x: "x"; } > : ^^^^^^^^^^^ >x : "x" @@ -129,11 +129,11 @@ async function* f4(): AsyncGenerator { >Promise.resolve(ret) : Promise<{ x: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >ret : { x: string; } > : ^^^^^^^^^^^^^^ } @@ -158,11 +158,11 @@ async function* g4(): AsyncIterator { >Promise.resolve(ret) : Promise<{ x: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >ret : { x: string; } > : ^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/generatorReturnTypeInference.types b/tests/baselines/reference/generatorReturnTypeInference.types index fd2d5f7605ec1..a56a6c9a3df14 100644 --- a/tests/baselines/reference/generatorReturnTypeInference.types +++ b/tests/baselines/reference/generatorReturnTypeInference.types @@ -120,11 +120,11 @@ function* g103() { // Generator >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -179,13 +179,13 @@ function* g202() { // Generator<1 | 2, void, never> declare function f1(x: string): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function f1(x: number): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -199,7 +199,7 @@ function* g203() { // Generator >f1(yield 1) : void > : ^^^^ >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -222,7 +222,7 @@ function* g204() { // Generator >f2(yield 1) : any > : ^^^ >f2 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -291,11 +291,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -311,11 +311,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types index c25395cf7f031..81e3e7bac2cb9 100644 --- a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types +++ b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types @@ -122,11 +122,11 @@ function* g103() { // Generator >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -181,13 +181,13 @@ function* g202() { // Generator<1 | 2, void, never> declare function f1(x: string): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function f1(x: number): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -201,7 +201,7 @@ function* g203() { // Generator >f1(yield 1) : void > : ^^^^ >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -224,7 +224,7 @@ function* g204() { // Generator >f2(yield 1) : any > : ^^^ >f2 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -293,11 +293,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -313,11 +313,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/generatorTypeCheck45.types b/tests/baselines/reference/generatorTypeCheck45.types index 47d1ae33884eb..d8577d007c9f7 100644 --- a/tests/baselines/reference/generatorTypeCheck45.types +++ b/tests/baselines/reference/generatorTypeCheck45.types @@ -19,7 +19,7 @@ foo("", function* () { yield x => x.length }, p => undefined); // T is fixed, sh >foo("", function* () { yield x => x.length }, p => undefined) : string > : ^^^^^^ >foo : (x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >function* () { yield x => x.length } : () => Generator<(x: string) => number, void, undefined> diff --git a/tests/baselines/reference/generatorTypeCheck46.types b/tests/baselines/reference/generatorTypeCheck46.types index cc4525d4915ba..681fe2cb930c8 100644 --- a/tests/baselines/reference/generatorTypeCheck46.types +++ b/tests/baselines/reference/generatorTypeCheck46.types @@ -19,7 +19,7 @@ foo("", function* () { >foo("", function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }}, p => undefined) : string > : ^^^^^^ >foo : (x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }} : () => Generator<(x: string) => number, void, undefined> diff --git a/tests/baselines/reference/generatorTypeCheck62.types b/tests/baselines/reference/generatorTypeCheck62.types index d21203690cb30..5513f11c30875 100644 --- a/tests/baselines/reference/generatorTypeCheck62.types +++ b/tests/baselines/reference/generatorTypeCheck62.types @@ -30,8 +30,8 @@ export function strategy(stratName: string, gen: (a: T > : ^ >gen(state) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >state : T > : ^ @@ -75,10 +75,10 @@ export interface State extends StrategicState { export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { >Nothing1 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function*(state: State) { return state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function*(state: State) { return state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function*(state: State) { return state;} : (state: State) => Generator @@ -95,10 +95,10 @@ export const Nothing1: Strategy = strategy("Nothing", function*(state: St export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { >Nothing2 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function*(state: State) { yield state;} : (state: State) => Generator @@ -117,10 +117,10 @@ export const Nothing2: Strategy = strategy("Nothing", function*(state: St export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield ; return state;}) : (a: any) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { yield ; return state;}) : (a: any) => IterableIterator +> : ^ ^^^^^^^^^^ ^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { yield ; return state;} : (state: State) => Generator diff --git a/tests/baselines/reference/generatorTypeCheck63.types b/tests/baselines/reference/generatorTypeCheck63.types index d9947b3ec7e21..fb2f3c8c49a07 100644 --- a/tests/baselines/reference/generatorTypeCheck63.types +++ b/tests/baselines/reference/generatorTypeCheck63.types @@ -30,8 +30,8 @@ export function strategy(stratName: string, gen: (a: T > : ^ >gen(state) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >state : T > : ^ @@ -75,10 +75,10 @@ export interface State extends StrategicState { export const Nothing: Strategy = strategy("Nothing", function* (state: State) { >Nothing : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield 1; return state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { yield 1; return state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { yield 1; return state;} : (state: State) => Generator @@ -101,10 +101,10 @@ export const Nothing: Strategy = strategy("Nothing", function* (state: St export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { >Nothing1 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) {} : (state: State) => Generator @@ -117,10 +117,10 @@ export const Nothing1: Strategy = strategy("Nothing", function* (state: S export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { >Nothing2 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { return 1;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { return 1;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { return 1;} : (state: State) => Generator @@ -137,10 +137,10 @@ export const Nothing2: Strategy = strategy("Nothing", function* (state: S export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield state; return 1;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { yield state; return 1;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { yield state; return 1;} : (state: State) => Generator diff --git a/tests/baselines/reference/generatorYieldContextualType.types b/tests/baselines/reference/generatorYieldContextualType.types index 6160c3ef14145..70ee0b52e5cf8 100644 --- a/tests/baselines/reference/generatorYieldContextualType.types +++ b/tests/baselines/reference/generatorYieldContextualType.types @@ -11,7 +11,7 @@ f1<0, 0, 1>(function* () { >f1<0, 0, 1>(function* () { const a = yield 0; return 0;}) : void > : ^^^^ >f1 : (gen: () => Generator) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >function* () { const a = yield 0; return 0;} : () => Generator<0, 0, 1> > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ f2<0, 0, 1>(async function* () { >f2<0, 0, 1>(async function* () { const a = yield 0; return 0;}) : void > : ^^^^ >f2 : (gen: () => Generator | AsyncGenerator) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >async function* () { const a = yield 0; return 0;} : () => AsyncGenerator<0, 0, 1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -319,7 +319,7 @@ function* showStep< >createPickStep({ title: "", placeholder: "", }) : QuickPickStep > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createPickStep : (step: QuickPickStep) => QuickPickStep -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ title: "", placeholder: "", } : { title: string; placeholder: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -351,7 +351,7 @@ function* showStep< >canPickStepContinue(step, state, selection) : boolean > : ^^^^^^^ >canPickStepContinue : (_step: T, _state: PartialStepState, _selection: StepItemType | Directive) => _selection is StepItemType -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >step : QuickPickStep > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index 88e376bdc4688..5628d1aacf8d2 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -43,11 +43,11 @@ _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean > : ^^^^^^^ >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true, 1, null, 'yes'] : (string | number | true)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -57,30 +57,30 @@ _.all([true, 1, null, 'yes'], _.identity); >'yes' : "yes" > : ^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // Ok, because fixing makes us infer boolean for T _.all([true], _.identity); >_.all([true], _.identity) : boolean > : ^^^^^^^ >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true] : true[] > : ^^^^^^ >true : true > : ^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericArray1.types b/tests/baselines/reference/genericArray1.types index 94789af8786ce..f85b02628ee2e 100644 --- a/tests/baselines/reference/genericArray1.types +++ b/tests/baselines/reference/genericArray1.types @@ -19,7 +19,7 @@ var lengths = ["a", "b", "c"].map(x => x.length); >["a", "b", "c"].map(x => x.length) : number[] > : ^^^^^^^^ >["a", "b", "c"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b", "c"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -29,7 +29,7 @@ var lengths = ["a", "b", "c"].map(x => x.length); >"c" : "c" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/genericArrayExtenstions.types b/tests/baselines/reference/genericArrayExtenstions.types index e9db5490710e8..fcd3c86757c0a 100644 --- a/tests/baselines/reference/genericArrayExtenstions.types +++ b/tests/baselines/reference/genericArrayExtenstions.types @@ -7,13 +7,13 @@ export declare class ObservableArray implements Array { // MS.Entertainmen concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : U[] > : ^^^ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ } diff --git a/tests/baselines/reference/genericArrayMethods1.types b/tests/baselines/reference/genericArrayMethods1.types index d8f30c0cd4e4b..0921c33834f00 100644 --- a/tests/baselines/reference/genericArrayMethods1.types +++ b/tests/baselines/reference/genericArrayMethods1.types @@ -7,7 +7,7 @@ var x:string[] = [0,1].slice(0); // this should be an error >[0,1].slice(0) : number[] > : ^^^^^^^^ >[0,1].slice : (start?: number, end?: number) => number[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >[0,1] : number[] > : ^^^^^^^^ >0 : 0 @@ -15,7 +15,7 @@ var x:string[] = [0,1].slice(0); // this should be an error >1 : 1 > : ^ >slice : (start?: number, end?: number) => number[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/genericArrayPropertyAssignment.types b/tests/baselines/reference/genericArrayPropertyAssignment.types index d66d019023c81..888289b4cc0b1 100644 --- a/tests/baselines/reference/genericArrayPropertyAssignment.types +++ b/tests/baselines/reference/genericArrayPropertyAssignment.types @@ -15,7 +15,7 @@ return list.length ===0; >list.length : number > : ^^^^^^ >list : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types b/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types index 05b6d0617f3db..f93262e5408c8 100644 --- a/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types +++ b/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types @@ -41,7 +41,7 @@ function withP2

    (p: P) { >createTransform(m) : (from: I) => I & P > : ^^^^ ^^^^^^^^^^^^^ >createTransform : (tr: (from: I) => O) => (from: I) => O -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >m : (from: I) => I & P > : ^ ^^ ^^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/genericCallSpecializedToTypeArg.types b/tests/baselines/reference/genericCallSpecializedToTypeArg.types index 71eb704c8efa3..d483dae1a82bb 100644 --- a/tests/baselines/reference/genericCallSpecializedToTypeArg.types +++ b/tests/baselines/reference/genericCallSpecializedToTypeArg.types @@ -23,7 +23,7 @@ function dupeAndGetDist(x: U): U { >dupe(x) : U > : ^ >dupe : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : U > : ^ diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types index 2f38d1f011d7b..2d031b1695cf2 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types @@ -31,13 +31,13 @@ module m1 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >testFunction : (n: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } ////////////////////////////////////// @@ -58,13 +58,13 @@ module m2 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -78,13 +78,13 @@ module m2 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } ////////////////////////////////////// @@ -96,7 +96,7 @@ module m3 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -104,7 +104,7 @@ module m3 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -131,13 +131,13 @@ module m3 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >testFunction : (n: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } ////////////////////////////////////// @@ -149,7 +149,7 @@ module m4 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -157,7 +157,7 @@ module m4 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -170,13 +170,13 @@ module m4 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -190,13 +190,13 @@ module m4 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } ////////////////////////////////////// @@ -208,7 +208,7 @@ module m5 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_1, progress?: (preservation: any) => void): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -216,7 +216,7 @@ module m5 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_1, progress?: (preservation: any) => void): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -228,7 +228,7 @@ module m5 { then(cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -245,13 +245,13 @@ module m5 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -265,13 +265,13 @@ module m5 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } ////////////////////////////////////// @@ -283,7 +283,7 @@ module m6 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -291,7 +291,7 @@ module m6 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -304,19 +304,19 @@ module m6 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ declare function testFunction(b: boolean): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -330,12 +330,12 @@ module m6 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^^ >numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallTypeArgumentInference.types b/tests/baselines/reference/genericCallTypeArgumentInference.types index 5a61f9561ff99..47119b2fd49cf 100644 --- a/tests/baselines/reference/genericCallTypeArgumentInference.types +++ b/tests/baselines/reference/genericCallTypeArgumentInference.types @@ -458,11 +458,11 @@ var r8 = i.foo5(true, 1); // boolean >i.foo5(true, 1) : true > : ^^^^ >i.foo5 : (t: T, u: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ >1 : 1 @@ -474,11 +474,11 @@ var r9 = i.foo6(); // {} >i.foo6() : unknown > : ^^^^^^^ >i.foo6 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo6 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ var r10 = i.foo7(''); // {} >r10 : unknown @@ -486,11 +486,11 @@ var r10 = i.foo7(''); // {} >i.foo7('') : unknown > : ^^^^^^^ >i.foo7 : (u: U) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo7 : (u: U) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ @@ -500,9 +500,9 @@ var r11 = i.foo8(); // {} >i.foo8() : unknown > : ^^^^^^^ >i.foo8 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo8 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types index 7f84976691310..da2bbf9d789e4 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types @@ -527,11 +527,11 @@ var r8 = i.foo5(d1, d2); // Derived >i.foo5(d1, d2) : Derived > : ^^^^^^^ >i.foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d1 : Derived > : ^^^^^^^ >d2 : Derived2 @@ -543,11 +543,11 @@ var r8b = i.foo5(d2, d2); // Derived2 >i.foo5(d2, d2) : Derived2 > : ^^^^^^^^ >i.foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d2 : Derived2 > : ^^^^^^^^ >d2 : Derived2 @@ -559,11 +559,11 @@ var r9 = i.foo6(); // Derived >i.foo6() : Derived > : ^^^^^^^ >i.foo6 : () => T -> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo6 : () => T -> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ var r10 = i.foo7(d1); // Base >r10 : Base @@ -571,11 +571,11 @@ var r10 = i.foo7(d1); // Base >i.foo7(d1) : Base > : ^^^^ >i.foo7 : (u: U) => T -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo7 : (u: U) => T -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >d1 : Derived > : ^^^^^^^ @@ -585,9 +585,9 @@ var r11 = i.foo8(); // Base >i.foo8() : Base > : ^^^^ >i.foo8 : () => T -> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo8 : () => T -> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types index 0657114746617..2220e844528eb 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types @@ -17,11 +17,11 @@ function foo(arg: { cb: new(t: T) => U }) { >new arg.cb(null) : U > : ^ >arg.cb : new (t: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >arg : { cb: new (t: T) => U; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : new (t: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ } var arg: { cb: new(x: T) => string }; @@ -40,7 +40,7 @@ var r = foo(arg); // {} >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg : { cb: new (x: T) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ // more args not allowed var arg2: { cb: new (x: T, y: T) => string }; @@ -61,7 +61,7 @@ var r2 = foo(arg2); // error >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg2 : { cb: new (x: T, y: T) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var arg3: { cb: new (x: string, y: number) => string }; >arg3 : { cb: new (x: string, y: number) => string; } @@ -81,7 +81,7 @@ var r3 = foo(arg3); // error >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg3 : { cb: new (x: string, y: number) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ function foo2(arg: { cb: new(t: T, t2: T) => U }) { >foo2 : (arg: { cb: new (t: T, t2: T) => U; }) => U @@ -99,11 +99,11 @@ function foo2(arg: { cb: new(t: T, t2: T) => U }) { >new arg.cb(null, null) : U > : ^ >arg.cb : new (t: T, t2: T) => U -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >arg : { cb: new (t: T, t2: T) => U; } -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : new (t: T, t2: T) => U -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ } // fewer args ok @@ -115,7 +115,7 @@ var r4 = foo(arg); // {} >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg : { cb: new (x: T) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var arg4: { cb: new (x: string) => string }; >arg4 : { cb: new (x: string) => string; } @@ -133,7 +133,7 @@ var r6 = foo(arg4); // string >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg4 : { cb: new (x: string) => string; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var arg5: { cb: new () => string }; >arg5 : { cb: new () => string; } @@ -149,5 +149,5 @@ var r7 = foo(arg5); // string >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg5 : { cb: new () => string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types index f2c8e9a0c38dd..351f95b2e325f 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types @@ -16,7 +16,7 @@ function foo(x: (a: T) => T) { >x(null) : T > : ^ >x : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r = foo((x: U) => ''); // {} @@ -75,7 +75,7 @@ function foo2(x: T, cb: (a: T) => U) { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -144,7 +144,7 @@ function foo3(x: T, cb: (a: T) => U, y: U) { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types index da78efbfc590a..05e4e0bd0dda1 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types @@ -16,7 +16,7 @@ function foo(x: new(a: T) => T) { >new x(null) : T > : ^ >x : new (a: T) => T -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ } interface I { @@ -84,7 +84,7 @@ var r3b = foo(a); // any >foo : (x: new (a: T) => T) => T > : ^ ^^ ^^ ^^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo2(x: T, cb: new(a: T) => U) { >foo2 : (x: T, cb: new (a: T) => U) => U @@ -100,7 +100,7 @@ function foo2(x: T, cb: new(a: T) => U) { >new cb(x) : U > : ^ >cb : new (a: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >x : T > : ^ } @@ -127,7 +127,7 @@ var r4b = foo2(1, a); // any >1 : 1 > : ^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5 = foo2(1, i); // any >r5 : number @@ -169,7 +169,7 @@ function foo3(x: T, cb: new(a: T) => U, y: U) { >new cb(x) : U > : ^ >cb : new (a: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >x : T > : ^ } @@ -194,7 +194,7 @@ var r7b = foo3(null, a, ''); // any >foo3 : (x: T, cb: new (a: T) => U, y: U) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types index 1530c34f5e9e3..ab90f25098cf6 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types @@ -39,7 +39,7 @@ var r = foo4(a); // T is {} (candidates boolean and string), U is any (candidate >foo4 : (cb: (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ >a : { (x: boolean): boolean; (x: string): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b: { >b : { (x: boolean): T; (x: T): any; } @@ -60,5 +60,5 @@ var r2 = foo4(b); // T is {} (candidates boolean and {}), U is any (candidates a >foo4 : (cb: (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ >b : { (x: boolean): T; (x: T): any; } -> : ^^^^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types index 0c0c5bb5dc84e..8ebc073251405 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types @@ -53,7 +53,7 @@ var r = foo4(a); // T is {} (candidates boolean and string), U is {} (candidates >foo4 : (cb: new (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ >a : { new (x: boolean): C; new (x: string): D; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b: { >b : { new (x: boolean): T; new (x: T): any; } @@ -74,5 +74,5 @@ var r2 = foo4(b); // T is {} (candidates boolean and {}), U is any (candidates a >foo4 : (cb: new (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ >b : { new (x: boolean): T; new (x: T): any; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types index ce5b26e13bdc4..a513880423170 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types @@ -17,11 +17,11 @@ function foo(arg: { cb: (t: T) => U }) { >arg.cb(null) : U > : ^ >arg.cb : (t: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >arg : { cb: (t: T) => U; } -> : ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : (t: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var arg = { cb: (x: T) => '' }; @@ -105,11 +105,11 @@ function foo2(arg: { cb: (t: T, t2: T) => U }) { >arg.cb(null, null) : U > : ^ >arg.cb : (t: T, t2: T) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >arg : { cb: (t: T, t2: T) => U; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : (t: T, t2: T) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } // fewer args ok diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments.types index f0c4427f87b4f..e612b8ac17e76 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments.types @@ -24,7 +24,7 @@ function foo(a: (x: T) => T, b: (x: T) => T) { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } //var r1 = foo((x: number) => 1, (x: string) => ''); // error @@ -34,7 +34,7 @@ var r1b = foo((x) => 1, (x) => ''); // {} => {} >foo((x) => 1, (x) => '') : (x: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x) => 1 : (x: unknown) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : unknown @@ -54,7 +54,7 @@ var r2 = foo((x: Object) => null, (x: string) => ''); // Object => Object >foo((x: Object) => null, (x: string) => '') : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: Object) => null : (x: Object) => any > : ^ ^^ ^^^^^^^^ >x : Object @@ -72,7 +72,7 @@ var r3 = foo((x: number) => 1, (x: Object) => null); // number => number >foo((x: number) => 1, (x: Object) => null) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -90,7 +90,7 @@ var r3ii = foo((x: number) => 1, (x: number) => 1); // number => number >foo((x: number) => 1, (x: number) => 1) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -122,51 +122,51 @@ var b: { x: number; z?: number; }; var r4 = foo((x: typeof a) => a, (x: typeof b) => b); // typeof a => typeof a >r4 : (x: { x: number; y?: number; }) => { x: number; y?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo((x: typeof a) => a, (x: typeof b) => b) : (x: { x: number; y?: number; }) => { x: number; y?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: typeof a) => a : (x: typeof a) => { x: number; y?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >(x: typeof b) => b : (x: typeof b) => { x: number; z?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r5 = foo((x: typeof b) => b, (x: typeof a) => a); // typeof b => typeof b >r5 : (x: { x: number; z?: number; }) => { x: number; z?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo((x: typeof b) => b, (x: typeof a) => a) : (x: { x: number; z?: number; }) => { x: number; z?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: typeof b) => b : (x: typeof b) => { x: number; z?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >(x: typeof a) => a : (x: typeof a) => { x: number; y?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ function other(x: T) { >other : (x: T) => void @@ -180,7 +180,7 @@ function other(x: T) { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -200,7 +200,7 @@ function other(x: T) { >foo((a) => a, (b) => b) : (x: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : unknown @@ -227,7 +227,7 @@ function other2(x: T) { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -247,7 +247,7 @@ function other2(x: T) { >foo((a) => a, (b) => b) : (x: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : unknown @@ -294,7 +294,7 @@ function foo2(a: (x: T) => T, b: (x: T) => T) { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function other3(x: T) { @@ -309,7 +309,7 @@ function other3(x: T) { >foo2((a: Date) => a, (b: Date) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: Date) => a : (a: Date) => Date > : ^ ^^ ^^^^^^^^^ >a : Date diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types index 149d3682c93ce..5a80c00ffbea2 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types @@ -28,7 +28,7 @@ module onlyT { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r1: (x: {}) => {} = foo((x: number) => 1, (x: string) => ''); @@ -39,7 +39,7 @@ module onlyT { >foo((x: number) => 1, (x: string) => '') : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -65,7 +65,7 @@ module onlyT { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -123,7 +123,7 @@ module onlyT { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function other3(x: T) { @@ -138,7 +138,7 @@ module onlyT { >foo2((a: T) => a, (b: T) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -158,7 +158,7 @@ module onlyT { >foo2((a) => a, (b) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >a : Date @@ -207,7 +207,7 @@ module onlyT { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r7 = foo3(E.A, (x) => E.A, (x) => F.A); // error @@ -216,7 +216,7 @@ module onlyT { >foo3(E.A, (x) => E.A, (x) => F.A) : (x: E) => E > : ^ ^^^^^^^^^ >foo3 : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >E.A : E > : ^ >E : typeof E @@ -269,7 +269,7 @@ module TU { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r1: (x: {}) => {} = foo((x: number) => 1, (x: string) => ''); @@ -280,7 +280,7 @@ module TU { >foo((x: number) => 1, (x: string) => '') : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -306,7 +306,7 @@ module TU { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -363,7 +363,7 @@ module TU { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function other3(x: T) { @@ -378,7 +378,7 @@ module TU { >foo2((a: T) => a, (b: T) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -398,7 +398,7 @@ module TU { >foo2((a) => a, (b) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >a : Date @@ -447,7 +447,7 @@ module TU { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r7 = foo3(E.A, (x) => E.A, (x) => F.A); @@ -456,7 +456,7 @@ module TU { >foo3(E.A, (x) => E.A, (x) => F.A) : (x: E) => E > : ^ ^^^^^^^^^ >foo3 : (x: T, a: (x: T) => T, b: (x: U) => U) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >E.A : E > : ^ >E : typeof E diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types index b10f8c24186ed..cb753a16d6098 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types @@ -26,7 +26,7 @@ function foo(x: T, a: (x: T) => T, b: (x: T) => T) { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r1 = foo('', (x: string) => '', (x: Object) => null); // any => any @@ -35,7 +35,7 @@ var r1 = foo('', (x: string) => '', (x: Object) => null); // any => any >foo('', (x: string) => '', (x: Object) => null) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x: string) => '' : (x: string) => string @@ -55,7 +55,7 @@ var r1ii = foo('', (x) => '', (x) => null); // string => string >foo('', (x) => '', (x) => null) : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x) => '' : (x: string) => string @@ -75,7 +75,7 @@ var r2 = foo('', (x: string) => '', (x: Object) => ''); // string => string >foo('', (x: string) => '', (x: Object) => '') : (x: Object) => Object > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x: string) => '' : (x: string) => string @@ -97,7 +97,7 @@ var r3 = foo(null, (x: Object) => '', (x: string) => ''); // Object => Object >foo(null, (x: Object) => '', (x: string) => '') : (x: Object) => Object > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: Object) => '' : (x: Object) => string > : ^ ^^ ^^^^^^^^^^^ >x : Object @@ -117,7 +117,7 @@ var r4 = foo(null, (x) => '', (x) => ''); // any => any >foo(null, (x) => '', (x) => '') : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x) => '' : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >x : any @@ -137,7 +137,7 @@ var r5 = foo(new Object(), (x) => '', (x) => ''); // Object => Object >foo(new Object(), (x) => '', (x) => '') : (x: Object) => Object > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >new Object() : Object > : ^^^^^^ >Object : ObjectConstructor @@ -173,7 +173,7 @@ var r6 = foo(E.A, (x: number) => E.A, (x: F) => F.A); // number => number >foo(E.A, (x: number) => E.A, (x: F) => F.A) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >E.A : E > : ^ >E : typeof E @@ -224,7 +224,7 @@ function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { return r; >r : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r8 = foo2('', (x) => '', (x) => null); // string => string @@ -233,7 +233,7 @@ var r8 = foo2('', (x) => '', (x) => null); // string => string >foo2('', (x) => '', (x) => null) : (x: string) => any > : ^ ^^^^^^^^^^^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x) => '' : (x: string) => string @@ -253,7 +253,7 @@ var r9 = foo2(null, (x) => '', (x) => ''); // any => any >foo2(null, (x) => '', (x) => '') : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x) => '' : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >x : any @@ -273,7 +273,7 @@ var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object >foo2(null, (x: Object) => '', (x: string) => '') : (x: Object) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: Object) => '' : (x: Object) => string > : ^ ^^ ^^^^^^^^^^^ >x : Object @@ -295,13 +295,13 @@ var x: (a: string) => boolean; var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error >r11 : (x: (a: string) => boolean) => (n: Object) => 1 -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^^ >foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2) : (x: (a: string) => boolean) => (n: Object) => 1 -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (a: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a1: (y: string) => string) => (n: Object) => 1 : (a1: (y: string) => string) => (n: Object) => 1 > : ^ ^^ ^^^^^^ ^^ ^^^^^^ >a1 : (y: string) => string @@ -329,9 +329,9 @@ var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: str >foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2) : (x: (z: string) => boolean) => (n: Object) => 1 > : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (a: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a1: (y: string) => boolean) => (n: Object) => 1 : (a1: (y: string) => boolean) => (n: Object) => 1 > : ^ ^^ ^^^^^^ ^^ ^^^^^^ >a1 : (y: string) => boolean diff --git a/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types b/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types index de8d7869e03ac..a72679daf0819 100644 --- a/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types +++ b/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types @@ -39,27 +39,27 @@ var b: { x: number; z?: number; }; var r = foo(a, b); // { x: number; y?: number; }; >r : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo(a, b) : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r2 = foo(b, a); // { x: number; z?: number; }; >r2 : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo(b, a) : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var x: { x: number; }; >x : { x: number; } @@ -75,75 +75,75 @@ var y: { x?: number; }; var r3 = foo(a, x); // { x: number; y?: number; }; >r3 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo(a, x) : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4 = foo(x, a); // { x: number; }; >r4 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo(x, a) : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r5 = foo(a, y); // { x?: number; }; >r5 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(a, y) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var r5 = foo(y, a); // { x?: number; }; >r5 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(y, a) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r6 = foo(x, y); // { x?: number; }; >r6 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(x, y) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var r6 = foo(y, x); // { x?: number; }; >r6 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(y, x) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var s1: (x: Object) => string; >s1 : (x: Object) => string @@ -159,25 +159,25 @@ var s2: (x: string) => string; var r7 = foo(s1, s2); // (x: Object) => string; >r7 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo(s1, s2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >s1 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8 = foo(s2, s1); // (x: string) => string; >r8 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo(s2, s1) : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >s2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s1 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types index 4786c9bbb7a96..fc7a32d46610f 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types @@ -13,7 +13,7 @@ function foo(x: { bar: T; baz: T }) { return x; >x : { bar: T; baz: T; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var r = foo({ bar: 1, baz: '' }); // error @@ -22,7 +22,7 @@ var r = foo({ bar: 1, baz: '' }); // error >foo({ bar: 1, baz: '' }) : { bar: number; baz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: 1, baz: '' } : { bar: number; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : number @@ -40,7 +40,7 @@ var r2 = foo({ bar: 1, baz: 1 }); // T = number >foo({ bar: 1, baz: 1 }) : { bar: number; baz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: 1, baz: 1 } : { bar: number; baz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : number @@ -54,21 +54,21 @@ var r2 = foo({ bar: 1, baz: 1 }); // T = number var r3 = foo({ bar: foo, baz: foo }); // T = typeof foo >r3 : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ >foo({ bar: foo, baz: foo }) : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: foo, baz: foo } : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ >bar : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >baz : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ var r4 = foo({ bar: 1, baz: '' }); // T = Object >r4 : { bar: Object; baz: Object; } @@ -76,7 +76,7 @@ var r4 = foo({ bar: 1, baz: '' }); // T = Object >foo({ bar: 1, baz: '' }) : { bar: Object; baz: Object; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: 1, baz: '' } : { bar: number; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : number diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs2.types b/tests/baselines/reference/genericCallWithObjectTypeArgs2.types index 2103f9e70b5dc..4d2825da3dd2a 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs2.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs2.types @@ -47,13 +47,13 @@ function f(a: { x: T; y: U }) { >a.x : T > : ^ >a : { x: T; y: U; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : T > : ^ >a.y : U > : ^ >a : { x: T; y: U; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : U > : ^ } @@ -121,7 +121,7 @@ function f2(a: { x: T; y: U }) { >a.y : U > : ^ >a : { x: T; y: U; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : U > : ^ } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types index bfdc5fd57ef77..03bf9f9d8b98e 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types @@ -134,7 +134,7 @@ function f3(x: T, y: (a: T) => T) { >y(null) : T > : ^ >y : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r4 = f3(new Base(), x => x); >r4 : Base diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types index 51e018ab3f00a..7c56096b2fb23 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types @@ -151,7 +151,7 @@ function f3(y: (a: T) => T, x: T) { >y(null) : T > : ^ >y : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } // all ok - second argument is processed before x is fixed diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types index 4c20a05069fab..0575cf67290aa 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types @@ -25,15 +25,15 @@ module NonGenericParameter { >foo4 : (cb: typeof a) => boolean > : ^ ^^ ^^^^^^^^^^^^ >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ return new cb(null); >new cb(null) : boolean > : ^^^^^^^ >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var r = foo4(a); @@ -44,7 +44,7 @@ module NonGenericParameter { >foo4 : (cb: typeof a) => boolean > : ^ ^^ ^^^^^^^^^^^^ >a : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b: { new (x: T): T }; >b : new (x: T) => T @@ -60,7 +60,7 @@ module NonGenericParameter { >foo4 : (cb: typeof a) => boolean > : ^ ^^ ^^^^^^^^^^^^ >b : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } module GenericParameter { @@ -79,7 +79,7 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var a: { @@ -96,13 +96,13 @@ module GenericParameter { } var r5 = foo5(a); // new{} => string; new(x:number) => {} >r5 : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5(a) : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b: { new(x: T): string; new(x: number): T; } >b : { new (x: T): string; new (x: number): T; } @@ -114,13 +114,13 @@ module GenericParameter { var r7 = foo5(b); // new any => string; new(x:number) => any >r7 : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5(b) : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -136,28 +136,28 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r8 = foo6(a); // error >r8 : { new (x: boolean): string; new (x: boolean, y?: boolean): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6(a) : { new (x: boolean): string; new (x: boolean, y?: boolean): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var r9 = foo6(b); // new any => string; new(x:any, y?:any) => string >r9 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6(b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >b : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -175,20 +175,20 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r13 = foo7(1, b); // new any => string; new(x:any, y?:any) => string >r13 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >b : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ var c: { new (x: T): string; (x: number): T; } >c : { (x: number): T; new (x: T): string; } @@ -208,25 +208,25 @@ module GenericParameter { var r14 = foo7(1, c); // new any => string; new(x:any, y?:any) => string >r14 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, c) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >c : { (x: number): T; new (x: T): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ var r15 = foo7(1, c2); // new any => string; new(x:any, y?:any) => string >r15 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, c2) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >c2 : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types index 5878b05a5bbec..64199177e33c8 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types @@ -23,15 +23,15 @@ module NonGenericParameter { function foo4(cb: typeof a) { >foo4 : (cb: typeof a) => { new (x: boolean): boolean; new (x: string): string; } -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ return cb; >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var b: { new (x: T): U } @@ -42,13 +42,13 @@ module NonGenericParameter { var r3 = foo4(b); // ok >r3 : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >foo4(b) : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { new (x: boolean): boolean; new (x: string): string; } -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b : new (x: T) => U -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ } module GenericParameter { @@ -67,7 +67,7 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var a: { new (x: T): T }; @@ -78,13 +78,13 @@ module GenericParameter { var r6 = foo5(a); // ok >r6 : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5(a) : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -100,7 +100,7 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var b: { new (x: T, y: T): string }; @@ -113,13 +113,13 @@ module GenericParameter { var r10 = foo6(b); // error >r10 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6(b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >b : new (x: T, y: T) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -137,20 +137,20 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r13 = foo7(1, a); // ok >r13 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, a) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var c: { new(x: T): number; new(x: number): T; } >c : { new (x: T): number; new (x: number): T; } @@ -162,13 +162,13 @@ module GenericParameter { var r14 = foo7(1, c); // ok >r14 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, c) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >c : { new (x: T): number; new (x: number): T; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types index 5814681d85ac7..896f081b5c833 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types @@ -23,34 +23,34 @@ module NonGenericParameter { function foo4(cb: typeof a) { >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return cb; >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r = foo4(a); >r : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4(a) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r2 = foo4((x: T) => x); >r2 : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4((x: T) => x) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => x : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >x : T @@ -60,11 +60,11 @@ module NonGenericParameter { var r4 = foo4(x => x); >r4 : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4(x => x) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -87,16 +87,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r5 = foo5(x => x); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed]. T is any >r5 : { (x: any): string; (x: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^ >foo5(x => x) : { (x: any): string; (x: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^ >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -112,13 +112,13 @@ module GenericParameter { var r7 = foo5(a); // any => string (+1 overload) >r7 : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5(a) : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ function foo6(cb: { (x: T): string; (x: T, y?: T): string }) { >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } @@ -134,16 +134,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r8 = foo6(x => x); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed]. T is any >r8 : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo6(x => x) : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -151,11 +151,11 @@ module GenericParameter { var r9 = foo6((x: T) => ''); // any => string (+1 overload) >r9 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6((x: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(x: T) => '' : (x: T) => string > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -165,11 +165,11 @@ module GenericParameter { var r11 = foo6((x: T, y?: T) => ''); // any => string (+1 overload) >r11 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6((x: T, y?: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(x: T, y?: T) => '' : (x: T, y?: T) => string > : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : T @@ -195,16 +195,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r12 = foo7(1, (x) => x); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] >r12 : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo7(1, (x) => x) : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >(x) => x : (x: any) => any @@ -214,11 +214,11 @@ module GenericParameter { var r13 = foo7(1, (x: T) => ''); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] >r13 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, (x: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >(x: T) => '' : (x: T) => string @@ -230,7 +230,7 @@ module GenericParameter { var a: { (x: T): string; (x: number): T; } >a : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -238,13 +238,13 @@ module GenericParameter { var r14 = foo7(1, a); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] >r14 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, a) : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >a : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types index a068627eb3e9e..bc9696de2c31d 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types @@ -23,24 +23,24 @@ module NonGenericParameter { function foo4(cb: typeof a) { >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return cb; >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r3 = foo4((x: T) => { var r: U; return r }); // ok >r3 : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4((x: T) => { var r: U; return r }) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => { var r: U; return r } : (x: T) => U > : ^ ^^^^^ ^^ ^^^^^^ >x : T @@ -67,16 +67,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r6 = foo5((x: T) => x); // ok >r6 : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5((x: T) => x) : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => x : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >x : T @@ -98,16 +98,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r10 = foo6((x: T, y: T) => ''); // error >r10 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6((x: T, y: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(x: T, y: T) => '' : (x: T, y: T) => string > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -133,16 +133,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r13 = foo7(1, (x: T) => x); // ok >r13 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, (x: T) => x) : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >(x: T) => x : (x: T) => T @@ -162,13 +162,13 @@ module GenericParameter { var r14 = foo7(1, a); // ok >r14 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, a) : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >a : { (x: T): number; (x: number): T; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types b/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types index e4afeb0776438..b0537862ac990 100644 --- a/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types +++ b/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types @@ -37,7 +37,7 @@ const toThenable = (fn: (input: Input) => Result | Thenablefn(input) : Result | Thenable > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : (input: Input) => Result | Thenable -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >input : Input > : ^^^^^ @@ -57,11 +57,11 @@ const toThenable = (fn: (input: Input) => Result | ThenabletoThenable(onFulfilled)(result as Result) : Thenable > : ^^^^^^^^^^^ >toThenable(onFulfilled) : (input: Result) => Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^ >toThenable : (fn: (input: Input) => Result | Thenable) => (input: Input) => Thenable -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >onFulfilled : (value: Result) => V | Thenable -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result as Result : Result > : ^^^^^^ >result : Result | Thenable @@ -92,29 +92,29 @@ const toThenableInferred = (fn: (input: Input) => Result | Thenab >fn(input) : Result | Thenable > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : (input: Input) => Result | Thenable -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >input : Input > : ^^^^^ return { >{ then(onFulfilled) { return toThenableInferred(onFulfilled)(result as Result) } } : { then(onFulfilled: (value: Result) => V | Thenable): Thenable; } -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^^^^^ then(onFulfilled) { >then : (onFulfilled: (value: Result) => V | Thenable) => Thenable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^^^^ >onFulfilled : (value: Result) => V | Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^ return toThenableInferred(onFulfilled)(result as Result) >toThenableInferred(onFulfilled)(result as Result) : Thenable > : ^^^^^^^^^^^ >toThenableInferred(onFulfilled) : (input: Result) => Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^ >toThenableInferred : (fn: (input: Input) => Result | Thenable) => (input: Input) => Thenable -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >onFulfilled : (value: Result) => V | Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^ >result as Result : Result > : ^^^^^^ >result : Result | Thenable diff --git a/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types b/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types index cdff0a80bab9c..d13273039ed52 100644 --- a/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types +++ b/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types @@ -19,7 +19,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -29,7 +29,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -39,7 +39,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r4 = f(null); >r4 : U @@ -47,7 +47,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r11 = f(x); >r11 : U @@ -55,7 +55,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(x) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -65,7 +65,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(x) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -75,7 +75,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r41 = f(null); >r41 : U @@ -83,7 +83,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r12 = f(y); >r12 : U @@ -91,7 +91,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(y) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : U > : ^ @@ -101,7 +101,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(y) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : U > : ^ @@ -111,7 +111,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r42 = f(null); >r42 : U @@ -119,5 +119,5 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericCallbacksAndClassHierarchy.types b/tests/baselines/reference/genericCallbacksAndClassHierarchy.types index 1b9060ef8dcfb..cc050bcb3c488 100644 --- a/tests/baselines/reference/genericCallbacksAndClassHierarchy.types +++ b/tests/baselines/reference/genericCallbacksAndClassHierarchy.types @@ -67,22 +67,22 @@ module M { v.subscribe(f); >v.subscribe(f) : any >v.subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >v : I> > : ^^^^^^^ >subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >f : (newValue: A) => void > : ^ ^^ ^^^^^^^^^ v.subscribe((newValue: A) => { }); >v.subscribe((newValue: A) => { }) : any >v.subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >v : I> > : ^^^^^^^ >subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >(newValue: A) => { } : (newValue: A) => void > : ^ ^^ ^^^^^^^^^ >newValue : A diff --git a/tests/baselines/reference/genericCapturingFunctionNarrowing.types b/tests/baselines/reference/genericCapturingFunctionNarrowing.types index 3ce0e0881aa48..a668a4ced463c 100644 --- a/tests/baselines/reference/genericCapturingFunctionNarrowing.types +++ b/tests/baselines/reference/genericCapturingFunctionNarrowing.types @@ -17,7 +17,7 @@ function needsToNarrowTheTypehasAFoo(thing) : boolean > : ^^^^^^^ >hasAFoo : (value: First | Second) => value is First -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >thing : First | Second | SubFirst | SubFirstMore > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -25,11 +25,11 @@ function needsToNarrowTheTypeconsole.log(thing.foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >thing.foo : string > : ^^^^^^ >thing : First | SubFirst | SubFirstMore @@ -43,11 +43,11 @@ function needsToNarrowTheTypeconsole.log(thing.bar) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >thing.bar : string > : ^^^^^^ >thing : Second diff --git a/tests/baselines/reference/genericChainedCalls.types b/tests/baselines/reference/genericChainedCalls.types index 29332f2764081..c6d5741571c44 100644 --- a/tests/baselines/reference/genericChainedCalls.types +++ b/tests/baselines/reference/genericChainedCalls.types @@ -21,19 +21,19 @@ var r1 = v1.func(num => num.toString()) >v1.func(num => num.toString()) .func(str => str.length) // error, number doesn't have a length .func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) .func(str => str.length) // error, number doesn't have a length .func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1.func(num => num.toString()) .func(str => str.length) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) .func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -41,15 +41,15 @@ var r1 = v1.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ .func(str => str.length) // error, number doesn't have a length >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >str => str.length : (str: number) => any > : ^ ^^^^^^^^^^^^^^^^ >str : number @@ -63,7 +63,7 @@ var r1 = v1.func(num => num.toString()) .func(num => num.toString()) >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -71,11 +71,11 @@ var r1 = v1.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var s1 = v1.func(num => num.toString()) >s1 : I1 @@ -83,11 +83,11 @@ var s1 = v1.func(num => num.toString()) >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -95,11 +95,11 @@ var s1 = v1.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var s2 = s1.func(str => str.length) // should also error >s2 : I1 @@ -107,11 +107,11 @@ var s2 = s1.func(str => str.length) // should also error >s1.func(str => str.length) : I1 > : ^^^^^^^^^^ >s1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >s1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >str => str.length : (str: number) => any > : ^ ^^^^^^^^^^^^^^^^ >str : number @@ -129,11 +129,11 @@ var s3 = s2.func(num => num.toString()) >s2.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >s2.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >s2 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -141,9 +141,9 @@ var s3 = s2.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types index 292a6ce883593..5007c05352a37 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types @@ -24,7 +24,7 @@ module ImmediatelyFix { >x(null) : T > : ^ >x : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } } @@ -106,7 +106,7 @@ module ImmediatelyFix { >x(null) : T > : ^ >x : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } } @@ -177,7 +177,7 @@ module WithCandidates { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -267,7 +267,7 @@ module WithCandidates { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -341,7 +341,7 @@ module WithCandidates { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types b/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types index e1cc7ded77ae9..6939c6ba441ca 100644 --- a/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types +++ b/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types @@ -97,7 +97,7 @@ module Class { >g.foo : (t: X, t2: X) => T > : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T > : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c1 : X @@ -113,7 +113,7 @@ module Class { >g.foo : (t: X, t2: X) => T > : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T > : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c1 : X @@ -228,11 +228,11 @@ module Interface { >g.foo(c1, d1) : C > : ^ >g.foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -244,11 +244,11 @@ module Interface { >g.foo(c1, c1) : C > : ^ >g.foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >c1 : X @@ -274,11 +274,11 @@ module Interface { >g2.foo2(c1, d1) : C > : ^ >g2.foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : G2 > : ^^^^^ >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -290,11 +290,11 @@ module Interface { >g2.foo2(c1, c1) : C > : ^ >g2.foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : G2 > : ^^^^^ >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >c1 : X diff --git a/tests/baselines/reference/genericClassWithStaticFactory.types b/tests/baselines/reference/genericClassWithStaticFactory.types index bb8ed1257ea52..129d154997155 100644 --- a/tests/baselines/reference/genericClassWithStaticFactory.types +++ b/tests/baselines/reference/genericClassWithStaticFactory.types @@ -55,7 +55,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -63,7 +63,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -221,11 +221,11 @@ module Editor { >this.isEmpty() : boolean > : ^^^^^^^ >this.isEmpty : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isEmpty : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ { return this.next.data; >this.next.data : T @@ -331,7 +331,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -339,7 +339,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -449,7 +449,7 @@ module Editor { >this.listFactory.RemoveEntry(this.next) : List > : ^^^^^^^ >this.listFactory.RemoveEntry : (entry: List) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -457,7 +457,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >RemoveEntry : (entry: List) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.next : List > : ^^^^^^^ >this : this @@ -558,7 +558,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -566,7 +566,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -710,7 +710,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -718,7 +718,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -726,11 +726,11 @@ module Editor { >this.insertEntryBefore(entry) : List > : ^^^^^^^ >this.insertEntryBefore : (entry: List) => List -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >insertEntryBefore : (entry: List) => List -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >entry : List > : ^^^^^^^ } diff --git a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types index 673dd58110312..5038a6282eff3 100644 --- a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types +++ b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types @@ -64,11 +64,11 @@ class Foo { >xs.reverse() : T[] > : ^^^ >xs.reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >xs : T[] > : ^^^ >reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ } } diff --git a/tests/baselines/reference/genericClasses4.types b/tests/baselines/reference/genericClasses4.types index 9b78edb934902..49a7acc95c1ba 100644 --- a/tests/baselines/reference/genericClasses4.types +++ b/tests/baselines/reference/genericClasses4.types @@ -26,7 +26,7 @@ class Vec2_T >f(this.x) : B > : ^ >f : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.x : A > : ^ >this : this @@ -40,7 +40,7 @@ class Vec2_T >f(this.y) : B > : ^ >f : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.y : A > : ^ >this : this @@ -78,11 +78,11 @@ class Vec2_T >f.x(this.x) : B > : ^ >f.x : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >f : Vec2_T<(a: A) => B> -> : ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >x : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.x : A > : ^ >this : this @@ -96,11 +96,11 @@ class Vec2_T >f.y(this.y) : B > : ^ >f.y : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >f : Vec2_T<(a: A) => B> -> : ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >y : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.y : A > : ^ >this : this diff --git a/tests/baselines/reference/genericClassesRedeclaration.types b/tests/baselines/reference/genericClassesRedeclaration.types index 559e72a1915a1..844d9f296c112 100644 --- a/tests/baselines/reference/genericClassesRedeclaration.types +++ b/tests/baselines/reference/genericClassesRedeclaration.types @@ -12,16 +12,16 @@ declare module TypeScript { } function createIntrinsicsObject(): IIndexable; >createIntrinsicsObject : { (): IIndexable; (): IIndexable; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^ ^^^^^ ^^^ interface IHashTable { getAllKeys(): string[]; >getAllKeys : { (): string[]; (): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ add(key: string, data: T): boolean; >add : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -29,7 +29,7 @@ declare module TypeScript { addOrUpdate(key: string, data: T): boolean; >addOrUpdate : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -37,7 +37,7 @@ declare module TypeScript { map(fn: (k: string, value: T, context: any) => void, context: any): void; >map : { (fn: (k: string, value: T, context: any) => void, context: any): void; (fn: (k: string, value: T, context: any) => void, context: any): void; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -51,7 +51,7 @@ declare module TypeScript { every(fn: (k: string, value: T, context: any) => void, context: any): boolean; >every : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -65,7 +65,7 @@ declare module TypeScript { some(fn: (k: string, value: T, context: any) => void, context: any): boolean; >some : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -79,11 +79,11 @@ declare module TypeScript { count(): number; >count : { (): number; (): number; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ lookup(key: string): T; >lookup : { (key: string): T; (key: string): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ } @@ -264,16 +264,16 @@ declare module TypeScript { } function createIntrinsicsObject(): IIndexable; >createIntrinsicsObject : { (): IIndexable; (): IIndexable; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ +> : ^^^ ^^^^^ ^^^ ^^^^^ ^^^ interface IHashTable { getAllKeys(): string[]; >getAllKeys : { (): string[]; (): string[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ add(key: string, data: T): boolean; >add : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -281,7 +281,7 @@ declare module TypeScript { addOrUpdate(key: string, data: T): boolean; >addOrUpdate : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -289,7 +289,7 @@ declare module TypeScript { map(fn: (k: string, value: T, context: any) => void, context: any): void; >map : { (fn: (k: string, value: T, context: any) => void, context: any): void; (fn: (k: string, value: T, context: any) => void, context: any): void; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -303,7 +303,7 @@ declare module TypeScript { every(fn: (k: string, value: T, context: any) => void, context: any): boolean; >every : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -317,7 +317,7 @@ declare module TypeScript { some(fn: (k: string, value: T, context: any) => void, context: any): boolean; >some : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -331,11 +331,11 @@ declare module TypeScript { count(): number; >count : { (): number; (): number; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ lookup(key: string): T; >lookup : { (key: string): T; (key: string): T; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/genericCombinators2.types b/tests/baselines/reference/genericCombinators2.types index c2479443455b1..e5e3170a82bb2 100644 --- a/tests/baselines/reference/genericCombinators2.types +++ b/tests/baselines/reference/genericCombinators2.types @@ -26,7 +26,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T, y: U) => any): Collection; >map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => any @@ -38,7 +38,7 @@ interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; >map : { (c: Collection, f: (x: T_1, y: U_1) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => V @@ -69,11 +69,11 @@ var rf1 = (x: number, y: string) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >r5a : Collection @@ -81,11 +81,11 @@ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >_.map(c2, (x, y) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x, y) => { return x.toFixed() } : (x: number, y: string) => string @@ -97,11 +97,11 @@ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5b = _.map(c2, rf1); >r5b : Collection @@ -109,11 +109,11 @@ var r5b = _.map(c2, rf1); >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >rf1 : (x: number, y: string) => string diff --git a/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types b/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types index 2cf560e84424d..389511c415c96 100644 --- a/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types +++ b/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types @@ -55,7 +55,7 @@ function g2< >isA(a2) : boolean > : ^^^^^^^ >isA : (a: unknown) => a is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : ReturnType > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericConstraint2.types b/tests/baselines/reference/genericConstraint2.types index ba10251528e29..bd40e82718384 100644 --- a/tests/baselines/reference/genericConstraint2.types +++ b/tests/baselines/reference/genericConstraint2.types @@ -47,11 +47,11 @@ function compare>(x: T, y: T): number { >x.comparer(y) : number > : ^^^^^^ >x.comparer : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >x : T > : ^ >comparer : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >y : T > : ^ } @@ -102,7 +102,7 @@ var c = compare(a, b); >compare(a, b) : number > : ^^^^^^ >compare : >(x: T, y: T) => number -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : ComparableString > : ^^^^^^^^^^^^^^^^ >b : ComparableString diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types index 17ebd9cbdf14e..f1f9a77a6dbf5 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types @@ -42,11 +42,11 @@ module EndGate.Tweening { > : ^ >from.Clone() : any >from.Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >from : T > : ^ >Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types index a60fdb65ff851..9c3d23ce7348c 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types @@ -41,11 +41,11 @@ module EndGate.Tweening { > : ^ >from.Clone() : any >from.Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >from : T > : ^ >Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.types b/tests/baselines/reference/genericConstraintSatisfaction1.types index 31c8bcea2f6eb..d14e15e7039bb 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.types +++ b/tests/baselines/reference/genericConstraintSatisfaction1.types @@ -19,11 +19,11 @@ x.f({s: 1}) >x.f({s: 1}) : void > : ^^^^ >x.f : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >x : I<{ s: string; }> -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^ >f : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >{s: 1} : { s: number; } > : ^^^^^^^^^^^^^^ >s : number diff --git a/tests/baselines/reference/genericConstructorFunction1.types b/tests/baselines/reference/genericConstructorFunction1.types index 7e9958c69af92..b9349680c0bae 100644 --- a/tests/baselines/reference/genericConstructorFunction1.types +++ b/tests/baselines/reference/genericConstructorFunction1.types @@ -17,11 +17,11 @@ function f1(args: T) { var v2 = v1['test']; >v2 : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >v1['test'] : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >v1 : { [index: string]: new (arg: T) => Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >'test' : "test" > : ^^^^^^ @@ -29,7 +29,7 @@ function f1(args: T) { >v2(args) : any > : ^^^ >v2 : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -37,7 +37,7 @@ function f1(args: T) { >new v2(args) : Date > : ^^^^ >v2 : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >args : T > : ^ } diff --git a/tests/baselines/reference/genericContextualTypes1.types b/tests/baselines/reference/genericContextualTypes1.types index d066cb7696a27..14013a8f93a73 100644 --- a/tests/baselines/reference/genericContextualTypes1.types +++ b/tests/baselines/reference/genericContextualTypes1.types @@ -99,7 +99,7 @@ const f00: (x: A) => A[] = list; >x : A > : ^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f01: (x: A) => A[] = x => [x]; >f01 : (x: A) => A[] @@ -123,9 +123,9 @@ const f02: (x: A) => A[] = wrap(list); >wrap(list) : (a: A) => A[] > : ^ ^^^^^^^^^^^ >wrap : (f: (a: A) => B) => (a: A) => B -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f03: (x: A) => A[] = wrap(x => [x]); >f03 : (x: A) => A[] @@ -135,7 +135,7 @@ const f03: (x: A) => A[] = wrap(x => [x]); >wrap(x => [x]) : (a: A) => A[] > : ^ ^^^^^^^^^^^ >wrap : (f: (a: A) => B) => (a: A) => B -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => [x] : (x: A) => A[] > : ^ ^^^^^^^^^^^ >x : A @@ -153,7 +153,7 @@ const f10: (x: T) => Box = compose(a => list(a), b => box(b)); >compose(a => list(a), b => box(b)) : (a: T) => Box > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a => list(a) : (a: T) => T[] > : ^ ^^^^^^^^^^^ >a : T @@ -161,7 +161,7 @@ const f10: (x: T) => Box = compose(a => list(a), b => box(b)); >list(a) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : T > : ^ >b => box(b) : (b: T[]) => Box @@ -171,7 +171,7 @@ const f10: (x: T) => Box = compose(a => list(a), b => box(b)); >box(b) : Box > : ^^^^^^^^ >box : (x: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : T[] > : ^^^ @@ -183,11 +183,11 @@ const f11: (x: T) => Box = compose(list, box); >compose(list, box) : (a: T) => Box > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >f12 : (x: Box) => T @@ -197,7 +197,7 @@ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >compose(a => unbox(a), b => unlist(b)) : (a: Box) => T > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a => unbox(a) : (a: Box) => T[] > : ^ ^^^^^^^^^^^^^^^^^^ >a : Box @@ -205,7 +205,7 @@ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >unbox(a) : T[] > : ^^^ >unbox : (x: Box) => W -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : Box > : ^^^^^^^^ >b => unlist(b) : (b: T[]) => T @@ -215,7 +215,7 @@ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >unlist(b) : T > : ^ >unlist : (a: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : T[] > : ^^^ @@ -227,11 +227,11 @@ const f13: (x: Box) => T = compose(unbox, unlist); >compose(unbox, unlist) : (a: Box) => T > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >unbox : (x: Box) => W -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >unlist : (a: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const arrayMap = (f: (x: T) => U) => (a: T[]) => a.map(f); >arrayMap : (f: (x: T) => U) => (a: T[]) => U[] @@ -249,13 +249,13 @@ const arrayMap = (f: (x: T) => U) => (a: T[]) => a.map(f); >a.map(f) : U[] > : ^^^ >a.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >a : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); >arrayFilter : (f: (x: T) => boolean) => (a: T[]) => T[] @@ -273,13 +273,13 @@ const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); >a.filter(f) : T[] > : ^^^ >a.filter : { (predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; } -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^ >a : T[] > : ^^^ >filter : { (predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; } -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^ >f : (x: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const f20: (a: string[]) => number[] = arrayMap(x => x.length); >f20 : (a: string[]) => number[] @@ -329,7 +329,7 @@ const f22: (a: A[]) => A[] = arrayMap(identity); >arrayMap : (f: (x: T) => U) => (a: T[]) => U[] > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f23: (a: A[]) => Box[] = arrayMap(value => ({ value })); >f23 : (a: A[]) => Box[] @@ -409,9 +409,9 @@ const f40: (b: B, a: A) => [A, B] = flip(zip); >flip(zip) : (y: B, x: A) => [A, B] > : ^ ^^^^^ ^^^^^^^^^^^^^^ >flip : (f: (x: X, y: Y) => Z) => (y: Y, x: X) => Z -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >zip : (a: A, b: B) => [A, B] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // Repro from #16293 diff --git a/tests/baselines/reference/genericContextualTypes2.types b/tests/baselines/reference/genericContextualTypes2.types index 9f027b4b1d490..5a0a15b751ddf 100644 --- a/tests/baselines/reference/genericContextualTypes2.types +++ b/tests/baselines/reference/genericContextualTypes2.types @@ -81,7 +81,7 @@ createMachine<{ count: number }>({ >createMachine<{ count: number }>({ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),}) : void > : ^^^^ >createMachine : (config: Config) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >count : number > : ^^^^^^ >{ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),} : { context: { count: number; }; entry: AssignAction<{ count: number; }>; } @@ -102,11 +102,11 @@ createMachine<{ count: number }>({ }, entry: assign({ >entry : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign({ count: (ctx: { count: number }) => ++ctx.count, }) : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign : (assignment: PropertyAssigner>) => AssignAction -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ count: (ctx: { count: number }) => ++ctx.count, } : { count: (ctx: { count: number; }) => number; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ @@ -124,7 +124,7 @@ createMachine<{ count: number }>({ >ctx.count : number > : ^^^^^^ >ctx : { count: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >count : number > : ^^^^^^ diff --git a/tests/baselines/reference/genericContextualTypes3.types b/tests/baselines/reference/genericContextualTypes3.types index 816bd57d9adf2..4b7a6177b5b1d 100644 --- a/tests/baselines/reference/genericContextualTypes3.types +++ b/tests/baselines/reference/genericContextualTypes3.types @@ -79,7 +79,7 @@ createMachine<{ count: number }>({ >createMachine<{ count: number }>({ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),}) : void > : ^^^^ >createMachine : (config: Config) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >count : number > : ^^^^^^ >{ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),} : { context: { count: number; }; entry: AssignAction<{ count: number; }>; } @@ -100,11 +100,11 @@ createMachine<{ count: number }>({ }, entry: assign({ >entry : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign({ count: (ctx: { count: number }) => ++ctx.count, }) : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign : (assignment: PropertyAssigner>) => AssignAction -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ count: (ctx: { count: number }) => ++ctx.count, } : { count: (ctx: { count: number; }) => number; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ @@ -122,7 +122,7 @@ createMachine<{ count: number }>({ >ctx.count : number > : ^^^^^^ >ctx : { count: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >count : number > : ^^^^^^ diff --git a/tests/baselines/reference/genericDefaults.types b/tests/baselines/reference/genericDefaults.types index 2957f87e059f0..b4c1c435c1d7a 100644 --- a/tests/baselines/reference/genericDefaults.types +++ b/tests/baselines/reference/genericDefaults.types @@ -69,13 +69,13 @@ f00(); >f00() : A > : ^ >f00 : (a?: A) => A -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ f00(a); >f00(a) : A > : ^ >f00 : (a?: A) => A -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >a : A > : ^ @@ -91,13 +91,13 @@ f01(); >f01() : unknown > : ^^^^^^^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ f01(a); >f01(a) : A > : ^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -106,13 +106,13 @@ f01(); >f01() : A > : ^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ f01(a); >f01(a) : A > : ^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -128,13 +128,13 @@ f02(); >f02() : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f02(a); >f02(a) : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -142,7 +142,7 @@ f02(b); >f02(b) : B > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -151,13 +151,13 @@ f02(); >f02() : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f02(a); >f02(a) : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -165,13 +165,13 @@ f02(); >f02() : B > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f02(b); >f02(b) : B > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -187,13 +187,13 @@ f03(); >f03() : unknown > : ^^^^^^^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f03(a); >f03(a) : A > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -201,7 +201,7 @@ f03(b); >f03(b) : B > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -210,13 +210,13 @@ f03(); >f03() : A > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f03(a); >f03(a) : A > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -224,13 +224,13 @@ f03(); >f03() : B > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f03(b); >f03(b) : B > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -248,13 +248,13 @@ f04(); >f04() : [unknown, B] > : ^^^^^^^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -262,7 +262,7 @@ f04(a, b); >f04(a, b) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -272,7 +272,7 @@ f04(a, c); >f04(a, c) : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -283,13 +283,13 @@ f04(); >f04() : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -297,7 +297,7 @@ f04(a, b); >f04(a, b) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -308,13 +308,13 @@ f04(); >f04() : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -322,7 +322,7 @@ f04(a, b); >f04(a, b) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -332,13 +332,13 @@ f04(); >f04() : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -346,7 +346,7 @@ f04(a, c); >f04(a, c) : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -366,13 +366,13 @@ f05(); >f05() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f05(a); >f05(a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -380,7 +380,7 @@ f05(a, a); >f05(a, a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -390,7 +390,7 @@ f05(a, b); >f05(a, b) : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -401,13 +401,13 @@ f05(); >f05() : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f05(a); >f05(a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -415,7 +415,7 @@ f05(a, a); >f05(a, a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -426,13 +426,13 @@ f05(); >f05() : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f05(a); >f05(a) : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -440,7 +440,7 @@ f05(a, b); >f05(a, b) : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -460,13 +460,13 @@ f06(); >f06() : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(a); >f06(a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -474,7 +474,7 @@ f06(a, a); >f06(a, a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -484,7 +484,7 @@ f06(a, b); >f06(a, b) : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -494,7 +494,7 @@ f06(b, a); >f06(b, a) : [B, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >a : A @@ -504,7 +504,7 @@ f06(b, b); >f06(b, b) : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >b : B @@ -515,13 +515,13 @@ f06(); >f06() : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(a); >f06(a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -529,7 +529,7 @@ f06(a, a); >f06(a, a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -539,13 +539,13 @@ f06(); >f06() : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(b); >f06(b) : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ @@ -553,7 +553,7 @@ f06(b, b); >f06(b, b) : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >b : B @@ -564,13 +564,13 @@ f06(); >f06() : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(a); >f06(a) : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -578,7 +578,7 @@ f06(a, b); >f06(a, b) : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -588,13 +588,13 @@ f06(); >f06() : [B, C] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(b); >f06(b) : [B, C] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ @@ -602,7 +602,7 @@ f06(b, c); >f06(b, c) : [B, C] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >c : C @@ -624,13 +624,13 @@ f07(); >f07() : [unknown, B, B] > : ^^^^^^^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a, b); >f07(a, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -640,7 +640,7 @@ f07(a, c); >f07(a, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -650,7 +650,7 @@ f07(a, b, b); >f07(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -662,7 +662,7 @@ f07(a, b, c); >f07(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -674,7 +674,7 @@ f07(a, c, b); >f07(a, c, b) : [A, C, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -686,7 +686,7 @@ f07(a, c, c); >f07(a, c, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -699,13 +699,13 @@ f07(); >f07() : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -713,7 +713,7 @@ f07(a, b); >f07(a, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -723,7 +723,7 @@ f07(a, b, b); >f07(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -735,13 +735,13 @@ f07(); >f07() : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -749,7 +749,7 @@ f07(a, b); >f07(a, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -759,7 +759,7 @@ f07(a, b, b); >f07(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -771,13 +771,13 @@ f07(); >f07() : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -785,7 +785,7 @@ f07(a, c); >f07(a, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -795,7 +795,7 @@ f07(a, c, c); >f07(a, c, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -808,13 +808,13 @@ f07(); >f07() : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -822,7 +822,7 @@ f07(a, b); >f07(a, b) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -832,7 +832,7 @@ f07(a, b, c); >f07(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -844,13 +844,13 @@ f07(); >f07() : [A, C, A] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, C, A] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -858,7 +858,7 @@ f07(a, c); >f07(a, c) : [A, C, D] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -868,7 +868,7 @@ f07(a, c, d); >f07(a, c, d) : [A, C, D] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -890,13 +890,13 @@ f08(); >f08() : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f08(a); >f08(a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -904,7 +904,7 @@ f08(a, a); >f08(a, a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -914,7 +914,7 @@ f08(a, b); >f08(a, b) : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -925,13 +925,13 @@ f08(); >f08() : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f08(a); >f08(a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -939,7 +939,7 @@ f08(a, a); >f08(a, a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -950,13 +950,13 @@ f08(); >f08() : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f08(a); >f08(a) : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -964,7 +964,7 @@ f08(a, b); >f08(a, b) : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -984,13 +984,13 @@ f09(); >f09() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f09(a); >f09(a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -998,7 +998,7 @@ f09(a, a); >f09(a, a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1008,7 +1008,7 @@ f09(a, ab); >f09(a, ab) : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1019,13 +1019,13 @@ f09(); >f09() : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f09(a); >f09(a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1033,7 +1033,7 @@ f09(a, a); >f09(a, a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1043,7 +1043,7 @@ f09(a, ab); >f09(a, ab) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1054,13 +1054,13 @@ f09(); >f09() : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f09(a); >f09(a) : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1068,7 +1068,7 @@ f09(a, ab); >f09(a, ab) : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1088,13 +1088,13 @@ f10(); >f10() : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1102,7 +1102,7 @@ f10(a, a); >f10(a, a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1112,7 +1112,7 @@ f10(a, ab); >f10(a, ab) : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1123,13 +1123,13 @@ f10(); >f10() : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1137,7 +1137,7 @@ f10(a, a); >f10(a, a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1147,7 +1147,7 @@ f10(a, ab); >f10(a, ab) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1158,13 +1158,13 @@ f10(); >f10() : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1172,7 +1172,7 @@ f10(a, a); >f10(a, a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1182,7 +1182,7 @@ f10(a, ab); >f10(a, ab) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1192,13 +1192,13 @@ f10(); >f10() : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1206,7 +1206,7 @@ f10(a, ab); >f10(a, ab) : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1226,13 +1226,13 @@ f11(); >f11() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f11(a); >f11(a) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1240,7 +1240,7 @@ f11(a, a); >f11(a, a) : [A, A] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1250,7 +1250,7 @@ f11(a, b); >f11(a, b) : [A, B] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1260,7 +1260,7 @@ f11(a, c); >f11(a, c) : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1271,13 +1271,13 @@ f11(); >f11() : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f11(a); >f11(a) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1285,7 +1285,7 @@ f11(a, a); >f11(a, a) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1295,7 +1295,7 @@ f11(a, b); >f11(a, b) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1306,13 +1306,13 @@ f11(); >f11() : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f11(a); >f11(a) : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1320,7 +1320,7 @@ f11(a, c); >f11(a, c) : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1340,13 +1340,13 @@ f12(); >f12() : [unknown, B] > : ^^^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f12(a); >f12(a) : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1354,7 +1354,7 @@ f12(a, a); >f12(a, a) : [A, A] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1364,7 +1364,7 @@ f12(a, b); >f12(a, b) : [A, B] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1374,7 +1374,7 @@ f12(a, c); >f12(a, c) : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1385,13 +1385,13 @@ f12(); >f12() : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f12(a); >f12(a) : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1399,7 +1399,7 @@ f12(a, ab); >f12(a, ab) : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1410,13 +1410,13 @@ f12(); >f12() : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f12(a); >f12(a) : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1424,7 +1424,7 @@ f12(a, c); >f12(a, c) : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1444,13 +1444,13 @@ f13(); >f13() : [unknown, B] > : ^^^^^^^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f13(a); >f13(a) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1458,7 +1458,7 @@ f13(a, b); >f13(a, b) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1468,7 +1468,7 @@ f13(a, c); >f13(a, c) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1479,13 +1479,13 @@ f13(); >f13() : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f13(a); >f13(a) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1493,7 +1493,7 @@ f13(a, b); >f13(a, b) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1504,13 +1504,13 @@ f13(); >f13() : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f13(a); >f13(a) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1518,7 +1518,7 @@ f13(a, c); >f13(a, c) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1528,7 +1528,7 @@ f13(a, c); >f13(a, c) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1550,13 +1550,13 @@ f14(); >f14() : [unknown, unknown, C] > : ^^^^^^^^^^^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, unknown, C] > : ^^^^^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1564,7 +1564,7 @@ f14(a, b); >f14(a, b) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1574,7 +1574,7 @@ f14(a, b, c); >f14(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1586,7 +1586,7 @@ f14(a, b, d); >f14(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1599,13 +1599,13 @@ f14(); >f14() : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1613,7 +1613,7 @@ f14(a, b); >f14(a, b) : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1623,7 +1623,7 @@ f14(a, b, c); >f14(a, b, c) : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1635,13 +1635,13 @@ f14(); >f14() : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1649,7 +1649,7 @@ f14(a, b); >f14(a, b) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1659,7 +1659,7 @@ f14(a, b, c); >f14(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1672,13 +1672,13 @@ f14(); >f14() : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1686,7 +1686,7 @@ f14(a, b); >f14(a, b) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1696,7 +1696,7 @@ f14(a, b, d); >f14(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1718,13 +1718,13 @@ f15(); >f15() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f15(a); >f15(a) : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1732,7 +1732,7 @@ f15(a, b); >f15(a, b) : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1743,13 +1743,13 @@ f15(); >f15() : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f15(a); >f15(a) : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1757,7 +1757,7 @@ f15(a, a); >f15(a, a) : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1768,13 +1768,13 @@ f15(); >f15() : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f15(a); >f15(a) : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1782,7 +1782,7 @@ f15(a, b); >f15(a, b) : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1804,13 +1804,13 @@ f16(); >f16() : [unknown, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1818,7 +1818,7 @@ f16(a, b); >f16(a, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1828,7 +1828,7 @@ f16(a, b, b); >f16(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1841,13 +1841,13 @@ f16(); >f16() : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1855,7 +1855,7 @@ f16(a, b); >f16(a, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1865,7 +1865,7 @@ f16(a, b, b); >f16(a, b, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1877,13 +1877,13 @@ f16(); >f16() : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1891,7 +1891,7 @@ f16(a, b); >f16(a, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1901,7 +1901,7 @@ f16(a, b, b); >f16(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1914,13 +1914,13 @@ f16(); >f16() : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1928,7 +1928,7 @@ f16(a, b); >f16(a, b) : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1938,7 +1938,7 @@ f16(a, b, d); >f16(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1960,13 +1960,13 @@ f17(); >f17() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f17(a); >f17(a) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1974,7 +1974,7 @@ f17(a, a); >f17(a, a) : [A, A] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1984,7 +1984,7 @@ f17(a, b); >f17(a, b) : [A, B] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1994,7 +1994,7 @@ f17(a, c); >f17(a, c) : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2005,13 +2005,13 @@ f17(); >f17() : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f17(a); >f17(a) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2019,7 +2019,7 @@ f17(a, a); >f17(a, a) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -2029,7 +2029,7 @@ f17(a, b); >f17(a, b) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2040,13 +2040,13 @@ f17(); >f17() : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f17(a); >f17(a) : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2054,7 +2054,7 @@ f17(a, c); >f17(a, c) : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2076,13 +2076,13 @@ f18(); >f18() : [unknown, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2090,7 +2090,7 @@ f18(a, b); >f18(a, b) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2100,7 +2100,7 @@ f18(a, b, b); >f18(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2112,7 +2112,7 @@ f18(a, b, c); >f18(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2125,13 +2125,13 @@ f18(); >f18() : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2139,7 +2139,7 @@ f18(a, b); >f18(a, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2149,7 +2149,7 @@ f18(a, b, b); >f18(a, b, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2161,7 +2161,7 @@ f18(a, b, c); >f18(a, b, c) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2173,13 +2173,13 @@ f18(); >f18() : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2187,7 +2187,7 @@ f18(a, b); >f18(a, b) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2197,7 +2197,7 @@ f18(a, b, b); >f18(a, b, b) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2209,7 +2209,7 @@ f18(a, b, c); >f18(a, b, c) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2222,13 +2222,13 @@ f18(); >f18() : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2236,7 +2236,7 @@ f18(a, b); >f18(a, b) : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2246,7 +2246,7 @@ f18(a, b, d); >f18(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2268,13 +2268,13 @@ f19(); >f19() : [unknown, B] > : ^^^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f19(a); >f19(a) : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2282,7 +2282,7 @@ f19(a, a); >f19(a, a) : [A, A] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -2292,7 +2292,7 @@ f19(a, b); >f19(a, b) : [A, B] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2302,7 +2302,7 @@ f19(a, ab); >f19(a, ab) : [A, AB] > : ^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -2312,7 +2312,7 @@ f19(a, c); >f19(a, c) : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2323,13 +2323,13 @@ f19(); >f19() : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f19(a); >f19(a) : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2337,7 +2337,7 @@ f19(a, ab); >f19(a, ab) : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -2348,13 +2348,13 @@ f19(); >f19() : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f19(a); >f19(a) : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2362,7 +2362,7 @@ f19(a, c); >f19(a, c) : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2384,13 +2384,13 @@ f20(); >f20() : [unknown, unknown, C] > : ^^^^^^^^^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, unknown, C] > : ^^^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2398,7 +2398,7 @@ f20(a, b); >f20(a, b) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2408,7 +2408,7 @@ f20(a, b, c); >f20(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2421,13 +2421,13 @@ f20(); >f20() : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2435,7 +2435,7 @@ f20(a, b); >f20(a, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2445,7 +2445,7 @@ f20(a, b, bc); >f20(a, b, bc) : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2457,13 +2457,13 @@ f20(); >f20() : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2471,7 +2471,7 @@ f20(a, b); >f20(a, b) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2481,7 +2481,7 @@ f20(a, b, bc); >f20(a, b, bc) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2494,13 +2494,13 @@ f20(); >f20() : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2508,7 +2508,7 @@ f20(a, b); >f20(a, b) : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2518,7 +2518,7 @@ f20(a, b, d); >f20(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/genericDefaultsErrors.types b/tests/baselines/reference/genericDefaultsErrors.types index 64fd16cb25f78..83254c12a2590 100644 --- a/tests/baselines/reference/genericDefaultsErrors.types +++ b/tests/baselines/reference/genericDefaultsErrors.types @@ -29,31 +29,31 @@ f11(); // ok >f11() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1>(); // error >f11<1>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1, 2>(); // ok >f11<1, 2>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1, 2, 3>(); // ok >f11<1, 2, 3>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1, 2, 3, 4>(); // error >f11<1, 2, 3, 4>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ declare function f12(a?: U): void; >f12 : (a?: U) => void @@ -65,13 +65,13 @@ f12(); // ok >f12() : void > : ^^^^ >f12 : (a?: U) => void -> : ^^^^ ^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^ ^^^^^^ ^^^ ^^^^^ f12("a"); // error >f12("a") : void > : ^^^^ >f12 : (a?: U) => void -> : ^^^^ ^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^ ^^^^^^ ^^^ ^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/genericDefaultsJs.types b/tests/baselines/reference/genericDefaultsJs.types index 9f0bdddf12bed..22e1b5382670b 100644 --- a/tests/baselines/reference/genericDefaultsJs.types +++ b/tests/baselines/reference/genericDefaultsJs.types @@ -42,7 +42,7 @@ const f0_v0 = f0(); >f0_v0 : any >f0() : any >f0 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ const f0_v1 = f0(1); >f0_v1 : 1 @@ -50,7 +50,7 @@ const f0_v1 = f0(1); >f0(1) : 1 > : ^ >f0 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -60,7 +60,7 @@ const f1_c0 = f1(); >f1() : [any, number] > : ^^^^^^^^^^^^^ >f1 : (x?: T) => [T, U] -> : ^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ const f1_c1 = f1(1); >f1_c1 : [number, number] @@ -68,7 +68,7 @@ const f1_c1 = f1(1); >f1(1) : [number, number] > : ^^^^^^^^^^^^^^^^ >f1 : (x?: T) => [T, U] -> : ^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types index 81a8e9b34caf3..4d0fa6ce3e5c0 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types @@ -39,7 +39,7 @@ x = y; // error >x = y : B > : ^^^^^^^^^ >x : A<{ length: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^ ^^^^ >y : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types index 34bd5cb604cea..9f2acb454dc8a 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types @@ -15,11 +15,11 @@ var g : { () : S[]; }; f = g; >f = g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ var s = f("str").toUpperCase(); >s : string @@ -27,25 +27,25 @@ var s = f("str").toUpperCase(); >f("str").toUpperCase() : string > : ^^^^^^ >f("str").toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f("str") : "str" > : ^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"str" : "str" > : ^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ console.log(s); >console.log(s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index e63a712da2086..35127cce611af 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -7,7 +7,7 @@ Instantiation count: 2,500 === genericFunctionInference1.ts === declare function pipe(ab: (...args: A) => B): (...args: A) => B; >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C, cd: (c: C) => D): (...args: A_1) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >ab : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -17,7 +17,7 @@ declare function pipe(ab: (...args: A) => B): (...args: A) = declare function pipe(ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; >pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C_1, cd: (c: C_1) => D): (...args: A_1) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >ab : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -31,7 +31,7 @@ declare function pipe(ab: (...args: A) => B, bc: (b: B) = declare function pipe(ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; >pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C_1): (...args: A_1) => C_1; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >ab : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -75,9 +75,9 @@ const f00 = pipe(list); >pipe(list) : (a: T) => T[] > : ^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f01 = pipe(list, box); >f01 : (a: T) => { value: T[]; } @@ -85,23 +85,23 @@ const f01 = pipe(list, box); >pipe(list, box) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f02 = pipe(box, list); >f02 : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ >pipe(box, list) : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f03 = pipe(x => list(x), box); >f03 : (x: any) => { value: any[]; } @@ -109,7 +109,7 @@ const f03 = pipe(x => list(x), box); >pipe(x => list(x), box) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -117,11 +117,11 @@ const f03 = pipe(x => list(x), box); >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f04 = pipe(list, x => box(x)); >f04 : (a: T) => { value: T[]; } @@ -129,9 +129,9 @@ const f04 = pipe(list, x => box(x)); >pipe(list, x => box(x)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => box(x) : (x: T[]) => { value: T[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T[] @@ -139,7 +139,7 @@ const f04 = pipe(list, x => box(x)); >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -149,7 +149,7 @@ const f05 = pipe(x => list(x), x => box(x)) >pipe(x => list(x), x => box(x)) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -157,7 +157,7 @@ const f05 = pipe(x => list(x), x => box(x)) >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >x => box(x) : (x: any[]) => { value: any[]; } @@ -167,7 +167,7 @@ const f05 = pipe(x => list(x), x => box(x)) >box(x) : { value: any[]; } > : ^^^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any[] > : ^^^^^ @@ -177,15 +177,15 @@ const f06 = pipe(list, pipe(box)); >pipe(list, pipe(box)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >pipe(box) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f07 = pipe(x => list(x), pipe(box)); >f07 : (x: any) => { value: any[]; } @@ -193,7 +193,7 @@ const f07 = pipe(x => list(x), pipe(box)); >pipe(x => list(x), pipe(box)) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -201,15 +201,15 @@ const f07 = pipe(x => list(x), pipe(box)); >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >pipe(box) : (x: any[]) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f08 = pipe(x => list(x), pipe(x => box(x))); >f08 : (x: any) => { value: any[]; } @@ -217,7 +217,7 @@ const f08 = pipe(x => list(x), pipe(x => box(x))); >pipe(x => list(x), pipe(x => box(x))) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -225,13 +225,13 @@ const f08 = pipe(x => list(x), pipe(x => box(x))); >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >pipe(x => box(x)) : (x: any[]) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => box(x) : (x: any[]) => { value: any[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any[] @@ -239,7 +239,7 @@ const f08 = pipe(x => list(x), pipe(x => box(x))); >box(x) : { value: any[]; } > : ^^^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any[] > : ^^^^^ @@ -249,9 +249,9 @@ const f09 = pipe(list, x => x.length); >pipe(list, x => x.length) : (a: T) => number > : ^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x.length : (x: T[]) => number > : ^ ^^^^^^^^^^^^^^^^ >x : T[] @@ -269,9 +269,9 @@ const f10 = pipe(foo); >pipe(foo) : (x: T) => T > : ^ ^^^^^^^^^ ^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const f11 = pipe(foo, foo); >f11 : (x: T) => T @@ -279,11 +279,11 @@ const f11 = pipe(foo, foo); >pipe(foo, foo) : (x: T) => T > : ^ ^^^^^^^^^ ^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const g00: (x: T) => T[] = pipe(list); >g00 : (x: T) => T[] @@ -293,9 +293,9 @@ const g00: (x: T) => T[] = pipe(list); >pipe(list) : (a: T) => T[] > : ^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g01: (x: T) => { value: T[] } = pipe(list, box); >g01 : (x: T) => { value: T[]; } @@ -307,11 +307,11 @@ const g01: (x: T) => { value: T[] } = pipe(list, box); >pipe(list, box) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g02: (x: T) => { value: T }[] = pipe(box, list); >g02 : (x: T) => { value: T; }[] @@ -323,11 +323,11 @@ const g02: (x: T) => { value: T }[] = pipe(box, list); >pipe(box, list) : (x: T) => { value: T; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); >g03 : (x: T) => { value: T[]; } @@ -339,7 +339,7 @@ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); >pipe(x => list(x), box) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -347,11 +347,11 @@ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); >g04 : (x: T) => { value: T[]; } @@ -363,9 +363,9 @@ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); >pipe(list, x => box(x)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => box(x) : (x: T[]) => { value: T[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T[] @@ -373,7 +373,7 @@ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -387,7 +387,7 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) >pipe(x => list(x), x => box(x)) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -395,7 +395,7 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >x => box(x) : (x: T[]) => { value: T[]; } @@ -405,7 +405,7 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -419,15 +419,15 @@ const g06: (x: T) => { value: T[] } = pipe(list, pipe(box)); >pipe(list, pipe(box)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >pipe(box) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); >g07 : (x: T) => { value: T[]; } @@ -439,7 +439,7 @@ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); >pipe(x => list(x), pipe(box)) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -447,15 +447,15 @@ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >pipe(box) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >g08 : (x: T) => { value: T[]; } @@ -467,7 +467,7 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >pipe(x => list(x), pipe(x => box(x))) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -475,13 +475,13 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >pipe(x => box(x)) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => box(x) : (x: T[]) => { value: T[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T[] @@ -489,7 +489,7 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -501,9 +501,9 @@ const g09: (x: T) => number = pipe(list, x => x.length); >pipe(list, x => x.length) : (a: T) => number > : ^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x.length : (x: T[]) => number > : ^ ^^^^^^^^^^^^^^^^ >x : T[] @@ -525,9 +525,9 @@ const g10: (x: T) => T = pipe(foo); >pipe(foo) : (x: T) => T > : ^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const g12: (x: T) => T = pipe(foo, foo); >g12 : (x: T) => T @@ -539,11 +539,11 @@ const g12: (x: T) => T = pipe(foo, foo); >pipe(foo, foo) : (x: T) => T > : ^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ declare function pipe2(ab: (a: A) => B, cd: (c: C) => D): (a: [A, C]) => [B, D]; >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] @@ -561,87 +561,87 @@ declare function pipe2(ab: (a: A) => B, cd: (c: C) => D): (a: [A, C] const f20 = pipe2(list, box); >f20 : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ >pipe2(list, box) : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f21 = pipe2(box, list); >f21 : (a: [V, T]) => [{ value: V; }, T[]] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe2(box, list) : (a: [V, T]) => [{ value: V; }, T[]] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f22 = pipe2(list, list); >f22 : (a: [T, T1]) => [T[], T1[]] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^ >pipe2(list, list) : (a: [T, T1]) => [T[], T1[]] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f23 = pipe2(box, box); >f23 : (a: [V, V1]) => [{ value: V; }, { value: V1; }] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ >pipe2(box, box) : (a: [V, V1]) => [{ value: V; }, { value: V1; }] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f24 = pipe2(f20, f20); >f24 : (a: [[T, V], [T1, V1]]) => [[T[], { value: V; }], [T1[], { value: V1; }]] -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >pipe2(f20, f20) : (a: [[T, V], [T1, V1]]) => [[T[], { value: V; }], [T1[], { value: V1; }]] -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f20 : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ >f20 : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ const f25 = pipe2(foo, foo); >f25 : (a: [T, T1]) => [T, T1] -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ >pipe2(foo, foo) : (a: [T, T1]) => [T, T1] -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const f26 = pipe2(f25, f25); >f26 : (a: [[T, T1], [T2, T3]]) => [[T, T1], [T2, T3]] -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ >pipe2(f25, f25) : (a: [[T, T1], [T2, T3]]) => [[T, T1], [T2, T3]] -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f25 : (a: [T, T1]) => [T, T1] -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ >f25 : (a: [T, T1]) => [T, T1] -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ declare function pipe3(ab: (a: A) => B, ac: (a: A) => C): (a: A) => [B, C]; >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] @@ -659,39 +659,39 @@ declare function pipe3(ab: (a: A) => B, ac: (a: A) => C): (a: A) => [B, const f30 = pipe3(list, box); >f30 : (a: T) => [T[], { value: T; }] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >pipe3(list, box) : (a: T) => [T[], { value: T; }] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f31 = pipe3(box, list); >f31 : (a: V) => [{ value: V; }, V[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe3(box, list) : (a: V) => [{ value: V; }, V[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f32 = pipe3(list, list); >f32 : (a: T) => [T[], T[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^ >pipe3(list, list) : (a: T) => [T[], T[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^ >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function pipe4(funcs: [(a: A) => B, (b: B) => C]): (a: A) => C; >pipe4 : (funcs: [(a: A) => B, (b: B) => C]) => (a: A) => C @@ -711,27 +711,27 @@ const f40 = pipe4([list, box]); >pipe4([list, box]) : (a: T) => { value: T[]; } > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >pipe4 : (funcs: [(a: A) => B, (b: B) => C]) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[list, box] : [(a: T) => T[], (x: V) => { value: V; }] -> : ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^^^^ ^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f41 = pipe4([box, list]); >f41 : (a: V) => { value: V; }[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^ >pipe4([box, list]) : (a: V) => { value: V; }[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^ >pipe4 : (funcs: [(a: A) => B, (b: B) => C]) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[box, list] : [(x: V) => { value: V; }, (a: T) => T[]] -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^^^^ ^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function pipe5(f: (a: A) => B): { f: (a: A) => B }; >pipe5 : (f: (a: A) => B) => { f: (a: A) => B; } @@ -751,9 +751,9 @@ const f50 = pipe5(list); // No higher order inference >pipe5(list) : { f: (a: unknown) => unknown[]; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe5 : (f: (a: A) => B) => { f: (a: A) => B; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function wrap3(f: (a: A, b1: B, b2: B) => C): (a: A, b1: B, b2: B) => C; >wrap3 : (f: (a: A, b1: B, b2: B) => C) => (a: A, b1: B, b2: B) => C @@ -789,9 +789,9 @@ let f60 = wrap3(baz); >wrap3(baz) : (a: T, b1: U, b2: U) => [T, U] > : ^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ >wrap3 : (f: (a: A, b1: B, b2: B) => C) => (a: A, b1: B, b2: B) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >baz : (t1: T, t2: T, u: U) => [T, U] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ declare const list2: { >list2 : { (a: T): T[]; foo: string; bar(): number; } @@ -816,23 +816,23 @@ let f70 = pipe(list2, box); >pipe(list2, box) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list2 : { (a: T): T[]; foo: string; bar(): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ let f71 = pipe(box, list2); >f71 : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ >pipe(box, list2) : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ >pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list2 : { (a: T): T[]; foo: string; bar(): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ declare class Point { >Point : Point @@ -888,7 +888,7 @@ function asFunction(cf: new (...args: A) => B) { >new cf(...args) : B > : ^ >cf : new (...args: A) => B -> : ^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >...args : any > : ^^^ >args : A @@ -1008,11 +1008,11 @@ declare class GenericComp extends Comp> {} const GenericComp2 = myHoc(GenericComp); >GenericComp2 : new (props: GenericProps) => Comp> -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >myHoc(GenericComp) : new (props: GenericProps) => Comp> -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >myHoc :

    (C: CompClass

    ) => CompClass

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

    (C: Component

    ) => Component

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

    (C: Component

    ) => Component

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

    (C: Component

    ) => Component

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

    (C: Component

    ) => Component

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

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

    (p: { [k in keyof P]: Result; }) => Result -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ >ok(at) : { lr: Result>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ok : (at: Ops) => { lr: Result>; } diff --git a/tests/baselines/reference/genericFunctionsNotContextSensitive.types b/tests/baselines/reference/genericFunctionsNotContextSensitive.types index dd599f2dcd487..e6bf5f495af6a 100644 --- a/tests/baselines/reference/genericFunctionsNotContextSensitive.types +++ b/tests/baselines/reference/genericFunctionsNotContextSensitive.types @@ -23,7 +23,7 @@ const a = f((_: K) => _ => ({})); // (_: K) >f((_: K) => _ => ({})) : (_: K) => (_: G) => {} > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ >f : (x: G) => void>(_: F) => F -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(_: K) => _ => ({}) : (_: K) => (_: G) => {} > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ >_ : K diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types index e29493967abea..f261530b260b4 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types @@ -25,39 +25,39 @@ utils.fold(); // no error >utils.fold() : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null); // no error >utils.fold(null) : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null); // no error >utils.fold(null, null) : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null, null); // no error >utils.fold(null, null, null) : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types index 47e89616a9113..e3b555bcaf788 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types @@ -25,39 +25,39 @@ utils.fold(); // error >utils.fold() : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null); // no error >utils.fold(null) : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null); // no error >utils.fold(null, null) : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null, null); // error: Unable to invoke type with no call signatures >utils.fold(null, null, null) : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types index 3babfc37fddc1..1f5280e89a789 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types @@ -58,11 +58,11 @@ var r3 = utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() }); >utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() }) : Collection > : ^^^^^^^^^^^^^^^^ >utils.mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >utils : Utils > : ^^^^^ >mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return 1 } : (x: string) => number @@ -86,11 +86,11 @@ var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return >utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return new Date() }) : Collection > : ^^^^^^^^^^^^^^^^ >utils.mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >utils : Utils > : ^^^^^ >mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : Collection > : ^^^^^^^^^^^^^^^^^^ >(x: string) => { return 1 } : (x: string) => number @@ -136,11 +136,11 @@ var r5 = utils.mapReduce(c, f1, f2); >utils.mapReduce(c, f1, f2) : Collection > : ^^^^^^^^^^^^^^^^ >utils.mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >utils : Utils > : ^^^^^ >mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : Collection > : ^^^^^^^^^^^^^^^^^^ >f1 : (x: string) => number diff --git a/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types b/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types index 29853aa26ea22..008056e556c20 100644 --- a/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types +++ b/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types @@ -42,19 +42,19 @@ export const createService = ( >Object.keys(ServiceCtr).forEach(key => { const method = (ServiceCtr)[key as keyof T]; const {__$daemonMode, __$action, id} = method; }) : void > : ^^^^ >Object.keys(ServiceCtr).forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >Object.keys(ServiceCtr) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ServiceCtr : ExtendedService & Service > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >key => { const method = (ServiceCtr)[key as keyof T]; const {__$daemonMode, __$action, id} = method; } : (key: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >key : string diff --git a/tests/baselines/reference/genericInference1.types b/tests/baselines/reference/genericInference1.types index 6ea3242e287c3..86a3e61090a75 100644 --- a/tests/baselines/reference/genericInference1.types +++ b/tests/baselines/reference/genericInference1.types @@ -5,7 +5,7 @@ >['a', 'b', 'c'].map(x => x.length) : number[] > : ^^^^^^^^ >['a', 'b', 'c'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >['a', 'b', 'c'] : string[] > : ^^^^^^^^ >'a' : "a" @@ -15,7 +15,7 @@ >'c' : "c" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/genericInference2.types b/tests/baselines/reference/genericInference2.types index 0f71d05f19314..58986441db6ff 100644 --- a/tests/baselines/reference/genericInference2.types +++ b/tests/baselines/reference/genericInference2.types @@ -41,11 +41,11 @@ >ko.observable("Bob") : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >"Bob" : "Bob" > : ^^^^^ @@ -55,11 +55,11 @@ >ko.observable(37) : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >37 : 37 > : ^^ diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameter.types b/tests/baselines/reference/genericInferenceDefaultTypeParameter.types index a29e3bc93d14d..ed6f0ed8874b1 100644 --- a/tests/baselines/reference/genericInferenceDefaultTypeParameter.types +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameter.types @@ -30,7 +30,7 @@ f1(event => { }); >f1(event => { }) : void > : ^^^^ >f1 : (props: Type[T]) => void -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^ >event => { } : (event: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >event : string @@ -40,7 +40,7 @@ f1<"a">(event => { }); >f1<"a">(event => { }) : void > : ^^^^ >f1 : (props: Type[T]) => void -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^ >event => { } : (event: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >event : string @@ -50,7 +50,7 @@ f1<"b">(event => { }); >f1<"b">(event => { }) : void > : ^^^^ >f1 : (props: Type[T]) => void -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^ >event => { } : (event: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >event : number diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types index 2b8f6659d2f51..59a4dafcda412 100644 --- a/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types @@ -54,9 +54,9 @@ const v1 = e.preventDefault()} />; >e.preventDefault() : void > : ^^^^ >e.preventDefault : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >e : React.MouseEvent > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >preventDefault : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types index 7e90ea5992393..8eaf444a17afc 100644 --- a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types +++ b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types @@ -21,17 +21,17 @@ var y: { first: string; second: number; } x = y; >x = y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ >x : Pair > : ^^^^^^^^^^^^^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ y = x; >y = x : Pair > : ^^^^^^^^^^^^^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ >x : Pair > : ^^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ f(y); >f : (x: Pair) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ f2(x); >f2(x) : any @@ -77,5 +77,5 @@ f2(y); >f2 : (x: { first: T; second: U; }) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types b/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types index 97d223f1c5710..46bbc306aac17 100644 --- a/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types +++ b/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types @@ -16,7 +16,7 @@ export function foo(fn: (ifoo: IFoo) => void) { >foo : (fn: (ifoo: IFoo) => void) => void > : ^ ^^ ^^ ^^^^^^^^^ >fn : (ifoo: IFoo) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericInterfaceTypeCall.types b/tests/baselines/reference/genericInterfaceTypeCall.types index e224193dadce4..0e4a4b8e60c11 100644 --- a/tests/baselines/reference/genericInterfaceTypeCall.types +++ b/tests/baselines/reference/genericInterfaceTypeCall.types @@ -37,11 +37,11 @@ test.fail(arg => foo.reject(arg)); >test.fail(arg => foo.reject(arg)) : void > : ^^^^ >test.fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -49,11 +49,11 @@ test.fail(arg => foo.reject(arg)); >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ @@ -61,11 +61,11 @@ test.fail2(arg => foo.reject(arg)); // Error: Supplied parameters do not match a >test.fail2(arg => foo.reject(arg)) : void > : ^^^^ >test.fail2 : (func2: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail2 : (func2: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -73,11 +73,11 @@ test.fail2(arg => foo.reject(arg)); // Error: Supplied parameters do not match a >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ diff --git a/tests/baselines/reference/genericMethodOverspecialization.types b/tests/baselines/reference/genericMethodOverspecialization.types index 64745e0ecab8e..310ab1f7c9f50 100644 --- a/tests/baselines/reference/genericMethodOverspecialization.types +++ b/tests/baselines/reference/genericMethodOverspecialization.types @@ -33,8 +33,8 @@ declare var document: Document; interface Document { getElementById(elementId: string): HTMLElement; ->getElementById : { (elementId: string): HTMLElement; (elementId: string): HTMLElement; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>getElementById : { (elementId: string): HTMLElement | null; (elementId: string): HTMLElement; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >elementId : string > : ^^^^^^ } @@ -45,11 +45,11 @@ var elements = names.map(function (name) { >names.map(function (name) { return document.getElementById(name);}) : HTMLElement[] > : ^^^^^^^^^^^^^ >names.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >names : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (name) { return document.getElementById(name);} : (name: string) => HTMLElement > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -58,12 +58,12 @@ var elements = names.map(function (name) { return document.getElementById(name); >document.getElementById(name) : HTMLElement > : ^^^^^^^^^^^ ->document.getElementById : { (elementId: string): HTMLElement; (elementId: string): HTMLElement; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +>document.getElementById : { (elementId: string): HTMLElement | null; (elementId: string): HTMLElement; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->getElementById : { (elementId: string): HTMLElement; (elementId: string): HTMLElement; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +>getElementById : { (elementId: string): HTMLElement | null; (elementId: string): HTMLElement; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ @@ -76,11 +76,11 @@ var xxx = elements.filter(function (e) { >elements.filter(function (e) { return !e.isDisabled;}) : HTMLElement[] > : ^^^^^^^^^^^^^ >elements.filter : { (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => value is S, thisArg?: any): S[]; (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => unknown, thisArg?: any): HTMLElement[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >elements : HTMLElement[] > : ^^^^^^^^^^^^^ >filter : { (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => value is S, thisArg?: any): S[]; (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => unknown, thisArg?: any): HTMLElement[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >function (e) { return !e.isDisabled;} : (e: HTMLElement) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >e : HTMLElement @@ -104,11 +104,11 @@ var widths:number[] = elements.map(function (e) { // should not error >elements.map(function (e) { // should not error return e.clientWidth;}) : number[] > : ^^^^^^^^ >elements.map : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >elements : HTMLElement[] > : ^^^^^^^^^^^^^ >map : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (e) { // should not error return e.clientWidth;} : (e: HTMLElement) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >e : HTMLElement diff --git a/tests/baselines/reference/genericNewInterface.types b/tests/baselines/reference/genericNewInterface.types index 978b039f4e7dd..854f51757dd57 100644 --- a/tests/baselines/reference/genericNewInterface.types +++ b/tests/baselines/reference/genericNewInterface.types @@ -13,7 +13,7 @@ function createInstance(ctor: new (s: string) => T): T { >new ctor(42) : T > : ^ >ctor : new (s: string) => T -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types index 27528b0a30dee..1a2cbde5968ed 100644 --- a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types +++ b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types @@ -71,11 +71,11 @@ switch (params.tag) { >getType(params).type : number > : ^^^^^^ >getType(params) : Omit<{ foo: string; } & { tag: "a"; type: number; }, "foo"> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ >getType :

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

    (params: P) => Omit > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >params : { foo: string; } & { tag: "b"; type: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >type : string > : ^^^^^^ diff --git a/tests/baselines/reference/genericOverloadSignatures.types b/tests/baselines/reference/genericOverloadSignatures.types index 812c9107299d6..4286429dc25bd 100644 --- a/tests/baselines/reference/genericOverloadSignatures.types +++ b/tests/baselines/reference/genericOverloadSignatures.types @@ -31,13 +31,13 @@ function f(a) { } interface I2 { f(x: T): number; >f : { (x: T): number; (x: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ f(x: T): string; >f : { (x: T_1): number; (x: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ } @@ -45,13 +45,13 @@ interface I2 { interface I3 { f(x: T): number; >f : { (x: T): number; (x: T): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ f(x: T): string; >f : { (x: T): number; (x: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/genericParameterAssignability1.types b/tests/baselines/reference/genericParameterAssignability1.types index fb4e6bd963f14..f2814a0b7408f 100644 --- a/tests/baselines/reference/genericParameterAssignability1.types +++ b/tests/baselines/reference/genericParameterAssignability1.types @@ -19,9 +19,9 @@ var r = (x: T) => x; r = f; // should be allowed >r = f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >r : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types index 524b26d0517a6..b613adbf23201 100644 --- a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types +++ b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types @@ -191,12 +191,12 @@ module TypeScript { return MemberName.create(elementMemberName, "", "[]"); >MemberName.create(elementMemberName, "", "[]") : any > : ^^^ ->MemberName.create : (arg1: any, arg2?: any, arg3?: any) => any -> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>MemberName.create : (arg1: any, arg2?: any, arg3?: any) => MemberName +> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >MemberName : typeof MemberName > : ^^^^^^^^^^^^^^^^^ ->create : (arg1: any, arg2?: any, arg3?: any) => any -> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>create : (arg1: any, arg2?: any, arg3?: any) => MemberName +> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >elementMemberName : any > : ^^^ >"" : "" diff --git a/tests/baselines/reference/genericReduce.types b/tests/baselines/reference/genericReduce.types index 83934d814f703..009a20a223747 100644 --- a/tests/baselines/reference/genericReduce.types +++ b/tests/baselines/reference/genericReduce.types @@ -21,11 +21,11 @@ var b = a.map(s => s.length); >a.map(s => s.length) : number[] > : ^^^^^^^^ >a.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >a : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -101,11 +101,11 @@ n1.toExponential(2); // should not error if 'n1' is correctly number. >n1.toExponential(2) : string > : ^^^^^^ >n1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -125,11 +125,11 @@ n2.toExponential(2); // should not error if 'n2' is correctly number. >n2.toExponential(2) : string > : ^^^^^^ >n2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -175,11 +175,11 @@ n3.charAt(0); // should not error if 'n3' is correctly type 'string' >n3.charAt(0) : string > : ^^^^^^ >n3.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n3 : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/genericRestArgs.types b/tests/baselines/reference/genericRestArgs.types index 68a01a4f14d17..297a59b88ada0 100644 --- a/tests/baselines/reference/genericRestArgs.types +++ b/tests/baselines/reference/genericRestArgs.types @@ -15,7 +15,7 @@ var a1Ga = makeArrayG(1, ""); // no error >makeArrayG(1, "") : number[] > : ^^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -27,7 +27,7 @@ var a1Gb = makeArrayG(1, ""); >makeArrayG(1, "") : any[] > : ^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -39,7 +39,7 @@ var a1Gc = makeArrayG(1, ""); >makeArrayG(1, "") : Object[] > : ^^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -51,7 +51,7 @@ var a1Gd = makeArrayG(1, ""); // error >makeArrayG(1, "") : number[] > : ^^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -95,7 +95,7 @@ var a2Gb = makeArrayG(1, ""); >makeArrayG(1, "") : any[] > : ^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -107,7 +107,7 @@ var a2Gc = makeArrayG(1, ""); // error >makeArrayG(1, "") : any[][] > : ^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/genericRestArity.types b/tests/baselines/reference/genericRestArity.types index c02329d6cb75a..0334641fc06e9 100644 --- a/tests/baselines/reference/genericRestArity.types +++ b/tests/baselines/reference/genericRestArity.types @@ -21,7 +21,7 @@ call((x: number, y: number) => x + y); >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -39,7 +39,7 @@ call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7); >call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/genericRestArityStrict.types b/tests/baselines/reference/genericRestArityStrict.types index 4068aacee676a..d41d78a17e6c4 100644 --- a/tests/baselines/reference/genericRestArityStrict.types +++ b/tests/baselines/reference/genericRestArityStrict.types @@ -21,7 +21,7 @@ call((x: number, y: number) => x + y); >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -39,7 +39,7 @@ call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7); >call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/genericRestParameters1.types b/tests/baselines/reference/genericRestParameters1.types index 9580656de8928..6c5fb604c4eeb 100644 --- a/tests/baselines/reference/genericRestParameters1.types +++ b/tests/baselines/reference/genericRestParameters1.types @@ -19,19 +19,19 @@ declare let f2: (x0: number, x1: string, x2: boolean) => void; f1 = f2; >f1 = f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ f2 = f1; >f2 = f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare const t3: [number, string, boolean]; >t3 : [number, string, boolean] @@ -61,7 +61,7 @@ f1(42, "hello", true); >f1(42, "hello", true) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -73,7 +73,7 @@ f1(t3[0], t3[1], t3[2]); >f1(t3[0], t3[1], t3[2]) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t3[0] : number > : ^^^^^^ >t3 : [number, string, boolean] @@ -97,7 +97,7 @@ f1(...t3); >f1(...t3) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -107,7 +107,7 @@ f1(42, ...t2); >f1(42, ...t2) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -119,7 +119,7 @@ f1(42, "hello", ...t1); >f1(42, "hello", ...t1) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -133,7 +133,7 @@ f1(42, "hello", true, ...t0); >f1(42, "hello", true, ...t0) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -149,7 +149,7 @@ f1(ns[0], ns[1], true); >f1(ns[0], ns[1], true) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ns[0] : number > : ^^^^^^ >ns : [number, string] @@ -169,7 +169,7 @@ f1(...ns, true); // FIXME: Error, since ...ns is considered as string|number he >f1(...ns, true) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -181,7 +181,7 @@ f2(42, "hello", true); >f2(42, "hello", true) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -193,7 +193,7 @@ f2(t3[0], t3[1], t3[2]); >f2(t3[0], t3[1], t3[2]) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t3[0] : number > : ^^^^^^ >t3 : [number, string, boolean] @@ -217,7 +217,7 @@ f2(...t3); >f2(...t3) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -227,7 +227,7 @@ f2(42, ...t2); >f2(42, ...t2) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -239,7 +239,7 @@ f2(42, "hello", ...t1); >f2(42, "hello", ...t1) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -253,7 +253,7 @@ f2(42, "hello", true, ...t0); >f2(42, "hello", true, ...t0) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -269,7 +269,7 @@ f2(ns[0], ns[1], true); >f2(ns[0], ns[1], true) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ns[0] : number > : ^^^^^^ >ns : [number, string] @@ -289,7 +289,7 @@ f2(...ns, true); // FIXME: Error, since ...ns is considered as string|number he >f2(...ns, true) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -309,7 +309,7 @@ const x10 = f10(42, "hello", true); // [number, string, boolean] >f10(42, "hello", true) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -323,7 +323,7 @@ const x11 = f10(42, "hello"); // [number, string] >f10(42, "hello") : [number, string] > : ^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -335,7 +335,7 @@ const x12 = f10(42); // [number] >f10(42) : [number] > : ^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -345,7 +345,7 @@ const x13 = f10(); // [] >f10() : [] > : ^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ const x14 = f10(...t3); // [number, string, boolean] >x14 : [number, string, boolean] @@ -353,7 +353,7 @@ const x14 = f10(...t3); // [number, string, boolean] >f10(...t3) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -365,7 +365,7 @@ const x15 = f10(42, ...t2); // [number, string, boolean] >f10(42, ...t2) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -379,7 +379,7 @@ const x16 = f10(42, "hello", ...t1); // [number, string, boolean] >f10(42, "hello", ...t1) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -395,7 +395,7 @@ const x17 = f10(42, "hello", true, ...t0); // [number, string, boolean] >f10(42, "hello", true, ...t0) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -413,7 +413,7 @@ const x18 = f10(...ns, true); // (string | number | boolean)[] >f10(...ns, true) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -435,7 +435,7 @@ function g10(u: U, v: V) { >f10(...u) : U > : ^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -447,7 +447,7 @@ function g10(u: U, v: V) { >f10(...v) : V > : ^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...v : number > : ^^^^^^ >v : V @@ -459,7 +459,7 @@ function g10(u: U, v: V) { >f10(1, ...u) : [number, ...U] > : ^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >...u : string @@ -473,7 +473,7 @@ function g10(u: U, v: V) { >f10(...u, ...v) : [...U, ...V] > : ^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -496,7 +496,7 @@ const z10 = f11(42, "hello", true); // [42, "hello", true] >f11(42, "hello", true) : [42, "hello", true] > : ^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -510,7 +510,7 @@ const z11 = f11(42, "hello"); // [42, "hello"] >f11(42, "hello") : [42, "hello"] > : ^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -522,7 +522,7 @@ const z12 = f11(42); // [42] >f11(42) : [42] > : ^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -532,7 +532,7 @@ const z13 = f11(); // [] >f11() : [] > : ^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ const z14 = f11(...t3); // [number, string, boolean] >z14 : [number, string, boolean] @@ -540,7 +540,7 @@ const z14 = f11(...t3); // [number, string, boolean] >f11(...t3) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -552,7 +552,7 @@ const z15 = f11(42, ...t2); // [42, string, boolean] >f11(42, ...t2) : [42, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -566,7 +566,7 @@ const z16 = f11(42, "hello", ...t1); // [42, "hello", boolean] >f11(42, "hello", ...t1) : [42, "hello", boolean] > : ^^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -582,7 +582,7 @@ const z17 = f11(42, "hello", true, ...t0); // [42, "hello", true] >f11(42, "hello", true, ...t0) : [42, "hello", true] > : ^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -600,7 +600,7 @@ const z18 = f11(...ns, true); // (string | number | true)[] >f11(...ns, true) : [number, string, true] > : ^^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -622,7 +622,7 @@ function g11(u: U, v: V) { >f11(...u) : U > : ^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -634,7 +634,7 @@ function g11(u: U, v: V) { >f11(...v) : V > : ^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...v : number > : ^^^^^^ >v : V @@ -646,7 +646,7 @@ function g11(u: U, v: V) { >f11(1, ...u) : [1, ...U] > : ^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >...u : string @@ -660,7 +660,7 @@ function g11(u: U, v: V) { >f11(...u, ...v) : [...U, ...V] > : ^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -685,7 +685,7 @@ function call(f: (...args: T) => U, ...args: T) { >f(...args) : U > : ^ >f : (...args: T) => U -> : ^^^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^^^^ >...args : unknown > : ^^^^^^^ >args : T @@ -706,7 +706,7 @@ function callr(args: T, f: (...args: T) => U) { >f(...args) : U > : ^ >f : (...args: T) => U -> : ^^^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^^^^ >...args : unknown > : ^^^^^^^ >args : T @@ -785,7 +785,7 @@ let x22 = call(f15, "hello", 42); // string | number >call : (f: (...args: T) => U, ...args: T) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f15 : (a: string, b: number) => string | number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -799,7 +799,7 @@ let x23 = call(f16, "hello", 42); // unknown >call : (f: (...args: T) => U, ...args: T) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f16 : (a: A, b: B) => A | B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -813,7 +813,7 @@ let x24 = call<[string, number], string | number>(f16, "hello", 42); // string >call : (f: (...args: T) => U, ...args: T) => U > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f16 : (a: A, b: B) => A | B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -851,7 +851,7 @@ let x31 = callr(sn, f15); // string | number >sn : [string, number] > : ^^^^^^^^^^^^^^^^ >f15 : (a: string, b: number) => string | number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let x32 = callr(sn, f16); // string | number >x32 : string | number @@ -863,7 +863,7 @@ let x32 = callr(sn, f16); // string | number >sn : [string, number] > : ^^^^^^^^^^^^^^^^ >f16 : (a: A, b: B) => A | B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ function bind(f: (x: T, ...rest: U) => V, x: T) { >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V @@ -885,7 +885,7 @@ function bind(f: (x: T, ...rest: U) => V, x: T) { >f(x, ...rest) : V > : ^ >f : (x: T, ...rest: U) => V -> : ^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : T > : ^ >...rest : unknown @@ -912,7 +912,7 @@ const f21 = bind(f20, 42); // (y: string, z: boolean) => string[] >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V > : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >f20 : (x: number, y: string, z: boolean) => string[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -944,7 +944,7 @@ f20(42, "hello", true); >f20(42, "hello", true) : string[] > : ^^^^^^^^ >f20 : (x: number, y: string, z: boolean) => string[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -994,7 +994,7 @@ const g21 = bind(g20, 42); // (y: string, z: boolean) => string[] >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V > : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ @@ -1026,7 +1026,7 @@ g20(42, "hello", true); >g20(42, "hello", true) : string[] > : ^^^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -1038,7 +1038,7 @@ g20(42, "hello"); >g20(42, "hello") : string[] > : ^^^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -1048,7 +1048,7 @@ g20(42); >g20(42) : string[] > : ^^^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ @@ -1112,7 +1112,7 @@ const c30 = f30(42, x => "" + x, x => x + 1); // [(x: number) => string, (x: nu >f30(42, x => "" + x, x => x + 1) : [(x: number) => string, (x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f30 : any)[]>(x: T, ...args: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >x => "" + x : (x: number) => string @@ -1238,11 +1238,11 @@ events.emit('move', 10, 'left'); >events.emit('move', 10, 'left') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'move' : "move" > : ^^^^^^ >10 : 10 @@ -1254,11 +1254,11 @@ events.emit('jump', 20, 'up'); >events.emit('jump', 20, 'up') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'jump' : "jump" > : ^^^^^^ >20 : 20 @@ -1270,11 +1270,11 @@ events.emit('stop', 'Bye!'); >events.emit('stop', 'Bye!') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'stop' : "stop" > : ^^^^^^ >'Bye!' : "Bye!" @@ -1284,11 +1284,11 @@ events.emit('done'); >events.emit('done') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'done' : "done" > : ^^^^^^ @@ -1318,25 +1318,25 @@ declare var ff4: (a: never) => void; ff1 = ff2; >ff1 = ff2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ff1 : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ ff1 = ff3; >ff1 = ff3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ff1 : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ ff1 = ff4; // Error >ff1 = ff4 : (a: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ff1 : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff4 : (a: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericRestParameters2.types b/tests/baselines/reference/genericRestParameters2.types index 434d1e2216432..35697d2c52c77 100644 --- a/tests/baselines/reference/genericRestParameters2.types +++ b/tests/baselines/reference/genericRestParameters2.types @@ -109,7 +109,7 @@ f10(42, "hello"); >f10(42, "hello") : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -119,7 +119,7 @@ f10(42, "hello", true); >f10(42, "hello", true) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -131,7 +131,7 @@ f10(42, "hello", true, false); >f10(42, "hello", true, false) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -145,7 +145,7 @@ f10(t1[0], t1[1], t1[2], t1[3]); >f10(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -175,7 +175,7 @@ f10(...t1); >f10(...t1) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -185,7 +185,7 @@ f10(42, ...t2); >f10(42, ...t2) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -197,7 +197,7 @@ f10(42, "hello", ...t3); >f10(42, "hello", ...t3) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -211,7 +211,7 @@ f10(42, "hello", true, ...t4); >f10(42, "hello", true, ...t4) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -227,7 +227,7 @@ f10(42, "hello", true, ...t4, false, ...t3); >f10(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -249,7 +249,7 @@ f11(42, "hello"); >f11(42, "hello") : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -259,7 +259,7 @@ f11(42, "hello", true); >f11(42, "hello", true) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -271,7 +271,7 @@ f11(42, "hello", true, false); >f11(42, "hello", true, false) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -285,7 +285,7 @@ f11(t1[0], t1[1], t1[2], t1[3]); >f11(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -315,7 +315,7 @@ f11(...t1); >f11(...t1) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -325,7 +325,7 @@ f11(42, ...t2); >f11(42, ...t2) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -337,7 +337,7 @@ f11(42, "hello", ...t3); >f11(42, "hello", ...t3) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -351,7 +351,7 @@ f11(42, "hello", true, ...t4); >f11(42, "hello", true, ...t4) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -367,7 +367,7 @@ f11(42, "hello", true, ...t4, false, ...t3); >f11(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -389,7 +389,7 @@ f12(42, "hello"); >f12(42, "hello") : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -399,7 +399,7 @@ f12(42, "hello", true); >f12(42, "hello", true) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -411,7 +411,7 @@ f12(42, "hello", true, false); >f12(42, "hello", true, false) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -425,7 +425,7 @@ f12(t1[0], t1[1], t1[2], t1[3]); >f12(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -455,7 +455,7 @@ f12(...t1); >f12(...t1) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -465,7 +465,7 @@ f12(42, ...t2); >f12(42, ...t2) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -477,7 +477,7 @@ f12(42, "hello", ...t3); >f12(42, "hello", ...t3) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -491,7 +491,7 @@ f12(42, "hello", true, ...t4); >f12(42, "hello", true, ...t4) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -507,7 +507,7 @@ f12(42, "hello", true, ...t4, false, ...t3); >f12(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -529,7 +529,7 @@ f13(42, "hello"); >f13(42, "hello") : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -539,7 +539,7 @@ f13(42, "hello", true); >f13(42, "hello", true) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -551,7 +551,7 @@ f13(42, "hello", true, false); >f13(42, "hello", true, false) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -565,7 +565,7 @@ f13(t1[0], t1[1], t1[2], t1[3]); >f13(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -595,7 +595,7 @@ f13(...t1); >f13(...t1) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -605,7 +605,7 @@ f13(42, ...t2); >f13(42, ...t2) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -617,7 +617,7 @@ f13(42, "hello", ...t3); >f13(42, "hello", ...t3) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -631,7 +631,7 @@ f13(42, "hello", true, ...t4); >f13(42, "hello", true, ...t4) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -647,7 +647,7 @@ f13(42, "hello", true, ...t4, false, ...t3); >f13(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -675,7 +675,7 @@ f20(...t1); >f20(...t1) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -685,7 +685,7 @@ f20(42, ...t2); >f20(42, ...t2) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -697,7 +697,7 @@ f20(42, "hello", ...t3); >f20(42, "hello", ...t3) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -711,7 +711,7 @@ f20(42, "hello", ...t2, true); >f20(42, "hello", ...t2, true) : [number, string, string, ...boolean[], boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" diff --git a/tests/baselines/reference/genericRestParameters3.types b/tests/baselines/reference/genericRestParameters3.types index ceaccf3409c18..71754befe9618 100644 --- a/tests/baselines/reference/genericRestParameters3.types +++ b/tests/baselines/reference/genericRestParameters3.types @@ -53,7 +53,7 @@ f1("foo", "abc"); >f1("foo", "abc") : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >"abc" : "abc" @@ -63,7 +63,7 @@ f1("foo", 10, true); >f1("foo", 10, true) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >10 : 10 @@ -75,7 +75,7 @@ f1("foo", ...t1); >f1("foo", ...t1) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t1 : string | number | boolean @@ -87,7 +87,7 @@ f1("foo", ...t2); >f1("foo", ...t2) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t2 : string | number | boolean @@ -99,7 +99,7 @@ f1("foo", ...t3); >f1("foo", ...t3) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t3 : string | number | boolean @@ -111,7 +111,7 @@ f1("foo", ...t4); >f1("foo", ...t4) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t4 : string | number | boolean @@ -123,7 +123,7 @@ f1("foo", 10); // Error >f1("foo", 10) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >10 : 10 @@ -133,57 +133,57 @@ f1("foo"); // Error >f1("foo") : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ f2 = f1; >f2 = f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f2 : (x: string, y: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ f3 = f1; >f3 = f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f3 : (x: string, y: number, z: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ f4 = f1; >f4 = f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f4 : (...args: [string, string] | [string, number, boolean]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ f1 = f2; // Error >f1 = f2 : (x: string, y: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f2 : (x: string, y: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ f1 = f3; // Error >f1 = f3 : (x: string, y: number, z: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f3 : (x: string, y: number, z: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ f1 = f4; >f1 = f4 : (...args: [string, string] | [string, number, boolean]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f4 : (...args: [string, string] | [string, number, boolean]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // Repro from #26110 @@ -205,13 +205,13 @@ foo>(); // Error >foo>() : void > : ^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ foo>(100); // Error >foo>(100) : void > : ^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >100 : 100 > : ^^^ @@ -219,9 +219,9 @@ foo>(foo); // Error >foo>(foo) : void > : ^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ function bar(...args: T): T { >bar : (...args: T) => T @@ -240,7 +240,7 @@ let a = bar(10, 20); >bar(10, 20) : [number, number] > : ^^^^^^^^^^^^^^^^ >bar : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >20 : 20 @@ -252,7 +252,7 @@ let b = bar>(10, 20); // Error >bar>(10, 20) : CoolArray > : ^^^^^^^^^^^^^^^^^ >bar : (...args: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >20 : 20 @@ -272,13 +272,13 @@ baz(); // Error >baz() : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ baz(1); // Error >baz(1) : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -286,7 +286,7 @@ baz(1, 2); // Error >baz(1, 2) : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -296,7 +296,7 @@ baz(...ca); // Error >baz(...ca) : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >...ca : number > : ^^^^^^ >ca : CoolArray @@ -314,13 +314,13 @@ hmm(); // okay, A = [] >hmm() : void > : ^^^^ >hmm : (...args: A) => void -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ hmm(1, "s"); // okay, A = [1, "s"] >hmm(1, "s") : void > : ^^^^ >hmm : (...args: A) => void -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"s" : "s" @@ -330,7 +330,7 @@ hmm("what"); // no error? A = [] | [number, string] ? >hmm("what") : void > : ^^^^ >hmm : (...args: A) => void -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"what" : "what" > : ^^^^^^ @@ -354,7 +354,7 @@ foo2(...x2); >foo2(...x2) : void > : ^^^^ >foo2 : (...args: string[] | number[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...x2 : string > : ^^^^^^ >x2 : readonly string[] @@ -394,19 +394,19 @@ declare let ff2: (x: string, ...rest: [string] | [number]) => void; ff1 = ff2; >ff1 = ff2 : (x: string, ...rest: [string] | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >ff1 : (...rest: [string, string] | [string, number]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff2 : (x: string, ...rest: [string] | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ ff2 = ff1; >ff2 = ff1 : (...rest: [string, string] | [string, number]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff2 : (x: string, ...rest: [string] | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >ff1 : (...rest: [string, string] | [string, number]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ function ff3(s1: (...args: [x: string, ...rest: A | [number]]) => void, s2: (x: string, ...rest: A | [number]) => void) { >ff3 : (s1: (...args: [x: string, ...rest: A | [number]]) => void, s2: (x: string, ...rest: A | [number]) => void) => void @@ -424,18 +424,18 @@ function ff3(s1: (...args: [x: string, ...rest: A | [number s1 = s2; >s1 = s2 : (x: string, ...rest: A | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >s1 : (...args: [x: string, ...rest: A | [number]]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s2 : (x: string, ...rest: A | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ s2 = s1; >s2 = s1 : (...args: [x: string, ...rest: A | [number]]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s2 : (x: string, ...rest: A | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >s1 : (...args: [x: string, ...rest: A | [number]]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericRestTypes.types b/tests/baselines/reference/genericRestTypes.types index c122c7c4f5c4f..a90e352d70576 100644 --- a/tests/baselines/reference/genericRestTypes.types +++ b/tests/baselines/reference/genericRestTypes.types @@ -69,7 +69,7 @@ function assignmentWithComplexRest() { >args : never > : ^^^^^ >fn1 : (x: string, ...rest: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } function assignmentWithComplexRest2() { @@ -88,7 +88,7 @@ function assignmentWithComplexRest2() { >(cb) => {} : (cb: (x: string, ...rest: T) => void) => void > : ^ ^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >cb : (x: string, ...rest: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const fn2: (cb: (...args: never) => void) => void = fn1; >fn2 : (cb: (...args: never) => void) => void @@ -98,7 +98,7 @@ function assignmentWithComplexRest2() { >args : never > : ^^^^^ >fn1 : (cb: (x: string, ...rest: T) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } function assignmentWithComplexRest3() { @@ -131,5 +131,5 @@ function assignmentWithComplexRest3() { >x : "b" > : ^^^ >fn1 : (x: string, ...rest: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericReversingTypeParameters.types b/tests/baselines/reference/genericReversingTypeParameters.types index 0d841756ec189..a9ee4ec20c809 100644 --- a/tests/baselines/reference/genericReversingTypeParameters.types +++ b/tests/baselines/reference/genericReversingTypeParameters.types @@ -48,11 +48,11 @@ var i = b.inverse(); // used to get the type wrong here. >b.inverse() : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >b.inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ >b : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ var r2b = i.get(1); >r2b : string diff --git a/tests/baselines/reference/genericReversingTypeParameters2.types b/tests/baselines/reference/genericReversingTypeParameters2.types index c21115317d619..0791f8e5dfb5c 100644 --- a/tests/baselines/reference/genericReversingTypeParameters2.types +++ b/tests/baselines/reference/genericReversingTypeParameters2.types @@ -34,11 +34,11 @@ var i = b.inverse(); // used to get the type wrong here. >b.inverse() : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >b.inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ >b : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ var r2b = i.get(1); >r2b : string diff --git a/tests/baselines/reference/genericSignatureIdentity.types b/tests/baselines/reference/genericSignatureIdentity.types index ac87af8165684..3932c66a20c01 100644 --- a/tests/baselines/reference/genericSignatureIdentity.types +++ b/tests/baselines/reference/genericSignatureIdentity.types @@ -18,7 +18,7 @@ var x: { var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: T): T; >x : T @@ -28,7 +28,7 @@ var x: { var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: T): T; >x : T @@ -38,7 +38,7 @@ var x: { var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: any): any; >x : any diff --git a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types index f015834243f7c..aa8aba8f2b06c 100644 --- a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types +++ b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types @@ -5,7 +5,7 @@ interface IEnumerable { zip(second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; >zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (...params: any[]): IEnumerable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >second : IEnumerable > : ^^^^^^^^^^^^^^ >resultSelector : (first: T, second: T, index: number) => TResult @@ -19,7 +19,7 @@ interface IEnumerable { zip(second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; >zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >second : T[] > : ^^^ >resultSelector : (first: T, second: T, index: number) => TResult @@ -33,32 +33,32 @@ interface IEnumerable { zip(...params: any[]): IEnumerable; // last one is selector >zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (...params: any[]): IEnumerable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >params : any[] > : ^^^^^ merge(...params: IEnumerable[]): IEnumerable; >merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >params : IEnumerable[] > : ^^^^^^^^^^^^^^^^ merge(...params: T[][]): IEnumerable; >merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >params : T[][] > : ^^^^^ concat(...sequences: IEnumerable[]): IEnumerable; >concat : { (...sequences: IEnumerable[]): IEnumerable; (...sequences: T[]): IEnumerable; } -> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >sequences : IEnumerable[] > : ^^^^^^^^^^^^^^^^ concat(...sequences: T[]): IEnumerable; >concat : { (...sequences: IEnumerable[]): IEnumerable; (...sequences: T[]): IEnumerable; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >sequences : T[] > : ^^^ @@ -72,13 +72,13 @@ interface IEnumerable { sequenceEqual(second: IEnumerable): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : IEnumerable > : ^^^^^^^^^^^^^^ sequenceEqual(second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : IEnumerable > : ^^^^^^^^^^^^^^ >compareSelector : (element: T) => TCompare @@ -88,13 +88,13 @@ interface IEnumerable { sequenceEqual(second: T[]): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : T[] > : ^^^ sequenceEqual(second: T[], compareSelector: (element: T) => TCompare): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare_1): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : T[] > : ^^^ >compareSelector : (element: T) => TCompare @@ -104,7 +104,7 @@ interface IEnumerable { toDictionary(keySelector: (element: T) => TKey): IDictionary; >toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue, compareSelector: (key: TKey_1) => TCompare): IDictionary; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T @@ -112,7 +112,7 @@ interface IEnumerable { toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; >toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue_1, compareSelector: (key: TKey_1) => TCompare): IDictionary; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T @@ -124,7 +124,7 @@ interface IEnumerable { toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; >toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T diff --git a/tests/baselines/reference/genericSpecializations3.types b/tests/baselines/reference/genericSpecializations3.types index 36c4e434cbfde..23823d193ad98 100644 --- a/tests/baselines/reference/genericSpecializations3.types +++ b/tests/baselines/reference/genericSpecializations3.types @@ -74,11 +74,11 @@ stringFoo2.foo("hm"); >stringFoo2.foo("hm") : string > : ^^^^^^ >stringFoo2.foo : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >stringFoo2 : StringFoo2 > : ^^^^^^^^^^ >foo : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hm" : "hm" > : ^^^^ diff --git a/tests/baselines/reference/genericStaticAnyTypeFunction.types b/tests/baselines/reference/genericStaticAnyTypeFunction.types index 4955108e79917..477e7d80038a8 100644 --- a/tests/baselines/reference/genericStaticAnyTypeFunction.types +++ b/tests/baselines/reference/genericStaticAnyTypeFunction.types @@ -34,11 +34,11 @@ class A { >this.one(source, 42) : T > : ^ >this.one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >this : typeof A > : ^^^^^^^^ >one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >source : T > : ^ >42 : 42 diff --git a/tests/baselines/reference/genericTemplateOverloadResolution.types b/tests/baselines/reference/genericTemplateOverloadResolution.types index 096fbdba851e4..abe72792dc088 100644 --- a/tests/baselines/reference/genericTemplateOverloadResolution.types +++ b/tests/baselines/reference/genericTemplateOverloadResolution.types @@ -25,7 +25,7 @@ expect(fooFn``); >expect(fooFn``) : void > : ^^^^ >expect : (x: Promise) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fooFn`` : Promise > : ^^^^^^^^^^^^^^^ >fooFn : IFooFn diff --git a/tests/baselines/reference/genericTypeArgumentInference1.types b/tests/baselines/reference/genericTypeArgumentInference1.types index b4fd4e5f58f72..ad6c98f795b4b 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -41,11 +41,11 @@ var r = _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true, 1, null, 'yes'] : (string | number | true)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -55,11 +55,11 @@ var r = _.all([true, 1, null, 'yes'], _.identity); >'yes' : "yes" > : ^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r2 = _.all([true], _.identity); >r2 : boolean @@ -67,21 +67,21 @@ var r2 = _.all([true], _.identity); >_.all([true], _.identity) : boolean > : ^^^^^^^ >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true] : true[] > : ^^^^^^ >true : true > : ^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r3 = _.all([], _.identity); >r3 : any @@ -89,19 +89,19 @@ var r3 = _.all([], _.identity); >_.all([], _.identity) : any > : ^^^ >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r4 = _.all([true], _.identity); >r4 : any @@ -109,11 +109,11 @@ var r4 = _.all([true], _.identity); >_.all([true], _.identity) : any > : ^^^ >_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true] : any[] > : ^^^^^ >true : any @@ -121,9 +121,9 @@ var r4 = _.all([true], _.identity); >true : true > : ^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.types b/tests/baselines/reference/genericTypeParameterEquivalence2.types index 3de02a250a983..98475497837bc 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.types +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.types @@ -26,14 +26,14 @@ function compose(f: (b: B) => C, g: (a:A) => B): (a:A) => C { >f(g.apply(null, a)) : C > : ^ >f : (b: B) => C -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g.apply(null, a) : any >g.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >g : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -77,7 +77,7 @@ function forEach(list: A[], f: (a: A, n?: number) => void ): void { >f(list[i], i) : void > : ^^^^ >f : (a: A, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >list[i] : A > : ^ >list : A[] @@ -110,7 +110,7 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >forEach(ar, (el) => { if (f(el)) { ret.push(el); } } ) : void > : ^^^^ >forEach : (list: A_1[], f: (a: A_1, n?: number) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ar : A[] > : ^^^ >(el) => { if (f(el)) { ret.push(el); } } : (el: A) => void @@ -122,7 +122,7 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >f(el) : boolean > : ^^^^^^^ >f : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >el : A > : ^ @@ -130,11 +130,11 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >ret.push(el) : number > : ^^^^^^ >ret.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ret : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >el : A > : ^ } @@ -192,7 +192,7 @@ function curry1(f: (a: A, b: B) => C): (ax: A) => (bx: B) => C { >f(ay, by) : C > : ^ >f : (a: A, b: B) => C -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ay : A > : ^ >by : B @@ -204,13 +204,13 @@ function curry1(f: (a: A, b: B) => C): (ax: A) => (bx: B) => C { var cfilter = curry1(filter); >cfilter : (ax: (a: A) => boolean) => (bx: A[]) => A[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^ ^^^ >curry1(filter) : (ax: (a: A) => boolean) => (bx: A[]) => A[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^ ^^^ >curry1 : (f: (a: A, b: B) => C) => (ax: A) => (bx: B) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >filter : (f: (a: A) => boolean, ar: A[]) => A[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ // compose :: (b->c) -> (a->b) -> (a->c) // length :: [a] -> Num @@ -234,15 +234,15 @@ function countWhere_1(pred: (a: A) => boolean): (a: A[]) => number { >compose(length2, cfilter(pred)) : (a: A[]) => number > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (b: B) => C, g: (a: A_1) => B) => (a: A_1) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >length2 : (ar: A_1[]) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >cfilter(pred) : (bx: A[]) => A[] > : ^ ^^^^^^^^^^^^^ >cfilter : (ax: (a: A_1) => boolean) => (bx: A_1[]) => A_1[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^ >pred : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } function countWhere_2(pred: (a: A) => boolean): (a: A[]) => number { @@ -261,17 +261,17 @@ function countWhere_2(pred: (a: A) => boolean): (a: A[]) => number { >cfilter(pred) : (bx: A[]) => A[] > : ^ ^^^^^^^^^^^^^ >cfilter : (ax: (a: A_1) => boolean) => (bx: A_1[]) => A_1[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^ >pred : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return compose(length2, where); >compose(length2, where) : (a: A[]) => number > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (b: B) => C, g: (a: A_1) => B) => (a: A_1) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >length2 : (ar: A_1[]) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >where : (bx: A[]) => A[] > : ^ ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/genericTypeWithMultipleBases1.types b/tests/baselines/reference/genericTypeWithMultipleBases1.types index bc153a71c4a76..5a5a8d4226efc 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases1.types +++ b/tests/baselines/reference/genericTypeWithMultipleBases1.types @@ -36,20 +36,20 @@ x.m1(); >x.m1() : void > : ^^^^ >x.m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ x.m2(); >x.m2() : void > : ^^^^ >x.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/genericTypeWithMultipleBases2.types b/tests/baselines/reference/genericTypeWithMultipleBases2.types index fa4459466231b..ac6c7f7bac413 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases2.types +++ b/tests/baselines/reference/genericTypeWithMultipleBases2.types @@ -35,20 +35,20 @@ x.m1(); >x.m1() : void > : ^^^^ >x.m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ x.m2(); >x.m2() : void > : ^^^^ >x.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types index a1741e36f8fa6..d1faaaff1a774 100644 --- a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types +++ b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types @@ -36,5 +36,5 @@ var i: I = x; // Should not be allowed -- type of 'f' is incompatible with 'I' >i : I > : ^ >x : X<{ a: string; }> -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^ diff --git a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types index 98bbe9979cfab..6cdbe5ddd8eb6 100644 --- a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types +++ b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types @@ -28,11 +28,11 @@ function f2(o: T) { >o.toString() : string > : ^^^^^^ >o.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f3>(o: T) { @@ -45,11 +45,11 @@ function f3>(o: T) { >o.toString() : string > : ^^^^^^ >o.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function user(t: T) { diff --git a/tests/baselines/reference/genericsAndHigherOrderFunctions.types b/tests/baselines/reference/genericsAndHigherOrderFunctions.types index dd7bcad337eba..4cb6fdba1f917 100644 --- a/tests/baselines/reference/genericsAndHigherOrderFunctions.types +++ b/tests/baselines/reference/genericsAndHigherOrderFunctions.types @@ -45,11 +45,11 @@ var combine: (f: (_: T) => S) => >f(g(x)) : S > : ^ >f : (_: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g(x) : T > : ^ >g : (_: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : U > : ^ @@ -117,15 +117,15 @@ var foo: (g: (x: K) => N) => >h(combine(f)(g)) : (_: R) => R > : ^ ^^^^^^^^^ >h : (_: (_: K) => (_: M) => M) => (_: M) => M -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >combine(f)(g) : (x: K) => (_: R) => R -> : ^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^ >combine(f) : (g: (_: U) => N) => (x: U) => (_: R) => R -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^ ^ ^ ^^ ^^^^^ >combine : (f: (_: T) => S) => (g: (_: U) => T) => (x: U) => S -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f : (_: N) => (_: R) => R -> : ^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: K) => N -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/getParameterNameAtPosition.types b/tests/baselines/reference/getParameterNameAtPosition.types index ea1ac68f99128..bbcfa36d51668 100644 --- a/tests/baselines/reference/getParameterNameAtPosition.types +++ b/tests/baselines/reference/getParameterNameAtPosition.types @@ -35,11 +35,11 @@ cases(fn(opts => { })); >cases(fn(opts => { })) : void > : ^^^^ >cases : (tester: Tester) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fn(opts => { }) : Mock<[opts: any]> > : ^^^^^^^^^^^^^^^^^ >fn : (implementation?: (...args: Y) => any) => Mock -> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >opts => { } : (opts: any) => void > : ^ ^^^^^^^^^^^^^^ >opts : any diff --git a/tests/baselines/reference/getterControlFlowStrictNull.types b/tests/baselines/reference/getterControlFlowStrictNull.types index cf07811f7b8d8..6bd6a5d988530 100644 --- a/tests/baselines/reference/getterControlFlowStrictNull.types +++ b/tests/baselines/reference/getterControlFlowStrictNull.types @@ -15,11 +15,11 @@ class A { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -45,11 +45,11 @@ class B { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -75,11 +75,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/getterSetterNonAccessor.types b/tests/baselines/reference/getterSetterNonAccessor.types index 0cf0120669e25..d5bed2c074292 100644 --- a/tests/baselines/reference/getterSetterNonAccessor.types +++ b/tests/baselines/reference/getterSetterNonAccessor.types @@ -16,11 +16,11 @@ Object.defineProperty({}, "0", ({ >Object.defineProperty({}, "0", ({ get: getFunc, set: setFunc, configurable: true })) : {} > : ^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >"0" : "0" @@ -28,15 +28,15 @@ Object.defineProperty({}, "0", ({ >({ get: getFunc, set: setFunc, configurable: true }) : PropertyDescriptor > : ^^^^^^^^^^^^^^^^^^ >({ get: getFunc, set: setFunc, configurable: true }) : { get: () => any; set: (v: any) => void; configurable: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ get: getFunc, set: setFunc, configurable: true } : { get: () => any; set: (v: any) => void; configurable: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ get: getFunc, >get : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >getFunc : () => any -> : ^^^^^^^^^ +> : ^^^^^^ set: setFunc, >set : (v: any) => void diff --git a/tests/baselines/reference/gettersAndSetters.types b/tests/baselines/reference/gettersAndSetters.types index a7c2294dd0a76..0e4771d94768f 100644 --- a/tests/baselines/reference/gettersAndSetters.types +++ b/tests/baselines/reference/gettersAndSetters.types @@ -188,7 +188,7 @@ var ofg = o.Foo; >o.Foo : number > : ^^^^^^ >o : { Foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >Foo : number > : ^^^^^^ @@ -198,7 +198,7 @@ o.Foo = 0; >o.Foo : number > : ^^^^^^ >o : { Foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >Foo : number > : ^^^^^^ >0 : 0 @@ -232,11 +232,11 @@ const x: string | number = Math.random() < 0.5 ? "str" : 123; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"str" : "str" @@ -268,11 +268,11 @@ if (typeof x === "string") { >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ get prop() { return x.toUpperCase() }, >prop : any @@ -280,11 +280,11 @@ if (typeof x === "string") { >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ method() { return x.toUpperCase() } >method : () => string @@ -292,11 +292,11 @@ if (typeof x === "string") { >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/giant.types b/tests/baselines/reference/giant.types index 115a9929d824d..edfd082b45060 100644 --- a/tests/baselines/reference/giant.types +++ b/tests/baselines/reference/giant.types @@ -230,7 +230,7 @@ interface I { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -238,7 +238,7 @@ interface I { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -458,7 +458,7 @@ module M { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -466,7 +466,7 @@ module M { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -728,7 +728,7 @@ module M { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -736,7 +736,7 @@ module M { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1129,7 +1129,7 @@ export interface eI { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1137,7 +1137,7 @@ export interface eI { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1357,7 +1357,7 @@ export module eM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1365,7 +1365,7 @@ export module eM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1627,7 +1627,7 @@ export module eM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1635,7 +1635,7 @@ export module eM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2061,7 +2061,7 @@ export declare module eaM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2069,7 +2069,7 @@ export declare module eaM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2267,7 +2267,7 @@ export declare module eaM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2275,7 +2275,7 @@ export declare module eaM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any diff --git a/tests/baselines/reference/globalFunctionAugmentationOverload.types b/tests/baselines/reference/globalFunctionAugmentationOverload.types index 68d6db99b46c1..79c727beae5f2 100644 --- a/tests/baselines/reference/globalFunctionAugmentationOverload.types +++ b/tests/baselines/reference/globalFunctionAugmentationOverload.types @@ -3,7 +3,7 @@ === mod.d.ts === declare function expect(spy: Function): void; >expect : { (spy: Function): void; (element: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >spy : Function > : ^^^^^^^^ @@ -28,7 +28,7 @@ declare global { function expect(element: string): void; >expect : { (spy: Function): void; (element: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >element : string > : ^^^^^^ } diff --git a/tests/baselines/reference/higherOrderMappedIndexLookupInference.types b/tests/baselines/reference/higherOrderMappedIndexLookupInference.types index 5ea287ff2beff..71d8873ff5474 100644 --- a/tests/baselines/reference/higherOrderMappedIndexLookupInference.types +++ b/tests/baselines/reference/higherOrderMappedIndexLookupInference.types @@ -13,19 +13,19 @@ function f1(a: () => keyof T, b: () => keyof U) { a = b; >a = b : () => keyof U -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => keyof T -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => keyof U -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ b = a; >b = a : () => keyof T -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => keyof U -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => keyof T -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } function f2(a: () => T[K], b: () => U[L]) { @@ -38,19 +38,19 @@ function f2(a: () => T[K], b: () => a = b; >a = b : () => U[L] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >a : () => T[K] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >b : () => U[L] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ b = a; >b = a : () => T[K] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >b : () => U[L] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >a : () => T[K] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ } function f3(a: () => { [K in keyof T]: T[K] }, b: () => { [K in keyof U]: U[K] }) { @@ -63,19 +63,19 @@ function f3(a: () => { [K in keyof T]: T[K] }, b: () => { [K in keyof U]: a = b; >a = b : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => { [K in keyof T]: T[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ b = a; >b = a : () => { [K in keyof T]: T[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => { [K in keyof T]: T[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } // Repro from #18338 @@ -94,9 +94,9 @@ declare const g: () => { [K in keyof U]: U[K] }; const h: typeof g = f; >h : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >g : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >f : () => IdMapped -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types b/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types index 21dbe3da958e8..6f760d214037e 100644 --- a/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types +++ b/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types @@ -26,19 +26,19 @@ function f( > : ^^^^^^ c = a; // Works ->c = a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c = a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >c : Readonly & { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ b = a; // Should also work ->b = a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b = a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : Readonly -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types b/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types index 8d85ea021b711..c1e144ec37ca2 100644 --- a/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types +++ b/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types @@ -40,7 +40,7 @@ const result = func1({ >func1({ prop: { label: "first", options: [ { value: 123, }, { value: "foo", }, ], }, other: { label: "second", options: [ { value: "bar", }, { value: true, }, ], },}) : { prop: [number, string]; other: [string, boolean]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func1 : >(fields: { [K in keyof T]: { label: string; options: [...HandleOptions]; }; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ prop: { label: "first", options: [ { value: 123, }, { value: "foo", }, ], }, other: { label: "second", options: [ { value: "bar", }, { value: true, }, ], },} : { prop: { label: string; options: [{ value: number; }, { value: string; }]; }; other: { label: string; options: [{ value: string; }, { value: true; }]; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/i3.types b/tests/baselines/reference/i3.types index ab732dffaa278..9d8e1cf46abd2 100644 --- a/tests/baselines/reference/i3.types +++ b/tests/baselines/reference/i3.types @@ -17,17 +17,17 @@ var i: I3; i = x; >i = x : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I3 > : ^^ >x : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ x = i; >x = i : I3 > : ^^ >x : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I3 > : ^^ diff --git a/tests/baselines/reference/icomparable.types b/tests/baselines/reference/icomparable.types index 8ec2565fca652..5dbb90f555704 100644 --- a/tests/baselines/reference/icomparable.types +++ b/tests/baselines/reference/icomparable.types @@ -28,7 +28,7 @@ >sort(sc) : StringComparable[] > : ^^^^^^^^^^^^^^^^^^ >sort : >(items: U[]) => U[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >sc : StringComparable[] > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types b/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types index a5063f5127923..4e74085412e49 100644 --- a/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types +++ b/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types @@ -86,7 +86,7 @@ needsComponentOfSomeProps3({ renderAs: comp3 }); >needsComponentOfSomeProps3({ renderAs: comp3 }) : void > : ^^^^ >needsComponentOfSomeProps3 : (...x: SomePropsClone[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >{ renderAs: comp3 } : { renderAs: FunctionComponent2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >renderAs : FunctionComponent2 @@ -109,7 +109,7 @@ needsComponentOfSomeProps2({ renderAs: comp2 }); >needsComponentOfSomeProps2({ renderAs: comp2 }) : void > : ^^^^ >needsComponentOfSomeProps2 : (...x: SomeProps[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >{ renderAs: comp2 } : { renderAs: FunctionComponent1; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >renderAs : FunctionComponent1 diff --git a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types index 01f587c6af563..14f8196ba97e2 100644 --- a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types +++ b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types @@ -51,8 +51,8 @@ const post = ( {body, ...options}: Omit & {body: PostBody} >body : PostBody > : ^^^^^^^^^^^^^^ ->options : { cache?: RequestCache | undefined; credentials?: RequestCredentials | undefined; headers?: HeadersInit | undefined; integrity?: string | undefined; keepalive?: boolean | undefined; method?: string | undefined; mode?: RequestMode | undefined; priority?: RequestPriority | undefined; redirect?: RequestRedirect | undefined; referrer?: string | undefined; referrerPolicy?: ReferrerPolicy | undefined; signal?: AbortSignal | null | undefined; window?: null | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { cache?: RequestCache; credentials?: RequestCredentials; headers?: HeadersInit; integrity?: string; keepalive?: boolean; method?: string; mode?: RequestMode; priority?: RequestPriority; redirect?: RequestRedirect; referrer?: string; referrerPolicy?: ReferrerPolicy; signal?: AbortSignal | null; window?: null; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >body : PostBody > : ^^^^^^^^^^^^^^ @@ -101,10 +101,10 @@ function fx1

    (x: { body: PostBody

    }, y: { body: PostBody

    x = y : { body: PostBody

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

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

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

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

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

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

    , handler: Handler) => ActionHandler -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >VOID_ACTION : ActionType > : ^^^^^^^^^^^^^^^^ >state => state : (state: AppState) => AppState @@ -290,11 +290,11 @@ x.on('a', a => {}); >x.on('a', a => {}) : void > : ^^^^ >x.on :

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

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

    = : unknown; declare function createElement

    ( ->createElement :

    (type: ComponentClass

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

    (type: ComponentClass

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

    , >type : ComponentClass

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

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

    ( ->createElement2 :

    (type: ComponentClass

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

    (type: ComponentClass

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

    , >type : ComponentClass

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

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

    (type: ComponentClass

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

    (type: ComponentClass

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

    (type: ComponentClass

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

    (type: ComponentClass

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

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

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

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

    (type: import("react").SFC

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

    ;

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

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

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

    (type: import("react").SFC

    | import("react").ComponentClass

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

    ; } -> : ^^^ ^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>createElement : { (type: "input", props?: (import("react").InputHTMLAttributes & import("react").ClassAttributes) | null, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

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

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

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

    (type: import("react").SFC

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

    ;

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

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

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

    (type: import("react").SFC

    | import("react").ComponentClass

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

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

    (factory: () => React.ComponentClass

    ) => React.ComponentClass

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

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

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

    (type: ComponentType

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

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

    (type: ComponentType

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

    , >type : ComponentType

    diff --git a/tests/baselines/reference/jsxNamespaceReexports.types b/tests/baselines/reference/jsxNamespaceReexports.types index 76ae3f62758d2..3814b5042b146 100644 --- a/tests/baselines/reference/jsxNamespaceReexports.types +++ b/tests/baselines/reference/jsxNamespaceReexports.types @@ -20,7 +20,7 @@ namespace JSX { export { createElement, JSX }; >createElement : (element: string, props: any, ...children: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >JSX : any > : ^^^ diff --git a/tests/baselines/reference/jsxPartialSpread.types b/tests/baselines/reference/jsxPartialSpread.types index e244856a8dea6..fb1e8c62b94e7 100644 --- a/tests/baselines/reference/jsxPartialSpread.types +++ b/tests/baselines/reference/jsxPartialSpread.types @@ -20,9 +20,9 @@ const Select = (p: {value?: unknown}) =>

    ; >

    : JSX.Element > : ^^^^^^^^^^^ >p : { value?: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >p : { value?: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ import React from 'react'; >React : typeof React @@ -32,11 +32,11 @@ export function Repro({ SelectProps = {} }: { SelectProps?: PartialRepro : ({ SelectProps }: { SelectProps?: Partial[0]>; }) => JSX.Element > : ^ ^^ ^^^^^^^^^^^^^^^^ >SelectProps : Partial<{ value?: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ >{} : {} > : ^^ >SelectProps : Partial<{ value?: unknown; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >Select : (p: { value?: unknown; }) => JSX.Element > : ^ ^^ ^^^^^^^^^^^^^^^^ @@ -54,7 +54,7 @@ export function Repro({ SelectProps = {} }: { SelectProps?: Partial'test' : "test" > : ^^^^^^ >SelectProps : Partial<{ value?: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ); } diff --git a/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types b/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types index 11ebab756f752..a9d71339a915a 100644 --- a/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types +++ b/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types @@ -55,7 +55,7 @@ props.status === "hidden" >props.content : string > : ^^^^^^ >props : { status: "visible"; content: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >content : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/keyRemappingKeyofResult.types b/tests/baselines/reference/keyRemappingKeyofResult.types index 288b2f4f8175e..fedf85080345c 100644 --- a/tests/baselines/reference/keyRemappingKeyofResult.types +++ b/tests/baselines/reference/keyRemappingKeyofResult.types @@ -114,7 +114,7 @@ function f() { type Remapped = { [K in keyof Orig as {} extends Record ? never : K]: any } >Remapped : { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /* type Remapped = { str: any; @@ -124,17 +124,17 @@ function f() { type Oops = keyof Remapped; >Oops : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let x: Oops; >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x = sym; >x = sym : unique symbol > : ^^^^^^^^^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sym : unique symbol > : ^^^^^^^^^^^^^ @@ -142,7 +142,7 @@ function f() { >x = "str" : "str" > : ^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"str" : "str" > : ^^^^^ } @@ -206,7 +206,7 @@ function g() { type Remapped = { [K in keyof Orig as DistributiveNonIndex]: any } >Remapped : { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /* type Remapped = { str: any; @@ -216,17 +216,17 @@ function g() { type Oops = keyof Remapped; >Oops : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let x: Oops; >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x = sym; >x = sym : unique symbol > : ^^^^^^^^^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sym : unique symbol > : ^^^^^^^^^^^^^ @@ -234,7 +234,7 @@ function g() { >x = "str" : "str" > : ^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"str" : "str" > : ^^^^^ } diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index 70789d2364a0e..92d596f68d0fa 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -695,11 +695,11 @@ function pluck(array: T[], key: K) { >array.map(x => x[key]) : T[K][] > : ^^^^^^ >array.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x[key] : (x: T) => T[K] > : ^ ^^^^^^^^^^^^ >x : T @@ -1223,7 +1223,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { >func<{ a: any, b: any }, { a: any, c: any }>('a', 'a') : void > : ^^^^ >func : (k1: keyof (T | U), k2: keyof (T & U)) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1241,7 +1241,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { >func<{ a: any, b: any }, { a: any, c: any }>('a', 'b') : void > : ^^^^ >func : (k1: keyof (T | U), k2: keyof (T & U)) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1259,7 +1259,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { >func<{ a: any, b: any }, { a: any, c: any }>('a', 'c') : void > : ^^^^ >func : (k1: keyof (T | U), k2: keyof (T & U)) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1290,7 +1290,7 @@ function f71(func: (x: T, y: U) => Partial) { >func({ a: 1, b: "hello" }, { c: true }) : Partial<{ a: number; b: string; } & { c: boolean; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (x: T, y: U) => Partial -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1351,7 +1351,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >func({ a: 1, b: "hello" }, { c: true }, 'a') : number > : ^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1377,7 +1377,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >func({ a: 1, b: "hello" }, { c: true }, 'b') : string > : ^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1403,7 +1403,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >func({ a: 1, b: "hello" }, { c: true }, 'c') : boolean > : ^^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1442,7 +1442,7 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ >func({ a: 1, b: "hello" }, { c: true }, 'a') : number > : ^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1468,7 +1468,7 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ >func({ a: 1, b: "hello" }, { c: true }, 'b') : string > : ^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1494,7 +1494,7 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ >func({ a: 1, b: "hello" }, { c: true }, 'c') : boolean > : ^^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1533,7 +1533,7 @@ function f74(func: (x: T, y: U, k: K) => (T | U)[ >func({ a: 1, b: "hello" }, { a: 2, b: true }, 'a') : number > : ^^^^^^ >func : (x: T, y: U, k: K) => (T | U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1563,7 +1563,7 @@ function f74(func: (x: T, y: U, k: K) => (T | U)[ >func({ a: 1, b: "hello" }, { a: 2, b: true }, 'b') : string | boolean > : ^^^^^^^^^^^^^^^^ >func : (x: T, y: U, k: K) => (T | U)[K] -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1600,19 +1600,19 @@ function f80(obj: T) { let a1 = obj.a; // { x: any } >a1 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj.a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ let a2 = obj['a']; // { x: any } >a2 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1624,7 +1624,7 @@ function f80(obj: T) { >obj['a'] as T['a'] : T["a"] > : ^^^^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1636,11 +1636,11 @@ function f80(obj: T) { >obj.a.x : any > : ^^^ >obj.a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : any > : ^^^ @@ -1650,7 +1650,7 @@ function f80(obj: T) { >obj['a']['x'] : any > : ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1666,7 +1666,7 @@ function f80(obj: T) { >obj['a']['x'] : any > : ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1691,7 +1691,7 @@ function f81(obj: T) { >obj['a']['x'] : any > : ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -2270,7 +2270,7 @@ class OtherPerson { function path(obj: T, key1: K1): T[K1]; >path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_1, key1: K1_1, key2: K2, key3: K3): T_1[K1_1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : T > : ^ >key1 : K1 @@ -2278,7 +2278,7 @@ function path(obj: T, key1: K1): T[K1]; function path(obj: T, key1: K1, key2: K2): T[K1][K2]; >path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T_1, key1: K1_1, key2: K2_1, key3: K3): T_1[K1_1][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : T > : ^ >key1 : K1 @@ -2288,7 +2288,7 @@ function path(obj: T, key1: K1, k function path(obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; >path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T_1, key1: K1_1, key2: K2_1): T_1[K1_1][K2_1]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : T > : ^ >key1 : K1 @@ -2300,7 +2300,7 @@ function pathpath : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : any > : ^^^ >keys : (string | number)[] @@ -2308,7 +2308,7 @@ function path(obj: any, ...keys: (string | number)[]): any; function path(obj: any, ...keys: (string | number)[]): any { >path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : any > : ^^^ >keys : (string | number)[] @@ -2370,11 +2370,11 @@ function f1(thing: Thing) { let x1 = path(thing, 'a'); // { x: number, y: string } >x1 : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >path(thing, 'a') : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >'a' : "a" @@ -2386,7 +2386,7 @@ function f1(thing: Thing) { >path(thing, 'a', 'y') : string > : ^^^^^^ >path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >'a' : "a" @@ -2400,7 +2400,7 @@ function f1(thing: Thing) { >path(thing, 'b') : boolean > : ^^^^^^^ >path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >'b' : "b" @@ -2412,7 +2412,7 @@ function f1(thing: Thing) { >path(thing, ...['a', 'x']) : any > : ^^^ >path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >...['a', 'x'] : string @@ -2475,7 +2475,7 @@ var empty = one(() => {}) // inferred as {}, expected >one(() => {}) : unknown > : ^^^^^^^ >one : (handler: (t: T) => void) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -2497,7 +2497,7 @@ var hashOfEmpty1 = on({ test: () => {} }); // {} >on({ test: () => {} }) : { test: unknown; } > : ^^^^^^^^^^^^^^^^^^ >on : (handlerHash: Handlers) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ test: () => {} } : { test: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^ >test : () => void @@ -2511,7 +2511,7 @@ var hashOfEmpty2 = on({ test: (x: boolean) => {} }); // { test: boolean } >on({ test: (x: boolean) => {} }) : { test: boolean; } > : ^^^^^^^^^^^^^^^^^^ >on : (handlerHash: Handlers) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ test: (x: boolean) => {} } : { test: (x: boolean) => void; } > : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ >test : (x: boolean) => void @@ -2575,12 +2575,12 @@ let c1 = new Component1({ c1.get("hello"); >c1.get("hello") : string > : ^^^^^^ ->c1.get : (key: K) => { hello: string; }[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c1.get : (key: K) => ({ hello: string; } & unknown)[K] +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^ >c1 : Component1<{ hello: string; }, unknown> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->get : (key: K) => { hello: string; }[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>get : (key: K) => ({ hello: string; } & unknown)[K] +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^ >"hello" : "hello" > : ^^^^^^^ @@ -2692,7 +2692,7 @@ let result = dispatchMethod("someMethod", ["hello", 35]); >dispatchMethod("someMethod", ["hello", 35]) : string[] > : ^^^^^^^^ >dispatchMethod : (name: M["name"], args: M["args"]) => M["returnValue"] -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"someMethod" : "someMethod" > : ^^^^^^^^^^^^ >["hello", 35] : [string, number] @@ -2722,7 +2722,7 @@ function addToMyThingy(key: S) { >MyThingy[key].push("a") : number > : ^^^^^^ >MyThingy[key].push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >MyThingy[key] : { a: string[]; b: string[]; }[S] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyThingy : { a: string[]; b: string[]; } @@ -2730,7 +2730,7 @@ function addToMyThingy(key: S) { >key : S > : ^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"a" : "a" > : ^^^ } @@ -2761,11 +2761,11 @@ function onChangeGenericFunction(handler: Handler) { >handler.onChange('preset') : void > : ^^^^ >handler.onChange : (name: keyof T | "preset") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >handler : Handler -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >onChange : (name: keyof T | "preset") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >'preset' : "preset" > : ^^^^^^^^ } @@ -2942,13 +2942,13 @@ class Form { >this.childFormFactories[prop](value) : Form > : ^^^^^^^^^^ >this.childFormFactories[prop] : { [K_1 in keyof T]: (v: T[K_1]) => Form; }[K] -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^ >this.childFormFactories : { [K_1 in keyof T]: (v: T[K_1]) => Form; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >this : this > : ^^^^ >childFormFactories : { [K_1 in keyof T]: (v: T[K_1]) => Form; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >prop : K > : ^ >value : T[K] @@ -2982,11 +2982,11 @@ class SampleClass

    { >Object.freeze(props) : Readonly

    > : ^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >props : P > : ^ } @@ -3034,7 +3034,7 @@ class AnotherSampleClass extends SampleClass { >merge(props, foo) : T & Foo > : ^^^^^^^ >merge : (obj1: T_1, obj2: U) => T_1 & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >props : T > : ^ >foo : Foo @@ -3047,7 +3047,7 @@ class AnotherSampleClass extends SampleClass { this.props.foo.concat; >this.props.foo.concat : (...strings: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.props.foo : (T & Foo)["foo"] > : ^^^^^^^^^^^^^^^^ >this.props : Readonly @@ -3059,7 +3059,7 @@ class AnotherSampleClass extends SampleClass { >foo : (T & Foo)["foo"] > : ^^^^^^^^^^^^^^^^ >concat : (...strings: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } } new AnotherSampleClass({}); @@ -3266,7 +3266,7 @@ function fn(o: T, k: K) { >take<{} | null | undefined>(o[k]) : void > : ^^^^ >take : (p: T_1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o[k] : T[K] > : ^^^^ >o : T @@ -3278,7 +3278,7 @@ function fn(o: T, k: K) { >take(o[k]) : void > : ^^^^ >take : (p: T_1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o[k] : T[K] > : ^^^^ >o : T diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.types b/tests/baselines/reference/keyofAndIndexedAccess2.types index 132da20a018fb..b011829873acc 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.types +++ b/tests/baselines/reference/keyofAndIndexedAccess2.types @@ -28,7 +28,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k0] : number > : ^^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k0 : "a" > : ^^^ >1 : 1 @@ -40,7 +40,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k0] : number > : ^^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k0 : "a" > : ^^^ >2 : 2 @@ -52,7 +52,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k0] : number > : ^^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k0 : "a" > : ^^^ >'x' : "x" @@ -64,7 +64,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k1] : 0 | 1 > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k1 : "a" | "b" > : ^^^^^^^^^ >1 : 1 @@ -76,7 +76,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k1] : 0 | 1 > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k1 : "a" | "b" > : ^^^^^^^^^ >2 : 2 @@ -88,7 +88,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k1] : 0 | 1 > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k1 : "a" | "b" > : ^^^^^^^^^ >'x' : "x" @@ -100,7 +100,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k2] : never > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k2 : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -112,7 +112,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k2] : never > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k2 : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >2 : 2 @@ -124,7 +124,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k2] : never > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k2 : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >'x' : "x" @@ -155,7 +155,7 @@ function f2(a: { x: number, y: number }, b: >a = b : { [key: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { [key: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -163,17 +163,17 @@ function f2(a: { x: number, y: number }, b: >a = c : T > : ^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >c : T > : ^ b = a; >b = a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { [key: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ b = c; >b = c : T @@ -185,11 +185,11 @@ function f2(a: { x: number, y: number }, b: c = a; // Error, constraint on target doesn't imply any properties or signatures >c = a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >c : T > : ^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ c = b; // Error, constraint on target doesn't imply any properties or signatures >c = b : { [key: string]: number; } @@ -203,7 +203,7 @@ function f2(a: { x: number, y: number }, b: >a.x : number > : ^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : number > : ^^^^^^ @@ -237,7 +237,7 @@ function f2(a: { x: number, y: number }, b: >a.x : number > : ^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 @@ -611,11 +611,11 @@ export function getAllEntities(state: EntityState): E[] { >ids.map(id => entities[id]) : { [key: string]: E; [key: number]: E; }[IdOf][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ids.map : (callbackfn: (value: IdOf, index: number, array: IdOf[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >ids : IdOf[] > : ^^^^^^^^^ >map : (callbackfn: (value: IdOf, index: number, array: IdOf[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >id => entities[id] : (id: IdOf) => { [key: string]: E; [key: number]: E; }[IdOf] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : IdOf @@ -650,11 +650,11 @@ export function getEntity(id: IdOf, state: EntityState): >ids.includes(id) : boolean > : ^^^^^^^ >ids.includes : (searchElement: IdOf, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >ids : IdOf[] > : ^^^^^^^^^ >includes : (searchElement: IdOf, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >id : IdOf > : ^^^^^^^ @@ -731,13 +731,13 @@ function fn} | {elements: Array}>(par >cb(param.elements[0]) : void > : ^^^^ >cb : (element: T["elements"][number]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >param.elements[0] : string | number > : ^^^^^^^^^^^^^^^ >param.elements : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ ->param : { elements: string[]; } | { elements: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>param : { elements: Array; } | { elements: Array; } +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >elements : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -758,7 +758,7 @@ function fn2>(param: T, cb: (element: T[number]) => void >cb(param[0]) : void > : ^^^^ >cb : (element: T[number]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >param[0] : string > : ^^^^^^ >param : T @@ -783,7 +783,7 @@ function fn3>(param: T, cb: (element: T[number]) >cb(param[0]) : void > : ^^^^ >cb : (element: T[number]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >param[0] : string > : ^^^^^^ >param : T @@ -892,7 +892,7 @@ for (const action of actions) { >window[action] = (x, y) => { window[action](x, y); } : (x: number, y: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >window[action] : ((width: number, height: number) => void) & ((width: number, height: number) => void) & ((x: number, y: number) => void) & ((x: number, y: number) => void) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >action : "resizeTo" | "resizeBy" @@ -908,7 +908,7 @@ for (const action of actions) { >window[action](x, y) : void > : ^^^^ >window[action] : (((x: number, y: number) => void) & ((x: number, y: number) => void)) | (((width: number, height: number) => void) & ((width: number, height: number) => void)) -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >action : "resizeTo" | "resizeBy" diff --git a/tests/baselines/reference/keyofAndIndexedAccessErrors.types b/tests/baselines/reference/keyofAndIndexedAccessErrors.types index d65f4ecdc4430..cf4d601035bae 100644 --- a/tests/baselines/reference/keyofAndIndexedAccessErrors.types +++ b/tests/baselines/reference/keyofAndIndexedAccessErrors.types @@ -160,11 +160,11 @@ type T53 = any[boolean]; // Error type T60 = {}["toString"]; >T60 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type T61 = []["toString"]; >T61 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare let cond: boolean; >cond : boolean diff --git a/tests/baselines/reference/keyofDoesntContainSymbols.types b/tests/baselines/reference/keyofDoesntContainSymbols.types index 17c75717ef016..40da3f01eb489 100644 --- a/tests/baselines/reference/keyofDoesntContainSymbols.types +++ b/tests/baselines/reference/keyofDoesntContainSymbols.types @@ -72,7 +72,7 @@ const val = set(obj, 'str', ''); >set(obj, 'str', '') : string > : ^^^^^^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >'str' : "str" @@ -87,7 +87,7 @@ const valB = set(obj, 'num', ''); >set(obj, 'num', '') : number > : ^^^^^^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >'num' : "num" @@ -103,7 +103,7 @@ const valC = set(obj, sym, sym); >set(obj, sym, sym) : symbol > : ^^^^^^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >sym : unique symbol @@ -119,7 +119,7 @@ const valD = set(obj, num, num); >set(obj, num, num) : 0 > : ^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >num : 0 diff --git a/tests/baselines/reference/keyofInferenceIntersectsResults.types b/tests/baselines/reference/keyofInferenceIntersectsResults.types index 7feaf6e59cf44..6828fa2081137 100644 --- a/tests/baselines/reference/keyofInferenceIntersectsResults.types +++ b/tests/baselines/reference/keyofInferenceIntersectsResults.types @@ -33,7 +33,7 @@ const a = foo('a', 'b'); // compiles cleanly >foo('a', 'b') : X > : ^ >foo : (x: keyof T, y: keyof T) => T -> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -45,7 +45,7 @@ const b = foo('a', 'b'); // also clean >foo('a', 'b') : { a: any; } & { b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: keyof T, y: keyof T) => T -> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -57,7 +57,7 @@ const c = bar('a', 'b'); // still clean >bar('a', 'b') : { a: any; } & { b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : (x: keyof T, y: keyof T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" diff --git a/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types b/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types index d27b7f4ed4ce0..d6a5e15b2b802 100644 --- a/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types +++ b/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types @@ -104,17 +104,17 @@ function f() { >insertOnConflictDoNothing(bookTable, ConflictTarget.tableColumns(["serial"])) : boolean > : ^^^^^^^ >insertOnConflictDoNothing : (_table: Table, _conflictTarget: ConflictTarget) => boolean -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >bookTable : Table > : ^^^^^^^^^^^^^^^^^^^^^^^ >ConflictTarget.tableColumns(["serial"]) : ConflictTarget > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConflictTarget.tableColumns : (cols: (keyof Cols)[]) => ConflictTarget -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ConflictTarget : typeof ConflictTarget > : ^^^^^^^^^^^^^^^^^^^^^ >tableColumns : (cols: (keyof Cols)[]) => ConflictTarget -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["serial"] : "serial"[] > : ^^^^^^^^^^ >"serial" : "serial" diff --git a/tests/baselines/reference/keyofIsLiteralContexualType.types b/tests/baselines/reference/keyofIsLiteralContexualType.types index d2db7e36c936e..a4f0e07aa9cdb 100644 --- a/tests/baselines/reference/keyofIsLiteralContexualType.types +++ b/tests/baselines/reference/keyofIsLiteralContexualType.types @@ -50,7 +50,7 @@ let x = pick({ a: 10, b: 20, c: 30 }, ["a", "c"]); >pick({ a: 10, b: 20, c: 30 }, ["a", "c"]) : Pick<{ a: number; b: number; c: number; }, "a" | "c"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (obj: T, propNames: K[]) => Pick -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 10, b: 20, c: 30 } : { a: number; b: number; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types b/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types index cfe942f1174ba..ba794dcebed3e 100644 --- a/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types +++ b/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types @@ -35,7 +35,7 @@ test(example, "default"); >test(example, "default") : void > : ^^^^ >test : (object: T, method: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >example : typeof example > : ^^^^^^^^^^^^^^ >"default" : "default" diff --git a/tests/baselines/reference/keywordExpressionInternalComments.types b/tests/baselines/reference/keywordExpressionInternalComments.types index 5797518f70cd9..3f46691a71c2f 100644 --- a/tests/baselines/reference/keywordExpressionInternalComments.types +++ b/tests/baselines/reference/keywordExpressionInternalComments.types @@ -23,9 +23,9 @@ >delete /*2*/ Array.toString : boolean > : ^^^^^^^ >Array.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/knockout.types b/tests/baselines/reference/knockout.types index 913ea76047add..8ae212db9b775 100644 --- a/tests/baselines/reference/knockout.types +++ b/tests/baselines/reference/knockout.types @@ -41,11 +41,11 @@ >ko.observable("Bob") : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >"Bob" : "Bob" > : ^^^^^ @@ -55,11 +55,11 @@ >ko.observable(37) : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >37 : 37 > : ^^ } diff --git a/tests/baselines/reference/lambdaArgCrash.types b/tests/baselines/reference/lambdaArgCrash.types index ccb4a02a4be02..2905a3006e235 100644 --- a/tests/baselines/reference/lambdaArgCrash.types +++ b/tests/baselines/reference/lambdaArgCrash.types @@ -43,7 +43,7 @@ class Event { >this._listeners.push(listener) : number > : ^^^^^^ >this._listeners.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this._listeners : any[] > : ^^^^^ >this : this @@ -51,9 +51,9 @@ class Event { >_listeners : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >listener : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } @@ -77,13 +77,13 @@ class ItemSetEvent extends Event { >super.add(listener) : void > : ^^^^ >super.add : (listener: () => any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Event > : ^^^^^ >add : (listener: () => any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >listener : (items: ItemSet) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/lambdaParamTypes.types b/tests/baselines/reference/lambdaParamTypes.types index 141f816f39cc8..2bd67407567f9 100644 --- a/tests/baselines/reference/lambdaParamTypes.types +++ b/tests/baselines/reference/lambdaParamTypes.types @@ -31,7 +31,7 @@ var thing = create([{ name: "bob", id: 24 }, { name: "doug", id: 32 }]); >create([{ name: "bob", id: 24 }, { name: "doug", id: 32 }]) : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (initialValues?: T[]) => MyArrayWrapper -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >[{ name: "bob", id: 24 }, { name: "doug", id: 32 }] : { name: string; id: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ name: "bob", id: 24 } : { name: string; id: number; } @@ -60,11 +60,11 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >thing.doSomething((x, y) => x.name.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.name.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -74,7 +74,7 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >x.name.charAt(0) : string > : ^^^^^^ >x.name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.name : string > : ^^^^^^ >x : { name: string; id: number; } @@ -82,7 +82,7 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -90,11 +90,11 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >thing.doSomething((x, y) => x.id.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.id.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -104,7 +104,7 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >x.id.toExponential(0) : string > : ^^^^^^ >x.id.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x.id : number > : ^^^^^^ >x : { name: string; id: number; } @@ -112,7 +112,7 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >id : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -120,11 +120,11 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >thing.doSomething((x, y) => y.name.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.name.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -134,7 +134,7 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >y.name.charAt(0) : string > : ^^^^^^ >y.name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y.name : string > : ^^^^^^ >y : { name: string; id: number; } @@ -142,7 +142,7 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -150,11 +150,11 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >thing.doSomething((x, y) => y.id.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.id.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -164,7 +164,7 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >y.id.toExponential(0) : string > : ^^^^^^ >y.id.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y.id : number > : ^^^^^^ >y : { name: string; id: number; } @@ -172,7 +172,7 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >id : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -181,11 +181,11 @@ thing.doSomething((x, y) => x.foo); // no such property on x >thing.doSomething((x, y) => x.foo) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.foo : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -203,11 +203,11 @@ thing.doSomething((x, y) => y.foo); // no such property on y >thing.doSomething((x, y) => y.foo) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.foo : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -225,11 +225,11 @@ thing.doSomething((x, y) => x.id.charAt(0)); // x.id should be number, no c >thing.doSomething((x, y) => x.id.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.id.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -255,11 +255,11 @@ thing.doSomething((x, y) => x.name.toExponential(0)); // x.name should be string >thing.doSomething((x, y) => x.name.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.name.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -285,11 +285,11 @@ thing.doSomething((x, y) => y.id.charAt(0)); >thing.doSomething((x, y) => y.id.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.id.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -315,11 +315,11 @@ thing.doSomething((x, y) => y.name.toExponential(0)); >thing.doSomething((x, y) => y.name.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.name.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } diff --git a/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types b/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types index de6a67863a65e..dce49edbd6940 100644 --- a/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types +++ b/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types @@ -52,7 +52,7 @@ consumeClass(createClass(str => console.log(str.length))); >createClass(str => console.log(str.length)) : GenericClass<[str: string]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createClass : (f: GenericFunction) => GenericClass -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >str => console.log(str.length) : (str: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >str : string @@ -60,11 +60,11 @@ consumeClass(createClass(str => console.log(str.length))); >console.log(str.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >str.length : number > : ^^^^^^ >str : string @@ -81,7 +81,7 @@ consumeClass(createClass((str, _unused_num) => console.log(str.length))); >createClass((str, _unused_num) => console.log(str.length)) : GenericClass<[str: string, _unused_num: boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createClass : (f: GenericFunction) => GenericClass -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(str, _unused_num) => console.log(str.length) : (str: string, _unused_num: boolean) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >str : string @@ -91,11 +91,11 @@ consumeClass(createClass((str, _unused_num) => console.log(str.length))); >console.log(str.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >str.length : number > : ^^^^^^ >str : string diff --git a/tests/baselines/reference/lambdaPropSelf.types b/tests/baselines/reference/lambdaPropSelf.types index a7554737dc860..a5795b4f4cc5a 100644 --- a/tests/baselines/reference/lambdaPropSelf.types +++ b/tests/baselines/reference/lambdaPropSelf.types @@ -48,7 +48,7 @@ class Person { >this.children.push("New child") : number > : ^^^^^^ >this.children.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.children : string[] > : ^^^^^^^^ >this : this @@ -56,7 +56,7 @@ class Person { >children : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"New child" : "New child" > : ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/lastPropertyInLiteralWins.types b/tests/baselines/reference/lastPropertyInLiteralWins.types index ae51e2e7a67cd..d75d6fe162006 100644 --- a/tests/baselines/reference/lastPropertyInLiteralWins.types +++ b/tests/baselines/reference/lastPropertyInLiteralWins.types @@ -18,11 +18,11 @@ function test(thing: Thing) { >thing.thunk("str") : void > : ^^^^ >thing.thunk : (str: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >thing : Thing > : ^^^^^ >thunk : (str: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"str" : "str" > : ^^^^^ } diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types index 4464642e3bc98..dd0a4ad51fe16 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types @@ -55,11 +55,11 @@ Object.defineProperty(module.exports, _sym, { value: "ok" }); >Object.defineProperty(module.exports, _sym, { value: "ok" }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -79,11 +79,11 @@ Object.defineProperty(module.exports, _str, { value: "ok" }); >Object.defineProperty(module.exports, _str, { value: "ok" }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types index ab9e46009284a..38f57aa09d37c 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types @@ -87,11 +87,11 @@ Object.defineProperty(F.prototype, _str, {value: "ok"}); >Object.defineProperty(F.prototype, _str, {value: "ok"}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >F.prototype : any > : ^^^ >F : typeof F @@ -111,11 +111,11 @@ Object.defineProperty(F.prototype, _sym, {value: "ok"}); >Object.defineProperty(F.prototype, _sym, {value: "ok"}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >F.prototype : any > : ^^^ >F : typeof F diff --git a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types index 2d8c0b20966fc..5547ace4bb0e3 100644 --- a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types +++ b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types @@ -9,7 +9,7 @@ export const a = async () => (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/private").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/private").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -19,12 +19,12 @@ export const a = async () => (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/private").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === export { x } from "./other.js"; >x : () => import("node_modules/inner/private").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === import { Thing } from "./private.js" diff --git a/tests/baselines/reference/letConstInCaseClauses.types b/tests/baselines/reference/letConstInCaseClauses.types index f0fa0b8fb27e2..72d47e68a712d 100644 --- a/tests/baselines/reference/letConstInCaseClauses.types +++ b/tests/baselines/reference/letConstInCaseClauses.types @@ -29,11 +29,11 @@ var y = 20; >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ @@ -84,11 +84,11 @@ var y = 20; >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 1 > : ^ diff --git a/tests/baselines/reference/letDeclarations-access.types b/tests/baselines/reference/letDeclarations-access.types index e9c5fc9589a81..5333c76f3e931 100644 --- a/tests/baselines/reference/letDeclarations-access.types +++ b/tests/baselines/reference/letDeclarations-access.types @@ -183,9 +183,9 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/letShadowedByNameInNestedScope.types b/tests/baselines/reference/letShadowedByNameInNestedScope.types index 61ce0ffd7669b..4f90e3a882828 100644 --- a/tests/baselines/reference/letShadowedByNameInNestedScope.types +++ b/tests/baselines/reference/letShadowedByNameInNestedScope.types @@ -32,11 +32,11 @@ function foo() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/libMembers.types b/tests/baselines/reference/libMembers.types index 2a12e01a46c69..8ea3173bf9051 100644 --- a/tests/baselines/reference/libMembers.types +++ b/tests/baselines/reference/libMembers.types @@ -11,11 +11,11 @@ s.substring(0); >s.substring(0) : string > : ^^^^^^ >s.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -23,11 +23,11 @@ s.substring(3,4); >s.substring(3,4) : string > : ^^^^^^ >s.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >3 : 3 > : ^ >4 : 4 @@ -49,11 +49,11 @@ String.fromCharCode(12); >String.fromCharCode(12) : string > : ^^^^^^ >String.fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/library-reference-1.types b/tests/baselines/reference/library-reference-1.types index aa91c275b41bf..d38f63be9bb24 100644 --- a/tests/baselines/reference/library-reference-1.types +++ b/tests/baselines/reference/library-reference-1.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /src/types/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-10.types b/tests/baselines/reference/library-reference-10.types index 72cb66278a7c6..3501d581dadf5 100644 --- a/tests/baselines/reference/library-reference-10.types +++ b/tests/baselines/reference/library-reference-10.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /foo/types/jquery/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-11.types b/tests/baselines/reference/library-reference-11.types index d8f9296ef82c5..8145522e25241 100644 --- a/tests/baselines/reference/library-reference-11.types +++ b/tests/baselines/reference/library-reference-11.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /a/node_modules/jquery/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-12.types b/tests/baselines/reference/library-reference-12.types index b82dc9e177d76..97282900fcc8a 100644 --- a/tests/baselines/reference/library-reference-12.types +++ b/tests/baselines/reference/library-reference-12.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /a/node_modules/jquery/dist/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-13.types b/tests/baselines/reference/library-reference-13.types index 2f3322847003d..c66427e8e5855 100644 --- a/tests/baselines/reference/library-reference-13.types +++ b/tests/baselines/reference/library-reference-13.types @@ -13,9 +13,9 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/library-reference-14.types b/tests/baselines/reference/library-reference-14.types index bd3791d103067..5c4d8ef0cb7d7 100644 --- a/tests/baselines/reference/library-reference-14.types +++ b/tests/baselines/reference/library-reference-14.types @@ -5,11 +5,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /a/types/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-15.types b/tests/baselines/reference/library-reference-15.types index 5f636999a16a0..3f3197c65ceb2 100644 --- a/tests/baselines/reference/library-reference-15.types +++ b/tests/baselines/reference/library-reference-15.types @@ -5,11 +5,11 @@ $.foo(); // should OK >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ $2.foo(); // should error >$2.foo() : any diff --git a/tests/baselines/reference/library-reference-2.types b/tests/baselines/reference/library-reference-2.types index 47620a84d5ab5..76973599d4e3f 100644 --- a/tests/baselines/reference/library-reference-2.types +++ b/tests/baselines/reference/library-reference-2.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /types/jquery/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-3.types b/tests/baselines/reference/library-reference-3.types index 59415b506ece5..bd3254132e7da 100644 --- a/tests/baselines/reference/library-reference-3.types +++ b/tests/baselines/reference/library-reference-3.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /src/node_modules/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-6.types b/tests/baselines/reference/library-reference-6.types index 0072a533e522e..38fd2640fcbbc 100644 --- a/tests/baselines/reference/library-reference-6.types +++ b/tests/baselines/reference/library-reference-6.types @@ -8,7 +8,7 @@ var x: string = alpha.a; >alpha.a : string > : ^^^^^^ >alpha : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/library-reference-7.types b/tests/baselines/reference/library-reference-7.types index f9bafd989edf8..cc01ffd6401af 100644 --- a/tests/baselines/reference/library-reference-7.types +++ b/tests/baselines/reference/library-reference-7.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /src/node_modules/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-8.types b/tests/baselines/reference/library-reference-8.types index 6cf2ed5dc3a04..05b1ec8776528 100644 --- a/tests/baselines/reference/library-reference-8.types +++ b/tests/baselines/reference/library-reference-8.types @@ -11,13 +11,13 @@ var x: string = alpha.a + beta.b; >alpha.a : string > : ^^^^^^ >alpha : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >beta.b : string > : ^^^^^^ >beta : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ diff --git a/tests/baselines/reference/library_ArraySlice.types b/tests/baselines/reference/library_ArraySlice.types index 574ab69e3bbcc..1ff239e551d58 100644 --- a/tests/baselines/reference/library_ArraySlice.types +++ b/tests/baselines/reference/library_ArraySlice.types @@ -6,7 +6,7 @@ Array.prototype.slice(); >Array.prototype.slice() : any[] > : ^^^^^ >Array.prototype.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >Array.prototype : any[] > : ^^^^^ >Array : ArrayConstructor @@ -14,13 +14,13 @@ Array.prototype.slice(); >prototype : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ Array.prototype.slice(0); >Array.prototype.slice(0) : any[] > : ^^^^^ >Array.prototype.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >Array.prototype : any[] > : ^^^^^ >Array : ArrayConstructor @@ -28,7 +28,7 @@ Array.prototype.slice(0); >prototype : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >0 : 0 > : ^ @@ -36,7 +36,7 @@ Array.prototype.slice(0, 1); >Array.prototype.slice(0, 1) : any[] > : ^^^^^ >Array.prototype.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >Array.prototype : any[] > : ^^^^^ >Array : ArrayConstructor @@ -44,7 +44,7 @@ Array.prototype.slice(0, 1); >prototype : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/library_DatePrototypeProperties.types b/tests/baselines/reference/library_DatePrototypeProperties.types index 74eeafee79d20..06e512759b84d 100644 --- a/tests/baselines/reference/library_DatePrototypeProperties.types +++ b/tests/baselines/reference/library_DatePrototypeProperties.types @@ -19,7 +19,7 @@ Date.prototype.toString(); >Date.prototype.toString() : string > : ^^^^^^ >Date.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -27,13 +27,13 @@ Date.prototype.toString(); >prototype : Date > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toDateString(); >Date.prototype.toDateString() : string > : ^^^^^^ >Date.prototype.toDateString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -41,13 +41,13 @@ Date.prototype.toDateString(); >prototype : Date > : ^^^^ >toDateString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toTimeString(); >Date.prototype.toTimeString() : string > : ^^^^^^ >Date.prototype.toTimeString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -55,13 +55,13 @@ Date.prototype.toTimeString(); >prototype : Date > : ^^^^ >toTimeString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toLocaleString(); >Date.prototype.toLocaleString() : string > : ^^^^^^ >Date.prototype.toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -69,13 +69,13 @@ Date.prototype.toLocaleString(); >prototype : Date > : ^^^^ >toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ Date.prototype.toLocaleDateString(); >Date.prototype.toLocaleDateString() : string > : ^^^^^^ >Date.prototype.toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -83,13 +83,13 @@ Date.prototype.toLocaleDateString(); >prototype : Date > : ^^^^ >toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ Date.prototype.toLocaleTimeString(); >Date.prototype.toLocaleTimeString() : string > : ^^^^^^ >Date.prototype.toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -97,13 +97,13 @@ Date.prototype.toLocaleTimeString(); >prototype : Date > : ^^^^ >toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ Date.prototype.valueOf(); >Date.prototype.valueOf() : number > : ^^^^^^ >Date.prototype.valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -111,13 +111,13 @@ Date.prototype.valueOf(); >prototype : Date > : ^^^^ >valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getTime(); >Date.prototype.getTime() : number > : ^^^^^^ >Date.prototype.getTime : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -125,13 +125,13 @@ Date.prototype.getTime(); >prototype : Date > : ^^^^ >getTime : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getFullYear(); >Date.prototype.getFullYear() : number > : ^^^^^^ >Date.prototype.getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -139,13 +139,13 @@ Date.prototype.getFullYear(); >prototype : Date > : ^^^^ >getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCFullYear(); >Date.prototype.getUTCFullYear() : number > : ^^^^^^ >Date.prototype.getUTCFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -153,13 +153,13 @@ Date.prototype.getUTCFullYear(); >prototype : Date > : ^^^^ >getUTCFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getMonth(); >Date.prototype.getMonth() : number > : ^^^^^^ >Date.prototype.getMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -167,13 +167,13 @@ Date.prototype.getMonth(); >prototype : Date > : ^^^^ >getMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCMonth(); >Date.prototype.getUTCMonth() : number > : ^^^^^^ >Date.prototype.getUTCMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -181,13 +181,13 @@ Date.prototype.getUTCMonth(); >prototype : Date > : ^^^^ >getUTCMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getDate(); >Date.prototype.getDate() : number > : ^^^^^^ >Date.prototype.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -195,13 +195,13 @@ Date.prototype.getDate(); >prototype : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCDate(); >Date.prototype.getUTCDate() : number > : ^^^^^^ >Date.prototype.getUTCDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -209,13 +209,13 @@ Date.prototype.getUTCDate(); >prototype : Date > : ^^^^ >getUTCDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getDay(); >Date.prototype.getDay() : number > : ^^^^^^ >Date.prototype.getDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -223,13 +223,13 @@ Date.prototype.getDay(); >prototype : Date > : ^^^^ >getDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCDay(); >Date.prototype.getUTCDay() : number > : ^^^^^^ >Date.prototype.getUTCDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -237,13 +237,13 @@ Date.prototype.getUTCDay(); >prototype : Date > : ^^^^ >getUTCDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getHours(); >Date.prototype.getHours() : number > : ^^^^^^ >Date.prototype.getHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -251,13 +251,13 @@ Date.prototype.getHours(); >prototype : Date > : ^^^^ >getHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCHours(); >Date.prototype.getUTCHours() : number > : ^^^^^^ >Date.prototype.getUTCHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -265,13 +265,13 @@ Date.prototype.getUTCHours(); >prototype : Date > : ^^^^ >getUTCHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getMinutes(); >Date.prototype.getMinutes() : number > : ^^^^^^ >Date.prototype.getMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -279,13 +279,13 @@ Date.prototype.getMinutes(); >prototype : Date > : ^^^^ >getMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCMinutes(); >Date.prototype.getUTCMinutes() : number > : ^^^^^^ >Date.prototype.getUTCMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -293,13 +293,13 @@ Date.prototype.getUTCMinutes(); >prototype : Date > : ^^^^ >getUTCMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getSeconds(); >Date.prototype.getSeconds() : number > : ^^^^^^ >Date.prototype.getSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -307,13 +307,13 @@ Date.prototype.getSeconds(); >prototype : Date > : ^^^^ >getSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCSeconds(); >Date.prototype.getUTCSeconds() : number > : ^^^^^^ >Date.prototype.getUTCSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -321,13 +321,13 @@ Date.prototype.getUTCSeconds(); >prototype : Date > : ^^^^ >getUTCSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getMilliseconds(); >Date.prototype.getMilliseconds() : number > : ^^^^^^ >Date.prototype.getMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -335,13 +335,13 @@ Date.prototype.getMilliseconds(); >prototype : Date > : ^^^^ >getMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCMilliseconds(); >Date.prototype.getUTCMilliseconds() : number > : ^^^^^^ >Date.prototype.getUTCMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -349,13 +349,13 @@ Date.prototype.getUTCMilliseconds(); >prototype : Date > : ^^^^ >getUTCMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getTimezoneOffset(); >Date.prototype.getTimezoneOffset() : number > : ^^^^^^ >Date.prototype.getTimezoneOffset : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -363,13 +363,13 @@ Date.prototype.getTimezoneOffset(); >prototype : Date > : ^^^^ >getTimezoneOffset : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.setTime(0); >Date.prototype.setTime(0) : number > : ^^^^^^ >Date.prototype.setTime : (time: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -377,7 +377,7 @@ Date.prototype.setTime(0); >prototype : Date > : ^^^^ >setTime : (time: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -385,7 +385,7 @@ Date.prototype.setMilliseconds(0); >Date.prototype.setMilliseconds(0) : number > : ^^^^^^ >Date.prototype.setMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -393,7 +393,7 @@ Date.prototype.setMilliseconds(0); >prototype : Date > : ^^^^ >setMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -401,7 +401,7 @@ Date.prototype.setUTCMilliseconds(0); >Date.prototype.setUTCMilliseconds(0) : number > : ^^^^^^ >Date.prototype.setUTCMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -409,7 +409,7 @@ Date.prototype.setUTCMilliseconds(0); >prototype : Date > : ^^^^ >setUTCMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -417,7 +417,7 @@ Date.prototype.setSeconds(0); >Date.prototype.setSeconds(0) : number > : ^^^^^^ >Date.prototype.setSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -425,7 +425,7 @@ Date.prototype.setSeconds(0); >prototype : Date > : ^^^^ >setSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -433,7 +433,7 @@ Date.prototype.setUTCSeconds(0); >Date.prototype.setUTCSeconds(0) : number > : ^^^^^^ >Date.prototype.setUTCSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -441,7 +441,7 @@ Date.prototype.setUTCSeconds(0); >prototype : Date > : ^^^^ >setUTCSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -449,7 +449,7 @@ Date.prototype.setMinutes(0); >Date.prototype.setMinutes(0) : number > : ^^^^^^ >Date.prototype.setMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -457,7 +457,7 @@ Date.prototype.setMinutes(0); >prototype : Date > : ^^^^ >setMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -465,7 +465,7 @@ Date.prototype.setUTCMinutes(0); >Date.prototype.setUTCMinutes(0) : number > : ^^^^^^ >Date.prototype.setUTCMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -473,7 +473,7 @@ Date.prototype.setUTCMinutes(0); >prototype : Date > : ^^^^ >setUTCMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -481,7 +481,7 @@ Date.prototype.setHours(0); >Date.prototype.setHours(0) : number > : ^^^^^^ >Date.prototype.setHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -489,7 +489,7 @@ Date.prototype.setHours(0); >prototype : Date > : ^^^^ >setHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -497,7 +497,7 @@ Date.prototype.setUTCHours(0); >Date.prototype.setUTCHours(0) : number > : ^^^^^^ >Date.prototype.setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -505,7 +505,7 @@ Date.prototype.setUTCHours(0); >prototype : Date > : ^^^^ >setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -513,7 +513,7 @@ Date.prototype.setDate(0); >Date.prototype.setDate(0) : number > : ^^^^^^ >Date.prototype.setDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -521,7 +521,7 @@ Date.prototype.setDate(0); >prototype : Date > : ^^^^ >setDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -529,7 +529,7 @@ Date.prototype.setUTCDate(0); >Date.prototype.setUTCDate(0) : number > : ^^^^^^ >Date.prototype.setUTCDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -537,7 +537,7 @@ Date.prototype.setUTCDate(0); >prototype : Date > : ^^^^ >setUTCDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -545,7 +545,7 @@ Date.prototype.setMonth(0); >Date.prototype.setMonth(0) : number > : ^^^^^^ >Date.prototype.setMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -553,7 +553,7 @@ Date.prototype.setMonth(0); >prototype : Date > : ^^^^ >setMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -561,7 +561,7 @@ Date.prototype.setUTCMonth(0); >Date.prototype.setUTCMonth(0) : number > : ^^^^^^ >Date.prototype.setUTCMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -569,7 +569,7 @@ Date.prototype.setUTCMonth(0); >prototype : Date > : ^^^^ >setUTCMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -577,7 +577,7 @@ Date.prototype.setFullYear(0); >Date.prototype.setFullYear(0) : number > : ^^^^^^ >Date.prototype.setFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -585,7 +585,7 @@ Date.prototype.setFullYear(0); >prototype : Date > : ^^^^ >setFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -593,7 +593,7 @@ Date.prototype.setUTCFullYear(0); >Date.prototype.setUTCFullYear(0) : number > : ^^^^^^ >Date.prototype.setUTCFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -601,7 +601,7 @@ Date.prototype.setUTCFullYear(0); >prototype : Date > : ^^^^ >setUTCFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -609,7 +609,7 @@ Date.prototype.toUTCString(); >Date.prototype.toUTCString() : string > : ^^^^^^ >Date.prototype.toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -617,13 +617,13 @@ Date.prototype.toUTCString(); >prototype : Date > : ^^^^ >toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toISOString(); >Date.prototype.toISOString() : string > : ^^^^^^ >Date.prototype.toISOString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -631,13 +631,13 @@ Date.prototype.toISOString(); >prototype : Date > : ^^^^ >toISOString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toJSON(null); >Date.prototype.toJSON(null) : string > : ^^^^^^ >Date.prototype.toJSON : (key?: any) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -645,5 +645,5 @@ Date.prototype.toJSON(null); >prototype : Date > : ^^^^ >toJSON : (key?: any) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/library_ObjectPrototypeProperties.types b/tests/baselines/reference/library_ObjectPrototypeProperties.types index 623fd826c36e5..b3795c7acb782 100644 --- a/tests/baselines/reference/library_ObjectPrototypeProperties.types +++ b/tests/baselines/reference/library_ObjectPrototypeProperties.types @@ -19,7 +19,7 @@ Object.prototype.toString(); >Object.prototype.toString() : string > : ^^^^^^ >Object.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -27,13 +27,13 @@ Object.prototype.toString(); >prototype : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Object.prototype.toLocaleString(); >Object.prototype.toLocaleString() : string > : ^^^^^^ >Object.prototype.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -41,13 +41,13 @@ Object.prototype.toLocaleString(); >prototype : Object > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Object.prototype.valueOf(); >Object.prototype.valueOf() : Object > : ^^^^^^ >Object.prototype.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -55,13 +55,13 @@ Object.prototype.valueOf(); >prototype : Object > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ Object.prototype.hasOwnProperty("string"); >Object.prototype.hasOwnProperty("string") : boolean > : ^^^^^^^ >Object.prototype.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -69,7 +69,7 @@ Object.prototype.hasOwnProperty("string"); >prototype : Object > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ @@ -77,7 +77,7 @@ Object.prototype.isPrototypeOf(Object); >Object.prototype.isPrototypeOf(Object) : boolean > : ^^^^^^^ >Object.prototype.isPrototypeOf : (v: Object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -85,7 +85,7 @@ Object.prototype.isPrototypeOf(Object); >prototype : Object > : ^^^^^^ >isPrototypeOf : (v: Object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ @@ -93,7 +93,7 @@ Object.prototype.propertyIsEnumerable("string"); >Object.prototype.propertyIsEnumerable("string") : boolean > : ^^^^^^^ >Object.prototype.propertyIsEnumerable : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -101,7 +101,7 @@ Object.prototype.propertyIsEnumerable("string"); >prototype : Object > : ^^^^^^ >propertyIsEnumerable : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ diff --git a/tests/baselines/reference/library_RegExpExecArraySlice.types b/tests/baselines/reference/library_RegExpExecArraySlice.types index 8a59c84086582..7e80612e32faa 100644 --- a/tests/baselines/reference/library_RegExpExecArraySlice.types +++ b/tests/baselines/reference/library_RegExpExecArraySlice.types @@ -10,21 +10,21 @@ regExpExecArrayValue.slice(); >regExpExecArrayValue.slice() : string[] > : ^^^^^^^^ >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >regExpExecArrayValue : RegExpExecArray > : ^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ regExpExecArrayValue.slice(0); >regExpExecArrayValue.slice(0) : string[] > : ^^^^^^^^ >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >regExpExecArrayValue : RegExpExecArray > : ^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ @@ -32,11 +32,11 @@ regExpExecArrayValue.slice(0,1); >regExpExecArrayValue.slice(0,1) : string[] > : ^^^^^^^^ >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >regExpExecArrayValue : RegExpExecArray > : ^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/library_StringSlice.types b/tests/baselines/reference/library_StringSlice.types index 3633c450aad83..e72f564759d6a 100644 --- a/tests/baselines/reference/library_StringSlice.types +++ b/tests/baselines/reference/library_StringSlice.types @@ -6,7 +6,7 @@ String.prototype.slice(); >String.prototype.slice() : string > : ^^^^^^ >String.prototype.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >String.prototype : String > : ^^^^^^ >String : StringConstructor @@ -14,13 +14,13 @@ String.prototype.slice(); >prototype : String > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ String.prototype.slice(0); >String.prototype.slice(0) : string > : ^^^^^^ >String.prototype.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >String.prototype : String > : ^^^^^^ >String : StringConstructor @@ -28,7 +28,7 @@ String.prototype.slice(0); >prototype : String > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -36,7 +36,7 @@ String.prototype.slice(0,1); >String.prototype.slice(0,1) : string > : ^^^^^^ >String.prototype.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >String.prototype : String > : ^^^^^^ >String : StringConstructor @@ -44,7 +44,7 @@ String.prototype.slice(0,1); >prototype : String > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/listFailure.types b/tests/baselines/reference/listFailure.types index 4e66bb1d75055..1fbd3a017e557 100644 --- a/tests/baselines/reference/listFailure.types +++ b/tests/baselines/reference/listFailure.types @@ -15,7 +15,7 @@ module Editor { >ListMakeHead() : List > : ^^^^^^^^^^ >ListMakeHead : () => List -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ addLine(lineText: string): List { >addLine : (lineText: string) => List @@ -37,7 +37,7 @@ module Editor { >this.lines.add(line) : List > : ^^^^^^^^^^ >this.lines.add : (data: Line) => List -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^ >this.lines : List > : ^^^^^^^^^^ >this : this @@ -45,7 +45,7 @@ module Editor { >lines : List > : ^^^^^^^^^^ >add : (data: Line) => List -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^ >line : Line > : ^^^^ @@ -108,7 +108,7 @@ module Editor { >ListMakeEntry(data) : List > : ^^^^^^^ >ListMakeEntry : (data: U) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -133,7 +133,7 @@ module Editor { >ListRemoveEntry(this.next) : List > : ^^^^^^^ >ListRemoveEntry : (entry: List) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.next : List > : ^^^^^^^ >this : this diff --git a/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types b/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types index 91bc3ff747560..a2a7572599f0f 100644 --- a/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types +++ b/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types @@ -97,11 +97,11 @@ function f2() { >Array.isArray(elOrA) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >elOrA : (string | false) | (string | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >elOrA : (string | false)[] @@ -126,11 +126,11 @@ function f2() { >Array.isArray(elOrA) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >elOrA : (string | false) | (string | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >elOrA : (string | false)[] diff --git a/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types b/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types index 538f323d349d2..9521d5c2e6726 100644 --- a/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types +++ b/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types @@ -17,7 +17,7 @@ f(a, ""); >f(a, "") : void > : ^^^^ >f : (obj: T, key: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : typeof a > : ^^^^^^^^ >"" : "" diff --git a/tests/baselines/reference/literalTypeWidening.types b/tests/baselines/reference/literalTypeWidening.types index 5d6b673cad9c8..112032c349d22 100644 --- a/tests/baselines/reference/literalTypeWidening.types +++ b/tests/baselines/reference/literalTypeWidening.types @@ -360,7 +360,7 @@ function f6(cond: boolean) { >widening('a') : "a" > : ^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -370,7 +370,7 @@ function f6(cond: boolean) { >widening(10) : 10 > : ^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -380,7 +380,7 @@ function f6(cond: boolean) { >widening(cond ? 'a' : 10) : "a" | 10 > : ^^^^^^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >cond ? 'a' : 10 : "a" | 10 > : ^^^^^^^^ >cond : boolean @@ -396,7 +396,7 @@ function f6(cond: boolean) { >nonWidening('a') : "a" > : ^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -406,7 +406,7 @@ function f6(cond: boolean) { >nonWidening(10) : 10 > : ^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -416,7 +416,7 @@ function f6(cond: boolean) { >nonWidening(cond ? 'a' : 10) : "a" | 10 > : ^^^^^^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cond ? 'a' : 10 : "a" | 10 > : ^^^^^^^^ >cond : boolean @@ -463,8 +463,8 @@ function isSuccess(result: Result): result is T { > : ^^^^^^^ >isFailure(result) : boolean > : ^^^^^^^ ->isFailure : (result: Result) => result is "FAILURE" -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>isFailure : (result: Result) => result is FAILURE +> : ^ ^^ ^^ ^^^^^ >result : Result > : ^^^^^^^^^ } @@ -505,13 +505,13 @@ let result = doWork(); >doWork() : Result > : ^^^^^^^^^^^^^^ >doWork : () => Result -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ if (isSuccess(result)) { >isSuccess(result) : boolean > : ^^^^^^^ >isSuccess : (result: Result) => result is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >result : Result > : ^^^^^^^^^^^^^^ @@ -519,7 +519,7 @@ if (isSuccess(result)) { >increment(result) : number > : ^^^^^^ >increment : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result : number > : ^^^^^^ } @@ -542,7 +542,7 @@ let x = onMouseOver(); >onMouseOver() : TestEvent > : ^^^^^^^^^ >onMouseOver : () => TestEvent -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ // Repro from #23649 @@ -568,11 +568,11 @@ export function Set(...keys: K[]): Record >keys.forEach(key => result[key] = true) : void > : ^^^^ >keys.forEach : (callbackfn: (value: K, index: number, array: K[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >keys : K[] > : ^^^ >forEach : (callbackfn: (value: K, index: number, array: K[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >key => result[key] = true : (key: K) => boolean > : ^ ^^^^^^^^^^^^^^^ >key : K @@ -605,11 +605,11 @@ export function keys(obj: Record): K[] { >Object.keys(obj) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record > : ^^^^^^^^^^^^ } @@ -625,8 +625,8 @@ const langCodeSet = Set('fr', 'en', 'es', 'it', 'nl') > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Set('fr', 'en', 'es', 'it', 'nl') : Record<"fr" | "en" | "es" | "it" | "nl", true> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Set : (...keys: K[]) => Record -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>Set : (...keys: K[]) => Record +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >'fr' : "fr" > : ^^^^ >'en' : "en" @@ -660,11 +660,11 @@ const arr: Obj[] = langCodes.map(code => ({ code })) >langCodes.map(code => ({ code })) : { code: "fr" | "en" | "es" | "it" | "nl"; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >langCodes.map : (callbackfn: (value: "fr" | "en" | "es" | "it" | "nl", index: number, array: ("fr" | "en" | "es" | "it" | "nl")[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >langCodes : ("fr" | "en" | "es" | "it" | "nl")[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: "fr" | "en" | "es" | "it" | "nl", index: number, array: ("fr" | "en" | "es" | "it" | "nl")[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >code => ({ code }) : (code: "fr" | "en" | "es" | "it" | "nl") => { code: "fr" | "en" | "es" | "it" | "nl"; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >code : "fr" | "en" | "es" | "it" | "nl" @@ -731,7 +731,7 @@ const a = f(E.A); >f(E.A) : E.A > : ^^^ >f : (x: T) => NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E.A : E.A > : ^^^ >E : typeof E diff --git a/tests/baselines/reference/literalTypes2.types b/tests/baselines/reference/literalTypes2.types index 47f89d22933f5..45b897c5e5584 100644 --- a/tests/baselines/reference/literalTypes2.types +++ b/tests/baselines/reference/literalTypes2.types @@ -442,13 +442,13 @@ function f3() { const c8 = cond ? c6 : cond ? c7 : "hello"; >c8 : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cond ? c6 : cond ? c7 : "hello" : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cond : boolean > : ^^^^^^^ >c6 : { kind: 123; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >cond ? c7 : "hello" : [1 | 2, "foo" | "bar"] | "hello" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cond : boolean @@ -490,9 +490,9 @@ function f3() { let x6 = c6; >x6 : { kind: 123; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c6 : { kind: 123; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ let x7 = c7; >x7 : [1 | 2, "foo" | "bar"] @@ -502,9 +502,9 @@ function f3() { let x8 = c8; >x8 : string | { kind: 123; } | [1 | 2, "foo" | "bar"] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c8 : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } class C1 { @@ -1041,7 +1041,7 @@ const x1 = g1(1); // Type 1 >g1(1) : 1 > : ^ >g1 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -1051,7 +1051,7 @@ const x2 = g2(1, 1); // Type 1 >g2(1, 1) : 1 > : ^ >g2 : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >1 : 1 @@ -1063,7 +1063,7 @@ const x3 = g2(1, 2); // Type 1 | 2 >g2(1, 2) : 1 | 2 > : ^^^^^ >g2 : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1075,7 +1075,7 @@ const x4 = g3(1, "two"); // Type 1 | "two" >g3(1, "two") : 1 | "two" > : ^^^^^^^^^ >g3 : (x: T, y: U) => T | U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"two" : "two" @@ -1087,7 +1087,7 @@ const x5 = g4(1); // Type number[] >g4(1) : number[] > : ^^^^^^^^ >g4 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -1097,7 +1097,7 @@ const x6 = g5(1, 2); // Type (1 | 2)[] >g5(1, 2) : (1 | 2)[] > : ^^^^^^^^^ >g5 : (x: T, y: T) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1109,7 +1109,7 @@ const x7 = g6([1, 2]); // Type number >g6([1, 2]) : number > : ^^^^^^ >g6 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -1123,7 +1123,7 @@ const x8 = g6(a); // Type 1 | 2 >g6(a) : 1 | 2 > : ^^^^^ >g6 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (1 | 2)[] > : ^^^^^^^^^ @@ -1133,7 +1133,7 @@ const x9 = g7(a); // Type (1 | 2)[] >g7(a) : (1 | 2)[] > : ^^^^^^^^^ >g7 : (x: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (1 | 2)[] > : ^^^^^^^^^ @@ -1143,7 +1143,7 @@ const x10 = g8(1, x => x); // Type number >g8(1, x => x) : number > : ^^^^^^ >g8 : (x: T, f: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >x => x : (x: number) => number @@ -1159,7 +1159,7 @@ const x11 = g8(1, x => x + 1); // Type number >g8(1, x => x + 1) : number > : ^^^^^^ >g8 : (x: T, f: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >x => x + 1 : (x: number) => number @@ -1200,21 +1200,21 @@ function append(a: T[], x: T): T[] { >a.slice() : T[] > : ^^^ >a.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >a : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ result.push(x); >result.push(x) : number > : ^^^^^^ >result.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >x : T > : ^ @@ -1233,7 +1233,7 @@ let aa = makeArray(0); >makeArray(0) : Bit[] > : ^^^^^ >makeArray : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -1245,7 +1245,7 @@ aa = append(aa, 1); >append(aa, 1) : Bit[] > : ^^^^^ >append : (a: T[], x: T) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >aa : Bit[] > : ^^^^^ >1 : 1 diff --git a/tests/baselines/reference/literalTypesAndDestructuring.types b/tests/baselines/reference/literalTypesAndDestructuring.types index 3fceaf1d4b2b3..81f7a7b7aba55 100644 --- a/tests/baselines/reference/literalTypesAndDestructuring.types +++ b/tests/baselines/reference/literalTypesAndDestructuring.types @@ -13,7 +13,7 @@ let { a: a1 } = x; >a1 : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let { a: a2 = 0 } = x; >a : any @@ -23,7 +23,7 @@ let { a: a2 = 0 } = x; >0 : 0 > : ^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let { a: a3 = 2 } = x; >a : any @@ -33,7 +33,7 @@ let { a: a3 = 2 } = x; >2 : 2 > : ^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let { a: a4 = 2 as const } = x; >a : any @@ -45,7 +45,7 @@ let { a: a4 = 2 as const } = x; >2 : 2 > : ^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let b1 = x.a; >b1 : 0 | 1 | undefined @@ -53,7 +53,7 @@ let b1 = x.a; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ @@ -65,7 +65,7 @@ let b2 = x.a ?? 0; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >0 : 0 @@ -79,7 +79,7 @@ let b3 = x.a ?? 2; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >2 : 2 @@ -93,7 +93,7 @@ let b4 = x.a ?? 2 as const; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >2 as const : 2 diff --git a/tests/baselines/reference/literals-negative.types b/tests/baselines/reference/literals-negative.types index 737b909d6b306..be93b1e8ee9ff 100644 --- a/tests/baselines/reference/literals-negative.types +++ b/tests/baselines/reference/literals-negative.types @@ -40,5 +40,5 @@ if(null === isVoid()) { } >isVoid() : void > : ^^^^ >isVoid : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/literalsInComputedProperties1.types b/tests/baselines/reference/literalsInComputedProperties1.types index 646e7337d9faa..3df57877b2b03 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.types +++ b/tests/baselines/reference/literalsInComputedProperties1.types @@ -39,7 +39,7 @@ x[1].toExponential(); >x[1].toExponential() : string > : ^^^^^^ >x[1].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[1] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -47,13 +47,13 @@ x[1].toExponential(); >1 : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x[2].toExponential(); >x[2].toExponential() : string > : ^^^^^^ >x[2].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[2] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -61,13 +61,13 @@ x[2].toExponential(); >2 : 2 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x[3].toExponential(); >x[3].toExponential() : string > : ^^^^^^ >x[3].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[3] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -75,13 +75,13 @@ x[3].toExponential(); >3 : 3 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x[4].toExponential(); >x[4].toExponential() : string > : ^^^^^^ >x[4].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[4] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -89,7 +89,7 @@ x[4].toExponential(); >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ interface A { 1:number; @@ -121,7 +121,7 @@ y[1].toExponential(); >y[1].toExponential() : string > : ^^^^^^ >y[1].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[1] : number > : ^^^^^^ >y : A @@ -129,13 +129,13 @@ y[1].toExponential(); >1 : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y[2].toExponential(); >y[2].toExponential() : string > : ^^^^^^ >y[2].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[2] : number > : ^^^^^^ >y : A @@ -143,13 +143,13 @@ y[2].toExponential(); >2 : 2 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y[3].toExponential(); >y[3].toExponential() : string > : ^^^^^^ >y[3].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[3] : number > : ^^^^^^ >y : A @@ -157,13 +157,13 @@ y[3].toExponential(); >3 : 3 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y[4].toExponential(); >y[4].toExponential() : string > : ^^^^^^ >y[4].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[4] : number > : ^^^^^^ >y : A @@ -171,7 +171,7 @@ y[4].toExponential(); >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ class C { >C : C @@ -206,7 +206,7 @@ z[1].toExponential(); >z[1].toExponential() : string > : ^^^^^^ >z[1].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[1] : number > : ^^^^^^ >z : C @@ -214,13 +214,13 @@ z[1].toExponential(); >1 : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z[2].toExponential(); >z[2].toExponential() : string > : ^^^^^^ >z[2].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[2] : number > : ^^^^^^ >z : C @@ -228,13 +228,13 @@ z[2].toExponential(); >2 : 2 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z[3].toExponential(); >z[3].toExponential() : string > : ^^^^^^ >z[3].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[3] : number > : ^^^^^^ >z : C @@ -242,13 +242,13 @@ z[3].toExponential(); >3 : 3 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z[4].toExponential(); >z[4].toExponential() : string > : ^^^^^^ >z[4].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[4] : number > : ^^^^^^ >z : C @@ -256,7 +256,7 @@ z[4].toExponential(); >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ enum X { >X : X diff --git a/tests/baselines/reference/localAliasExportAssignment.types b/tests/baselines/reference/localAliasExportAssignment.types index 9fe5e34fcedc1..115fe8f871df2 100644 --- a/tests/baselines/reference/localAliasExportAssignment.types +++ b/tests/baselines/reference/localAliasExportAssignment.types @@ -4,12 +4,12 @@ /// import connect = require('./localAliasExportAssignment_0'); >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ connect(); >connect() : any >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ @@ -23,5 +23,5 @@ var server: { export = server; >server : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/localClassesInLoop.types b/tests/baselines/reference/localClassesInLoop.types index 5fdeae578609f..94ce37206b3b4 100644 --- a/tests/baselines/reference/localClassesInLoop.types +++ b/tests/baselines/reference/localClassesInLoop.types @@ -40,11 +40,11 @@ for (let x = 0; x < 2; ++x) { >data.push(() => C) : number > : ^^^^^^ >data.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >data : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => C : () => typeof C > : ^^^^^^^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/localClassesInLoop_ES6.types b/tests/baselines/reference/localClassesInLoop_ES6.types index 0c67ec33b67ea..53a65a36c1946 100644 --- a/tests/baselines/reference/localClassesInLoop_ES6.types +++ b/tests/baselines/reference/localClassesInLoop_ES6.types @@ -40,11 +40,11 @@ for (let x = 0; x < 2; ++x) { >data.push(() => C) : number > : ^^^^^^ >data.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >data : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => C : () => typeof C > : ^^^^^^^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/localImportNameVsGlobalName.types b/tests/baselines/reference/localImportNameVsGlobalName.types index f4812318b56f9..c7cc11debb02c 100644 --- a/tests/baselines/reference/localImportNameVsGlobalName.types +++ b/tests/baselines/reference/localImportNameVsGlobalName.types @@ -40,7 +40,7 @@ module App { >foo(Key.UP) : void > : ^^^^ >foo : (key: Key) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Key.UP : Key.UP > : ^^^^^^ >Key : typeof Key @@ -52,7 +52,7 @@ module App { >foo(Key.DOWN) : void > : ^^^^ >foo : (key: Key) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Key.DOWN : Key.DOWN > : ^^^^^^^^ >Key : typeof Key @@ -64,7 +64,7 @@ module App { >foo(Key.LEFT) : void > : ^^^^ >foo : (key: Key) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Key.LEFT : Key.LEFT > : ^^^^^^^^ >Key : typeof Key diff --git a/tests/baselines/reference/localesObjectArgument.types b/tests/baselines/reference/localesObjectArgument.types index 96b1156c35558..05d31c0d8599b 100644 --- a/tests/baselines/reference/localesObjectArgument.types +++ b/tests/baselines/reference/localesObjectArgument.types @@ -83,11 +83,11 @@ now.toLocaleString(enUS); >now.toLocaleString(enUS) : string > : ^^^^^^ >now.toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -95,11 +95,11 @@ now.toLocaleDateString(enUS); >now.toLocaleDateString(enUS) : string > : ^^^^^^ >now.toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -107,11 +107,11 @@ now.toLocaleTimeString(enUS); >now.toLocaleTimeString(enUS) : string > : ^^^^^^ >now.toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -119,11 +119,11 @@ now.toLocaleString([deDE, jaJP]); >now.toLocaleString([deDE, jaJP]) : string > : ^^^^^^ >now.toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -135,11 +135,11 @@ now.toLocaleDateString([deDE, jaJP]); >now.toLocaleDateString([deDE, jaJP]) : string > : ^^^^^^ >now.toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -151,11 +151,11 @@ now.toLocaleTimeString([deDE, jaJP]); >now.toLocaleTimeString([deDE, jaJP]) : string > : ^^^^^^ >now.toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -167,11 +167,11 @@ num.toLocaleString(enUS); >num.toLocaleString(enUS) : string > : ^^^^^^ >num.toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >num : 1000 > : ^^^^ >toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -179,11 +179,11 @@ num.toLocaleString([deDE, jaJP]); >num.toLocaleString([deDE, jaJP]) : string > : ^^^^^^ >num.toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >num : 1000 > : ^^^^ >toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -195,11 +195,11 @@ bigint.toLocaleString(enUS); >bigint.toLocaleString(enUS) : string > : ^^^^^^ >bigint.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigint : 123456789123456789n > : ^^^^^^^^^^^^^^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -207,11 +207,11 @@ bigint.toLocaleString([deDE, jaJP]); >bigint.toLocaleString([deDE, jaJP]) : string > : ^^^^^^ >bigint.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigint : 123456789123456789n > : ^^^^^^^^^^^^^^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -223,11 +223,11 @@ str.toLocaleLowerCase(enUS); >str.toLocaleLowerCase(enUS) : string > : ^^^^^^ >str.toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -235,11 +235,11 @@ str.toLocaleLowerCase([deDE, jaJP]); >str.toLocaleLowerCase([deDE, jaJP]) : string > : ^^^^^^ >str.toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -251,11 +251,11 @@ str.toLocaleUpperCase(enUS); >str.toLocaleUpperCase(enUS) : string > : ^^^^^^ >str.toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -263,11 +263,11 @@ str.toLocaleUpperCase([deDE, jaJP]); >str.toLocaleUpperCase([deDE, jaJP]) : string > : ^^^^^^ >str.toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -279,11 +279,11 @@ str.localeCompare(str, enUS); >str.localeCompare(str, enUS) : number > : ^^^^^^ >str.localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >enUS : Intl.Locale @@ -293,11 +293,11 @@ str.localeCompare(str, [deDE, jaJP]); >str.localeCompare(str, [deDE, jaJP]) : number > : ^^^^^^ >str.localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >[deDE, jaJP] : Intl.Locale[] @@ -351,7 +351,7 @@ Intl.PluralRules.supportedLocalesOf(enUS); >Intl.PluralRules.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ >Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -359,7 +359,7 @@ Intl.PluralRules.supportedLocalesOf(enUS); >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -367,7 +367,7 @@ Intl.PluralRules.supportedLocalesOf([deDE, jaJP]); >Intl.PluralRules.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ >Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -375,7 +375,7 @@ Intl.PluralRules.supportedLocalesOf([deDE, jaJP]); >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -387,7 +387,7 @@ Intl.PluralRules.supportedLocalesOf(readonlyLocales); >Intl.PluralRules.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ >Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -395,31 +395,31 @@ Intl.PluralRules.supportedLocalesOf(readonlyLocales); >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ new Intl.RelativeTimeFormat(enUS); >new Intl.RelativeTimeFormat(enUS) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ new Intl.RelativeTimeFormat([deDE, jaJP]); >new Intl.RelativeTimeFormat([deDE, jaJP]) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -430,44 +430,44 @@ new Intl.RelativeTimeFormat([deDE, jaJP]); new Intl.RelativeTimeFormat(readonlyLocales); >new Intl.RelativeTimeFormat(readonlyLocales) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ Intl.RelativeTimeFormat.supportedLocalesOf(enUS); >Intl.RelativeTimeFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.RelativeTimeFormat.supportedLocalesOf([deDE, jaJP]); >Intl.RelativeTimeFormat.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -478,16 +478,16 @@ Intl.RelativeTimeFormat.supportedLocalesOf([deDE, jaJP]); Intl.RelativeTimeFormat.supportedLocalesOf(readonlyLocales); >Intl.RelativeTimeFormat.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ ->Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ @@ -535,7 +535,7 @@ Intl.Collator.supportedLocalesOf(enUS); >Intl.Collator.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ >Intl.Collator.supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -543,7 +543,7 @@ Intl.Collator.supportedLocalesOf(enUS); >Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -551,7 +551,7 @@ Intl.Collator.supportedLocalesOf([deDE, jaJP]); >Intl.Collator.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ >Intl.Collator.supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -559,7 +559,7 @@ Intl.Collator.supportedLocalesOf([deDE, jaJP]); >Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -611,7 +611,7 @@ Intl.DateTimeFormat.supportedLocalesOf(enUS); >Intl.DateTimeFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ >Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -619,7 +619,7 @@ Intl.DateTimeFormat.supportedLocalesOf(enUS); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -627,7 +627,7 @@ Intl.DateTimeFormat.supportedLocalesOf([deDE, jaJP]); >Intl.DateTimeFormat.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ >Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -635,7 +635,7 @@ Intl.DateTimeFormat.supportedLocalesOf([deDE, jaJP]); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -647,7 +647,7 @@ Intl.DateTimeFormat.supportedLocalesOf(readonlyLocales); >Intl.DateTimeFormat.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ >Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -655,7 +655,7 @@ Intl.DateTimeFormat.supportedLocalesOf(readonlyLocales); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ @@ -703,7 +703,7 @@ Intl.NumberFormat.supportedLocalesOf(enUS); >Intl.NumberFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ >Intl.NumberFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -711,7 +711,7 @@ Intl.NumberFormat.supportedLocalesOf(enUS); >NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -719,7 +719,7 @@ Intl.NumberFormat.supportedLocalesOf(readonlyLocales); >Intl.NumberFormat.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ >Intl.NumberFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -727,7 +727,7 @@ Intl.NumberFormat.supportedLocalesOf(readonlyLocales); >NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=es2015).types b/tests/baselines/reference/logicalAssignment2(target=es2015).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2015).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=es2020).types b/tests/baselines/reference/logicalAssignment2(target=es2020).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2020).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=es2021).types b/tests/baselines/reference/logicalAssignment2(target=es2021).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2021).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=esnext).types b/tests/baselines/reference/logicalAssignment2(target=esnext).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment2(target=esnext).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment4(target=es2015).types b/tests/baselines/reference/logicalAssignment4(target=es2015).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment4(target=es2015).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment4(target=es2020).types b/tests/baselines/reference/logicalAssignment4(target=es2020).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment4(target=es2020).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment4(target=es2021).types b/tests/baselines/reference/logicalAssignment4(target=es2021).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment4(target=es2021).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment4(target=esnext).types b/tests/baselines/reference/logicalAssignment4(target=esnext).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment4(target=esnext).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=es2015).types b/tests/baselines/reference/logicalAssignment5(target=es2015).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2015).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=es2020).types b/tests/baselines/reference/logicalAssignment5(target=es2020).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2020).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=es2021).types b/tests/baselines/reference/logicalAssignment5(target=es2021).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2021).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=esnext).types b/tests/baselines/reference/logicalAssignment5(target=esnext).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment5(target=esnext).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=es2015).types b/tests/baselines/reference/logicalAssignment6(target=es2015).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment6(target=es2015).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=es2020).types b/tests/baselines/reference/logicalAssignment6(target=es2020).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment6(target=es2020).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=es2021).types b/tests/baselines/reference/logicalAssignment6(target=es2021).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment6(target=es2021).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=esnext).types b/tests/baselines/reference/logicalAssignment6(target=esnext).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment6(target=esnext).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=es2015).types b/tests/baselines/reference/logicalAssignment7(target=es2015).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment7(target=es2015).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=es2020).types b/tests/baselines/reference/logicalAssignment7(target=es2020).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment7(target=es2020).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=es2021).types b/tests/baselines/reference/logicalAssignment7(target=es2021).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment7(target=es2021).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=esnext).types b/tests/baselines/reference/logicalAssignment7(target=esnext).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment7(target=esnext).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=es2015).types b/tests/baselines/reference/logicalAssignment8(target=es2015).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2015).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=es2020).types b/tests/baselines/reference/logicalAssignment8(target=es2020).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2020).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=es2021).types b/tests/baselines/reference/logicalAssignment8(target=es2021).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2021).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=esnext).types b/tests/baselines/reference/logicalAssignment8(target=esnext).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment8(target=esnext).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment9.types b/tests/baselines/reference/logicalAssignment9.types index 87d3c726b6f43..f1ec1494c1809 100644 --- a/tests/baselines/reference/logicalAssignment9.types +++ b/tests/baselines/reference/logicalAssignment9.types @@ -12,8 +12,8 @@ x.a ??= true; > : ^^^^^^^ >x.a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->x : { a?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: boolean; } +> : ^^^^^^ ^^^ >a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >true : true @@ -24,8 +24,8 @@ x.a &&= false; > : ^^^^^^^^^^^^^^^^^ >x.a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->x : { a?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: boolean; } +> : ^^^^^^ ^^^ >a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >false : false diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types index 3270339ef5f97..5a076c8d61b03 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsBoolean5 = !obj; >!obj : boolean > : ^^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean6 = !obj1; >ResultIsBoolean6 : boolean @@ -221,7 +221,7 @@ var ResultIsBoolean14 = !foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean15 = !A.foo(); >ResultIsBoolean15 : boolean diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types index 58adab2d96228..be8d2e629c9f3 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsBoolean6 = !foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean7 = !A.foo(); >ResultIsBoolean7 : boolean @@ -156,7 +156,7 @@ var ResultIsBoolean = !!BOOLEAN; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ !true, false; >!true, false : false diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.types b/tests/baselines/reference/logicalNotOperatorWithNumberType.types index 8b8d16fe64f44..c259d3feeb592 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.types +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = !foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = !A.foo(); >ResultIsBoolean10 : boolean @@ -244,7 +244,7 @@ var ResultIsBoolean13 = !!!(NUMBER + NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ !objA.a; >!objA.a : boolean diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.types b/tests/baselines/reference/logicalNotOperatorWithStringType.types index 84e6d11bd9abb..bcb7b7d5fd858 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.types +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = !foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = !A.foo(); >ResultIsBoolean10 : boolean @@ -198,11 +198,11 @@ var ResultIsBoolean12 = !STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -260,7 +260,7 @@ var ResultIsBoolean14 = !!!(STRING + STRING); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ !objA.a,M.n; >!objA.a,M.n : string diff --git a/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types b/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types index 2ab56bd8b3d27..72075eeba2830 100644 --- a/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types +++ b/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types @@ -16,11 +16,11 @@ var a: (a: string) => string; // bug 786110 var r = a || ((a) => a.toLowerCase()); >r : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a || ((a) => a.toLowerCase()) : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >((a) => a.toLowerCase()) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >(a) => a.toLowerCase() : (a: string) => string @@ -30,9 +30,9 @@ var r = a || ((a) => a.toLowerCase()); >a.toLowerCase() : string > : ^^^^^^ >a.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index 4a44e44cd1554..bc39f9219c7c0 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -116,7 +116,7 @@ var ra7 = a7 || a1; // object || any is any >a7 || a1 : any > : ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a1 : any > : ^^^ @@ -210,11 +210,11 @@ var rb6 = a6 || a2; // enum || boolean is E | boolean var rb7 = a7 || a2; // object || boolean is object | boolean >rb7 : boolean | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >a7 || a2 : boolean | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a2 : boolean > : ^^^^^^^ @@ -308,11 +308,11 @@ var rc6 = a6 || a3; // enum || number is number var rc7 = a7 || a3; // object || number is object | number >rc7 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 || a3 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a3 : number > : ^^^^^^ @@ -406,11 +406,11 @@ var rd6 = a6 || a4; // enum || string is enum | string var rd7 = a7 || a4; // object || string is object | string >rd7 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 || a4 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a4 : string > : ^^^^^^ @@ -504,11 +504,11 @@ var re6 = a6 || a5; // enum || void is enum | void var re7 = a7 || a5; // object || void is object | void >re7 : void | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a7 || a5 : void | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a5 : void > : ^^^^ @@ -602,11 +602,11 @@ var rg6 = a6 || a6; // enum || enum is E var rg7 = a7 || a6; // object || enum is object | enum >rg7 : E | { a: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >a7 || a6 : E | { a: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a6 : E > : ^ @@ -646,95 +646,95 @@ var rh1 = a1 || a7; // any || object is any >a1 : any > : ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh2 = a2 || a7; // boolean || object is boolean | object >rh2 : true | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a2 || a7 : true | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a2 : boolean > : ^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh3 = a3 || a7; // number || object is number | object >rh3 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a3 || a7 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a3 : number > : ^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh4 = a4 || a7; // string || object is string | object >rh4 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a4 || a7 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a4 : string > : ^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh5 = a5 || a7; // void || object is void | object >rh5 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a5 || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a5 : void > : ^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh6 = a6 || a7; // enum || object is enum | object >rh6 : E.b | E.c | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >a6 || a7 : E.b | E.c | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >a6 : E > : ^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh7 = a7 || a7; // object || object is object >rh7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh8 = a8 || a7; // array || object is array | object >rh8 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a8 || a7 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a8 : string[] > : ^^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh9 = null || a7; // null || object is object >rh9 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >null || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh10 = undefined || a7; // undefined || object is object >rh10 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefined || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var ri1 = a1 || a8; // any || array is any >ri1 : any @@ -798,11 +798,11 @@ var ri6 = a6 || a8; // enum || array is enum | array var ri7 = a7 || a8; // object || array is object | array >ri7 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a7 || a8 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a8 : string[] > : ^^^^^^^^ @@ -884,11 +884,11 @@ var rj6 = a6 || null; // enum || null is E var rj7 = a7 || null; // object || null is object >rj7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 || null : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rj8 = a8 || null; // array || null is array >rj8 : string[] @@ -974,11 +974,11 @@ var rf6 = a6 || undefined; // enum || undefined is E var rf7 = a7 || undefined; // object || undefined is object >rf7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 || undefined : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/looseThisTypeInFunctions.types b/tests/baselines/reference/looseThisTypeInFunctions.types index 8af41eaaed8e5..094d633a0bf9c 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.types +++ b/tests/baselines/reference/looseThisTypeInFunctions.types @@ -94,19 +94,19 @@ let c = new C(); c.explicitVoid = c.explicitThis; // error, 'void' is missing everything >c.explicitVoid = c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ let o = { >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } @@ -138,7 +138,7 @@ let o = { >this.n : number > : ^^^^^^ >this : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >length : any @@ -158,7 +158,7 @@ let i: I = o; >i : I > : ^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ let o2: I = { >o2 : I @@ -200,13 +200,13 @@ let o2: I = { } let x = i.explicitThis; >x : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ let n = x(12); // callee:void doesn't match this:I >n : number @@ -214,7 +214,7 @@ let n = x(12); // callee:void doesn't match this:I >x(12) : number > : ^^^^^^ >x : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -224,13 +224,13 @@ let u: Unused; let y = u.implicitNoThis; >y : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >u.implicitNoThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >u : Unused > : ^^^^^^ >implicitNoThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ n = y(12); // ok, callee:void matches this:any >n = y(12) : number @@ -240,83 +240,83 @@ n = y(12); // ok, callee:void matches this:any >y(12) : number > : ^^^^^^ >y : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) >c.explicitVoid = c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) >o.implicitThis = c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) >o.implicitThis = c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >o.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ o.implicitThis = i.explicitThis; >o.implicitThis = i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >o.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ i.explicitThis = function(m) { >i.explicitThis = function(m) { return this.n.length; // error, this.n: number} : (this: I, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(m) { return this.n.length; // error, this.n: number} : (this: I, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >m : number diff --git a/tests/baselines/reference/malformedTags.types b/tests/baselines/reference/malformedTags.types index 310e20e7e7948..e873e70510a8e 100644 --- a/tests/baselines/reference/malformedTags.types +++ b/tests/baselines/reference/malformedTags.types @@ -10,9 +10,9 @@ var isArray = Array.isArray; >isArray : Function > : ^^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/mapGroupBy.types b/tests/baselines/reference/mapGroupBy.types index fefa9a0fbcf49..090af0f19de64 100644 --- a/tests/baselines/reference/mapGroupBy.types +++ b/tests/baselines/reference/mapGroupBy.types @@ -7,11 +7,11 @@ const basic = Map.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large'); >Map.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large') : Map<"small" | "large", number[]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[0, 2, 8] : number[] > : ^^^^^^^^ >0 : 0 @@ -43,11 +43,11 @@ const chars = Map.groupBy('a string', c => c); >Map.groupBy('a string', c => c) : Map > : ^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'a string' : "a string" > : ^^^^^^^^^^ >c => c : (c: string) => string @@ -79,11 +79,11 @@ const byRole = Map.groupBy(employees, x => x.role); >Map.groupBy(employees, x => x.role) : Map<"ic" | "manager", Employee[]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x.role : (x: Employee) => "ic" | "manager" @@ -103,11 +103,11 @@ const byNonKey = Map.groupBy(employees, x => x); >Map.groupBy(employees, x => x) : Map > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x : (x: Employee) => Employee diff --git a/tests/baselines/reference/mapOnTupleTypes01.types b/tests/baselines/reference/mapOnTupleTypes01.types index 56151f4cda4e7..75753b5a7af42 100644 --- a/tests/baselines/reference/mapOnTupleTypes01.types +++ b/tests/baselines/reference/mapOnTupleTypes01.types @@ -7,7 +7,7 @@ export let mapOnLooseArrayLiteral = [1, 2, 3, 4].map(n => n * n); >[1, 2, 3, 4].map(n => n * n) : number[] > : ^^^^^^^^ >[1, 2, 3, 4].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -19,7 +19,7 @@ export let mapOnLooseArrayLiteral = [1, 2, 3, 4].map(n => n * n); >4 : 4 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -47,11 +47,11 @@ export let a = numTuple.map(x => x * x); >numTuple.map(x => x * x) : number[] > : ^^^^^^^^ >numTuple.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numTuple : [number] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x * x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -101,11 +101,11 @@ export let b = numNum.map(n => n * n); >numNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNum : [number, number] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -123,11 +123,11 @@ export let c = strStr.map(s => s.charCodeAt(0)); >strStr.map(s => s.charCodeAt(0)) : number[] > : ^^^^^^^^ >strStr.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >strStr : [string, string] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s => s.charCodeAt(0) : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -135,11 +135,11 @@ export let c = strStr.map(s => s.charCodeAt(0)); >s.charCodeAt(0) : number > : ^^^^^^ >s.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -149,11 +149,11 @@ export let d = numStr.map(x => x); >numStr.map(x => x) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >numStr.map : (callbackfn: (value: string | number, index: number, array: (string | number)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numStr : [number, string] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: string | number, index: number, array: (string | number)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x : (x: string | number) => string | number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | number @@ -181,11 +181,11 @@ export let e = numNumNum.map(n => n * n); >numNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNum : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -219,11 +219,11 @@ export let f = numNumNumNum.map(n => n * n); >numNumNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNumNum : [number, number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -259,11 +259,11 @@ export let g = numNumNumNumNum.map(n => n * n); >numNumNumNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNumNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNumNumNum : [number, number, number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -302,11 +302,11 @@ export let h = numNumNumNumNum.map(n => n * n); >numNumNumNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNumNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNumNumNum : [number, number, number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/mapOnTupleTypes02.types b/tests/baselines/reference/mapOnTupleTypes02.types index c120aa956708f..cb6550e7c02b5 100644 --- a/tests/baselines/reference/mapOnTupleTypes02.types +++ b/tests/baselines/reference/mapOnTupleTypes02.types @@ -15,11 +15,11 @@ export function increment(point: Point) { >point.map(d => d + 1) : number[] > : ^^^^^^^^ >point.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >point : Point > : ^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >d => d + 1 : (d: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >d : number diff --git a/tests/baselines/reference/mappedToToIndexSignatureInference.types b/tests/baselines/reference/mappedToToIndexSignatureInference.types index a2b5e6525c7cb..c3fcd988fff4d 100644 --- a/tests/baselines/reference/mappedToToIndexSignatureInference.types +++ b/tests/baselines/reference/mappedToToIndexSignatureInference.types @@ -17,7 +17,7 @@ fn(a); >fn(a) : object > : ^^^^^^ >fn : (object: { [Key in K]: V; }) => object -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >a : { [index: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -47,7 +47,7 @@ let x: E[] = enumValues(E); >enumValues(E) : E[] > : ^^^ >enumValues : (e: Record) => V[] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >E : typeof E > : ^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeConstraints2.types b/tests/baselines/reference/mappedTypeConstraints2.types index 94cc0214532c9..521fec1f4927d 100644 --- a/tests/baselines/reference/mappedTypeConstraints2.types +++ b/tests/baselines/reference/mappedTypeConstraints2.types @@ -224,11 +224,11 @@ function validate(obj: T, bounds: NumericBoundsOf) { >Object.entries(obj) : [string, any][] > : ^^^^^^^^^^^^^^^ >Object.entries : { (o: { [s: string]: T_1; } | ArrayLike): [string, T_1][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >entries : { (o: { [s: string]: T_1; } | ArrayLike): [string, T_1][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : T > : ^ diff --git a/tests/baselines/reference/mappedTypeContextualTypesApplied.types b/tests/baselines/reference/mappedTypeContextualTypesApplied.types index a2f3096b1f53a..bbbaf78c97218 100644 --- a/tests/baselines/reference/mappedTypeContextualTypesApplied.types +++ b/tests/baselines/reference/mappedTypeContextualTypesApplied.types @@ -67,7 +67,7 @@ mapped1({foo: s => 42}); >mapped1({foo: s => 42}) : void > : ^^^^ >mapped1 : (obj: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -83,7 +83,7 @@ mapped2({foo: s => 42}); >mapped2({foo: s => 42}) : void > : ^^^^ >mapped2 : (obj: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -99,7 +99,7 @@ mapped3({foo: s => 42}); >mapped3({foo: s => 42}) : void > : ^^^^ >mapped3 : (obj: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -115,7 +115,7 @@ mapped4({foo: s => 42}); >mapped4({foo: s => 42}) : void > : ^^^^ >mapped4 : (obj: T & { [P in keyof T]: TakeString; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -131,7 +131,7 @@ mapped5({foo: s => 42}); >mapped5({foo: s => 42}) : void > : ^^^^ >mapped5 : (obj: T & { [P in K]: TakeString; }) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -147,7 +147,7 @@ mapped6({foo: s => 42}); >mapped6({foo: s => 42}) : void > : ^^^^ >mapped6 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -163,7 +163,7 @@ mapped7({foo: s => 42}); >mapped7({foo: s => 42}) : void > : ^^^^ >mapped7 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -179,7 +179,7 @@ mapped8({foo: s => 42}); >mapped8({foo: s => 42}) : void > : ^^^^ >mapped8 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -195,7 +195,7 @@ mapped9({foo: s => 42}); >mapped9({foo: s => 42}) : void > : ^^^^ >mapped9 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index 85814bb7a613a..64c394243f6fd 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -210,7 +210,7 @@ function f20() { >objAndReadonly({ x: 0, y: 0 }, { x: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndReadonly : (primary: T, secondary: Readonly) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -234,7 +234,7 @@ function f20() { >objAndReadonly({ x: 0, y: 0 }, { x: 1, y: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndReadonly : (primary: T, secondary: Readonly) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -262,7 +262,7 @@ function f20() { >objAndReadonly({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndReadonly : (primary: T, secondary: Readonly) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -299,7 +299,7 @@ function f21() { >objAndPartial({ x: 0, y: 0 }, { x: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndPartial : (primary: T, secondary: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -323,7 +323,7 @@ function f21() { >objAndPartial({ x: 0, y: 0 }, { x: 1, y: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndPartial : (primary: T, secondary: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -351,7 +351,7 @@ function f21() { >objAndPartial({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndPartial : (primary: T, secondary: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -718,8 +718,8 @@ let x2: Partial = { a: 'no' }; // Error > : ^^^^ let x3: { [P in keyof T2]: T2[P]} = { a: 'no' }; // Error ->x3 : { [x: string]: any; a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x3 : { [x: string]: any; a?: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ a: 'no' } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/mappedTypeGenericIndexedAccess.types b/tests/baselines/reference/mappedTypeGenericIndexedAccess.types index e072f363fee43..4cb47fadcc2de 100644 --- a/tests/baselines/reference/mappedTypeGenericIndexedAccess.types +++ b/tests/baselines/reference/mappedTypeGenericIndexedAccess.types @@ -38,18 +38,18 @@ class Test { entries: { [T in keyof Types]?: Types[T][] }; >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ constructor() { this.entries = {}; >this.entries = {} : {} > : ^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >{} : {} > : ^^ } @@ -66,13 +66,13 @@ class Test { >!this.entries[name] : boolean > : ^^^^^^^ >this.entries[name] : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; }[T] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >name : T > : ^ @@ -80,13 +80,13 @@ class Test { >this.entries[name] = [] : never[] > : ^^^^^^^ >this.entries[name] : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; }[T] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >name : T > : ^ >[] : never[] @@ -96,19 +96,19 @@ class Test { >this.entries[name]?.push(entry) : number > : ^^^^^^ >this.entries[name]?.push : (...items: Types[T][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this.entries[name] : Types[T][] > : ^^^^^^^^^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >name : T > : ^ >push : (...items: Types[T][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >entry : Types[T] > : ^^^^^^^^ } @@ -172,11 +172,11 @@ const typeHandlers: TypeHandlers = { >console.log(p.foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >p.foo : "bar" > : ^^^^^ >p : P<0> @@ -196,11 +196,11 @@ const typeHandlers: TypeHandlers = { >console.log(p.a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >p.a : "b" > : ^^^ >p : P<1> @@ -222,13 +222,13 @@ const onSomeEvent = (p: P) => >typeHandlers[p.t]?.(p) : void | undefined > : ^^^^^^^^^^^^^^^^ >typeHandlers[p.t] : ((p: P) => void) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ >typeHandlers : TypeHandlers > : ^^^^^^^^^^^^ >p.t : T > : ^ >p : { t: T; } & ({ foo: "bar"; } | { a: "b"; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^ >t : T > : ^ >p : P diff --git a/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types b/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types index 73322a3681132..bed8d769bb832 100644 --- a/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types +++ b/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types @@ -39,61 +39,61 @@ function foo(m1: M1[K], m2: M2[K], m3: M3[K]) { >m1.toString() : string > : ^^^^^^ >m1.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m1 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ m1?.toString(); >m1?.toString() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >m1?.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >m1 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ m2.toString(); // Error >m2.toString() : string > : ^^^^^^ >m2.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m2 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ m2?.toString(); >m2?.toString() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >m2?.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >m2 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ m3.toString(); // Error >m3.toString() : string > : ^^^^^^ >m3.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m3 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ m3?.toString(); >m3?.toString() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >m3?.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >m3 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ } // Repro from #57487 @@ -130,7 +130,7 @@ const resolveMapped = (key: K) => mapped[key].toS >mapped[key].toString() : string > : ^^^^^^ >mapped[key].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mapped[key] : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >mapped : { a?: 1 | undefined; b?: 2 | undefined; } @@ -138,7 +138,7 @@ const resolveMapped = (key: K) => mapped[key].toS >key : K > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Additional repro from #57487 @@ -191,8 +191,8 @@ type PartMappings = SetOptional; > : ^^^^^^^^^^^^ const mapper: { [K in keyof PartMappings]: (o: MapperArgs) => PartMappings[K] } = { ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >o : MapperArgs > : ^^^^^^^^^^^^^ >{ foo: ({ v, i }) => v.length + i > 4, "12": ({ v, i }) => Number(v) + i, 42: ({ v, i }) => `${v}${i}`,} : { foo: ({ v, i }: MapperArgs<"foo">) => boolean; "12": ({ v, i }: MapperArgs<"12">) => number; 42: ({ v, i }: MapperArgs<42>) => string; } @@ -264,8 +264,8 @@ const resolveMapper1 = ( > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >( key: K, o: MapperArgs) => mapper[key](o) : (key: K, o: MapperArgs) => PartMappings[K] > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ key: K, o: MapperArgs) => mapper[key](o); // Error >key : K @@ -275,9 +275,9 @@ const resolveMapper1 = ( >mapper[key](o) : PartMappings[K] > : ^^^^^^^^^^^^^^^ >mapper[key] : ((o: MapperArgs) => PartMappings[K]) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >key : K > : ^ >o : MapperArgs @@ -288,8 +288,8 @@ const resolveMapper2 = ( > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >( key: K, o: MapperArgs) => mapper[key]?.(o) : (key: K, o: MapperArgs) => PartMappings[K] | undefined > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ key: K, o: MapperArgs) => mapper[key]?.(o) >key : K @@ -299,9 +299,9 @@ const resolveMapper2 = ( >mapper[key]?.(o) : PartMappings[K] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapper[key] : ((o: MapperArgs) => PartMappings[K]) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >key : K > : ^ >o : MapperArgs @@ -339,7 +339,7 @@ type Obj2 = { declare const mapIntersection: { >mapIntersection : { a?: number | undefined; b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [K in keyof (Partial & Required)]: number; }; @@ -354,15 +354,15 @@ const accessMapped = (key: K) => mapIntersection[key].toSt >mapIntersection[key].toString() : string > : ^^^^^^ >mapIntersection[key].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mapIntersection[key] : { a?: number | undefined; b: number; c: number; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >mapIntersection : { a?: number | undefined; b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >key : K > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ declare const resolved: { a?: number | undefined; b: number; c: number }; >resolved : { a?: number | undefined; b: number; c: number; } @@ -384,15 +384,15 @@ const accessResolved = (key: K) => resolved[key].toString( >resolved[key].toString() : string > : ^^^^^^ >resolved[key].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >resolved[key] : { a?: number | undefined; b: number; c: number; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^^^^^^ >resolved : { a?: number | undefined; b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^^^ >key : K > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Additional repro from #57860 diff --git a/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types b/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types index 66f9313510017..62c4fb3404fc1 100644 --- a/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types +++ b/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types @@ -39,7 +39,7 @@ const r1 = f(v); >f(v) : number > : ^^^^^^ >f : (x: { [K in A]: Field; }) => R -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >v : { test: { smth: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ const r2 = g(v); >g(v) : number > : ^^^^^^ >g : (x: Field>) => R -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >v : { test: { smth: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.types b/tests/baselines/reference/mappedTypeInferenceErrors.types index a200bd12a644a..0120c7e85bb72 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.types +++ b/tests/baselines/reference/mappedTypeInferenceErrors.types @@ -24,7 +24,7 @@ foo({ >foo({ props: { x: 10, y: 20 }, computed: { bar(): number { let z = this.bar; return 42; }, baz: 42 }}) : void > : ^^^^ >foo : (options: { props: P; computed: ComputedOf; } & ThisType

    ) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ props: { x: 10, y: 20 }, computed: { bar(): number { let z = this.bar; return 42; }, baz: 42 }} : { props: { x: number; y: number; }; computed: { bar(): number; baz: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeModifiers.types b/tests/baselines/reference/mappedTypeModifiers.types index f20b3d943f097..1532573a83e40 100644 --- a/tests/baselines/reference/mappedTypeModifiers.types +++ b/tests/baselines/reference/mappedTypeModifiers.types @@ -329,7 +329,7 @@ function f1(x: Partial) { >(x["other"] || 0).toFixed() : string > : ^^^^^^ >(x["other"] || 0).toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(x["other"] || 0) : number > : ^^^^^^ >x["other"] || 0 : number @@ -343,7 +343,7 @@ function f1(x: Partial) { >0 : 0 > : ^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function f2(x: Readonly) { @@ -364,7 +364,7 @@ function f2(x: Readonly) { >x["other"].toFixed() : string > : ^^^^^^ >x["other"].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x["other"] : number > : ^^^^^^ >x : Readonly @@ -372,7 +372,7 @@ function f2(x: Readonly) { >"other" : "other" > : ^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function f3(x: Boxified) { @@ -393,7 +393,7 @@ function f3(x: Boxified) { >x["other"].x.toFixed() : string > : ^^^^^^ >x["other"].x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x["other"].x : number > : ^^^^^^ >x["other"] : { x: number; } @@ -405,20 +405,20 @@ function f3(x: Boxified) { >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function f4(x: { [P in keyof Foo]: Foo[P] }) { >f4 : (x: { [P in keyof Foo]: Foo[P]; }) => void > : ^ ^^ ^^^^^^^^^ >x : { [x: string]: number; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ x.prop; // ok >x.prop : number > : ^^^^^^ >x : { [x: string]: number; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >prop : number > : ^^^^^^ @@ -426,14 +426,14 @@ function f4(x: { [P in keyof Foo]: Foo[P] }) { >x["other"].toFixed() : string > : ^^^^^^ >x["other"].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x["other"] : number > : ^^^^^^ >x : { [x: string]: number; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"other" : "other" > : ^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/mappedTypeMultiInference.types b/tests/baselines/reference/mappedTypeMultiInference.types index 3ea5b1a0711fc..3cef75d787c5b 100644 --- a/tests/baselines/reference/mappedTypeMultiInference.types +++ b/tests/baselines/reference/mappedTypeMultiInference.types @@ -25,7 +25,7 @@ let x = mergeStyleSets( >mergeStyleSets( {}, { a: { flashy: true }, }, { b: { flashy: true }, },) : { a: Style; b: Style; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; } -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ {}, >{} : {} diff --git a/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types b/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types index c4372f6bac0a4..624fa6d54aa31 100644 --- a/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types +++ b/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types @@ -46,12 +46,12 @@ const v = chain({a: 1, b: 2}).mapValues(square).value(); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >chain({a: 1, b: 2}).mapValues(square) : Chainable<{ a: number; b: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->chain({a: 1, b: 2}).mapValues : (func: (v: number) => U) => Chainable<{ a: U; b: U; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>chain({a: 1, b: 2}).mapValues : (func: (v: number) => U) => Chainable<{ [k in keyof { a: number; b: number; }]: U; }> +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >chain({a: 1, b: 2}) : Chainable<{ a: number; b: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >chain : (t: T) => Chainable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{a: 1, b: 2} : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -62,8 +62,8 @@ const v = chain({a: 1, b: 2}).mapValues(square).value(); > : ^^^^^^ >2 : 2 > : ^ ->mapValues : (func: (v: number) => U) => Chainable<{ a: U; b: U; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapValues : (func: (v: number) => U) => Chainable<{ [k in keyof { a: number; b: number; }]: U; }> +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >square : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >value : () => { a: number; b: number; } diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 03b70ec3cc79a..afd4e643a3c93 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -31,7 +31,7 @@ const out = foo(a); >foo(a) : { a: { a: any; }; } > : ^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : A > : ^ @@ -102,7 +102,7 @@ const oub = foo(b); >foo(b) : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : B > : ^ @@ -164,7 +164,7 @@ const out2 = foo(xhr); >foo(xhr) : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >xhr : XMLHttpRequest > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeRecursiveInference2.types b/tests/baselines/reference/mappedTypeRecursiveInference2.types index 89e0e126650af..695d52b719f98 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference2.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference2.types @@ -36,7 +36,7 @@ const shallow = type(["ark", "|>", (x) => x.length]) >type(["ark", "|>", (x) => x.length]) : ["ark", "|>", (x: "ark") => number] > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >type : (def: validateDefinition) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["ark", "|>", (x) => x.length] : ["ark", "|>", (x: "ark") => number] > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >"ark" : "ark" @@ -60,7 +60,7 @@ const objectLiteral = type({ a: ["ark", "|>", (x) => x.length] }) >type({ a: ["ark", "|>", (x) => x.length] }) : { a: ["ark", "|>", (x: "ark") => number]; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >type : (def: validateDefinition) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: ["ark", "|>", (x) => x.length] } : { a: ["ark", "|>", (x: "ark") => number]; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >a : ["ark", "|>", (x: "ark") => number] @@ -88,7 +88,7 @@ const nestedTuple = type([["ark", "|>", (x) => x.length]]) >type([["ark", "|>", (x) => x.length]]) : [["ark", "|>", (x: "ark") => number]] > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >type : (def: validateDefinition) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[["ark", "|>", (x) => x.length]] : [["ark", "|>", (x: "ark") => number]] > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >["ark", "|>", (x) => x.length] : ["ark", "|>", (x: "ark") => number] diff --git a/tests/baselines/reference/mappedTypeUnionConstraintInferences.types b/tests/baselines/reference/mappedTypeUnionConstraintInferences.types index 393211309d8a9..60b79ab279edc 100644 --- a/tests/baselines/reference/mappedTypeUnionConstraintInferences.types +++ b/tests/baselines/reference/mappedTypeUnionConstraintInferences.types @@ -71,7 +71,7 @@ export let b = doSomething_Expected({ prop: "test" }); >doSomething_Expected({ prop: "test" }) : { prop?: string; } > : ^^^^^^^^^^^^^^^^^^ >doSomething_Expected : (a: T) => { [P in keyof PartialProperties]: PartialProperties[P]; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "test" } : { prop: string; } > : ^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/mappedTypeWithAny.types b/tests/baselines/reference/mappedTypeWithAny.types index ad71c45d09e4d..587ff68bb42f3 100644 --- a/tests/baselines/reference/mappedTypeWithAny.types +++ b/tests/baselines/reference/mappedTypeWithAny.types @@ -154,7 +154,7 @@ let abc: any[] = stringifyArray(void 0 as any); >stringifyArray(void 0 as any) : string[] > : ^^^^^^^^ >stringifyArray : (arr: T) => { -readonly [K in keyof T]: string; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >void 0 as any : any > : ^^^ >void 0 : undefined @@ -174,7 +174,7 @@ let def: [any, any] = stringifyPair(void 0 as any); >stringifyPair(void 0 as any) : string[] > : ^^^^^^^^ >stringifyPair : (arr: T) => { -readonly [K in keyof T]: string; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >void 0 as any : any > : ^^^ >void 0 : undefined diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types index e1147b45da94b..4922d453be85a 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types @@ -6,14 +6,14 @@ declare let tgt2: number[]; > : ^^^^^^^^ declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tgt2 = src2; // Should error ->tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tgt2 : number[] > : ^^^^^^^^ ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js index b143900a08085..819790a7e7413 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js @@ -16,7 +16,7 @@ export declare const thing: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; - pop: () => number; + pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; @@ -24,7 +24,7 @@ export declare const thing: { }; join: (separator?: string) => string; reverse: () => number[]; - shift: () => number; + shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { @@ -56,8 +56,8 @@ export declare const thing: { (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { - (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; - (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; + (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; + (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; @@ -66,7 +66,7 @@ export declare const thing: { keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; - flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; + flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { @@ -123,7 +123,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; - pop: () => number; + pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; @@ -131,7 +131,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' }; join: (separator?: string) => string; reverse: () => number[]; - shift: () => number; + shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { @@ -165,8 +165,8 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { - (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; - (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; + (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; + (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; @@ -175,7 +175,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; - flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; + flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types index 624415727be03..623f98f9f341c 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types @@ -2,11 +2,11 @@ === mappedTypeWithAsClauseAndLateBoundProperty2.ts === export const thing = (null as any as { [K in keyof number[] as Exclude]: (number[])[K] }); ->thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >null as any : any diff --git a/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types b/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types index d64e6d1bb54d0..29b2aed2a26f5 100644 --- a/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types +++ b/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types @@ -23,7 +23,7 @@ doArrayStuff(x); >doArrayStuff(x) : void > : ^^^^ >doArrayStuff : (x: unknown[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Mappy > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypes1.types b/tests/baselines/reference/mappedTypes1.types index 750374e4b3f41..2d6ccaaa10c92 100644 --- a/tests/baselines/reference/mappedTypes1.types +++ b/tests/baselines/reference/mappedTypes1.types @@ -125,7 +125,7 @@ let x1 = f1(); >f1() : {} > : ^^ >f1 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ let x2 = f2(); >x2 : string @@ -133,7 +133,7 @@ let x2 = f2(); >f2() : string > : ^^^^^^ >f2 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let x3 = f3(); >x3 : number @@ -141,7 +141,7 @@ let x3 = f3(); >f3() : number > : ^^^^^^ >f3 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let x4 = f4(); >x4 : { toString: void; toFixed: void; toExponential: void; toPrecision: void; valueOf: void; toLocaleString: void; } @@ -149,5 +149,5 @@ let x4 = f4(); >f4() : { toString: void; toFixed: void; toExponential: void; toPrecision: void; valueOf: void; toLocaleString: void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/mappedTypes2.types b/tests/baselines/reference/mappedTypes2.types index 87b391ab35a2c..09c2de1631d48 100644 --- a/tests/baselines/reference/mappedTypes2.types +++ b/tests/baselines/reference/mappedTypes2.types @@ -181,7 +181,7 @@ function f0(s1: Shape, s2: Shape) { >assign(s1, { name: "circle" }) : void > : ^^^^ >assign : (obj: T, props: Partial) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >s1 : Shape > : ^^^^^ >{ name: "circle" } : { name: string; } @@ -195,7 +195,7 @@ function f0(s1: Shape, s2: Shape) { >assign(s2, { width: 10, height: 20 }) : void > : ^^^^ >assign : (obj: T, props: Partial) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >s2 : Shape > : ^^^^^ >{ width: 10, height: 20 } : { width: number; height: number; } @@ -230,7 +230,7 @@ function f1(shape: Shape) { >freeze(shape) : Readonly > : ^^^^^^^^^^^^^^^ >freeze : (obj: T) => Readonly -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >shape : Shape > : ^^^^^ } @@ -268,7 +268,7 @@ function f3(shape: Shape) { >pick(shape, "name", "location") : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (obj: T, ...keys: K[]) => Pick -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -305,7 +305,7 @@ function f4() { >mapObject(rec, s => s.length) : Record<"foo" | "bar" | "baz", number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapObject : (obj: Record, f: (x: T) => U) => Record -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >rec : { foo: string; bar: string; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s => s.length : (s: string) => number @@ -332,7 +332,7 @@ function f5(shape: Shape) { >proxify(shape) : Proxify > : ^^^^^^^^^^^^^^ >proxify : (obj: T) => Proxify -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >shape : Shape > : ^^^^^ @@ -356,7 +356,7 @@ function f5(shape: Shape) { >p.width.set(42) : void > : ^^^^ >p.width.set : (value: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >p.width : Proxy > : ^^^^^^^^^^^^^ >p : Proxify @@ -364,7 +364,7 @@ function f5(shape: Shape) { >width : Proxy > : ^^^^^^^^^^^^^ >set : (value: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/mappedTypes3.types b/tests/baselines/reference/mappedTypes3.types index e86ffb660b05f..ef704dc277dab 100644 --- a/tests/baselines/reference/mappedTypes3.types +++ b/tests/baselines/reference/mappedTypes3.types @@ -61,7 +61,7 @@ function f1(b: Bacon) { >boxify(b) : Boxified > : ^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Bacon > : ^^^^^ @@ -106,7 +106,7 @@ function f2(bb: Boxified) { >unboxify(bb) : Bacon > : ^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bb : Boxified > : ^^^^^^^^^^^^^^^ @@ -143,7 +143,7 @@ function f3(bb: BoxifiedBacon) { >unboxify(bb) : Bacon > : ^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bb : BoxifiedBacon > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypes4.types b/tests/baselines/reference/mappedTypes4.types index 466da30685051..79c32add1b52a 100644 --- a/tests/baselines/reference/mappedTypes4.types +++ b/tests/baselines/reference/mappedTypes4.types @@ -102,7 +102,7 @@ function f1(x: A | B | C | undefined) { >boxify(x) : Boxified > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A | B | C | undefined > : ^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/mappedTypes5.types b/tests/baselines/reference/mappedTypes5.types index b09f3b61e37fd..a38f0e983c749 100644 --- a/tests/baselines/reference/mappedTypes5.types +++ b/tests/baselines/reference/mappedTypes5.types @@ -160,11 +160,11 @@ function doit() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let current: Partial = Object.create(null); >current : Partial @@ -172,11 +172,11 @@ function doit() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let args1: Args1 = { previous, current }; >args1 : Args1 @@ -245,11 +245,11 @@ function doit2() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let current: Partial = Object.create(null); >current : Partial @@ -257,11 +257,11 @@ function doit2() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let args1: Args3 = { previous, current }; >args1 : Args3 diff --git a/tests/baselines/reference/mappedTypesArraysTuples.types b/tests/baselines/reference/mappedTypesArraysTuples.types index 27139991c4894..739e7af27e551 100644 --- a/tests/baselines/reference/mappedTypesArraysTuples.types +++ b/tests/baselines/reference/mappedTypesArraysTuples.types @@ -135,7 +135,7 @@ let y10 = unboxify(x10); >unboxify(x10) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (x: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x10 : [Box, Box, ...Box[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,7 +149,7 @@ let y11 = unboxify(x11); >unboxify(x11) : number[] > : ^^^^^^^^ >unboxify : (x: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x11 : Box[] > : ^^^^^^^^^^^^^ @@ -167,9 +167,9 @@ let y12 = unboxify(x12); >unboxify(x12) : { a: number; b: string[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (x: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x12 : { a: Box; b: Box; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ declare function nonpartial(x: Partial): T; >nonpartial : (x: Partial) => T @@ -187,7 +187,7 @@ let y20 = nonpartial(x20); >nonpartial(x20) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nonpartial : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x20 : [number | undefined, (string | undefined)?, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -201,7 +201,7 @@ let y21 = nonpartial(x21); >nonpartial(x21) : number[] > : ^^^^^^^^ >nonpartial : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x21 : (number | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -215,13 +215,13 @@ declare let x22: { a: number | undefined, b?: string[] }; let y22 = nonpartial(x22); >y22 : { a: number; b: string[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >nonpartial(x22) : { a: number; b: string[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >nonpartial : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ ->x22 : { a: number | undefined; b?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>x22 : { a: number | undefined; b?: string[]; } +> : ^^^^^ ^^^^^^ ^^^ type __Awaited = T extends PromiseLike ? U : T; >__Awaited : __Awaited @@ -255,7 +255,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a) : Promise<[number]> > : ^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ @@ -265,7 +265,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a, b) : Promise<[number, number]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : Promise @@ -277,7 +277,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a, b, c) : Promise<[number, number, string[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : Promise @@ -291,7 +291,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a, b, c, d) : Promise<[number, number, string[], string[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : Promise @@ -314,11 +314,11 @@ function f2(a: Boxified) { >a.pop() : Box | undefined > : ^^^^^^^^^^^^^^^^^^^^ >a.pop : () => Box | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ >a : Boxified > : ^^^^^^^^^^^ >pop : () => Box | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ let y: Box[] = a.concat(a); >y : Box[] @@ -326,11 +326,11 @@ function f2(a: Boxified) { >a.concat(a) : Box[] > : ^^^^^^^^^^ >a.concat : { (...items: ConcatArray>[]): Box[]; (...items: (Box | ConcatArray>)[]): Box[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : Boxified > : ^^^^^^^^^^^ >concat : { (...items: ConcatArray>[]): Box[]; (...items: (Box | ConcatArray>)[]): Box[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : Boxified > : ^^^^^^^^^^^ } @@ -381,11 +381,11 @@ function acceptMappedArray(arr: T) { >acceptArray(mapArray(arr)) : void > : ^^^^ >acceptArray : (arr: any[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >mapArray(arr) : Mapped > : ^^^^^^^^^ >mapArray : (arr: T_1) => Mapped -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : T > : ^ } diff --git a/tests/baselines/reference/mappedTypesGenericTuples2.types b/tests/baselines/reference/mappedTypesGenericTuples2.types index aa133798ae4b5..26e5366029f05 100644 --- a/tests/baselines/reference/mappedTypesGenericTuples2.types +++ b/tests/baselines/reference/mappedTypesGenericTuples2.types @@ -11,27 +11,27 @@ Promise.all([getT(), ...getT()]).then((result) => { >Promise.all([getT(), ...getT()]).then((result) => { const head = result[0]; // string const tail = result.slice(1); // any[] tail satisfies string[]; // ok}) : Promise > : ^^^^^^^^^^^^^ >Promise.all([getT(), ...getT()]).then : (onfulfilled?: ((value: [string, ...any[]]) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.all([getT(), ...getT()]) : Promise<[string, ...any[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[getT(), ...getT()] : [string, ...any[]] > : ^^^^^^^^^^^^^^^^^^ >getT() : string > : ^^^^^^ >getT : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >...getT() : any >getT() : any >getT : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >then : (onfulfilled?: ((value: [string, ...any[]]) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(result) => { const head = result[0]; // string const tail = result.slice(1); // any[] tail satisfies string[]; // ok} : (result: [string, ...any[]]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : [string, ...any[]] @@ -53,11 +53,11 @@ Promise.all([getT(), ...getT()]).then((result) => { >result.slice(1) : any[] > : ^^^^^ >result.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >result : [string, ...any[]] > : ^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/maxConstraints.types b/tests/baselines/reference/maxConstraints.types index 6539cdadc5972..7c035fa1691ac 100644 --- a/tests/baselines/reference/maxConstraints.types +++ b/tests/baselines/reference/maxConstraints.types @@ -33,11 +33,11 @@ var max2: Comparer = (x, y) => { return (x.compareTo(y) > 0) ? x : y }; >x.compareTo(y) : number > : ^^^^^^ >x.compareTo : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >x : T > : ^ >compareTo : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >y : T > : ^ >0 : 0 diff --git a/tests/baselines/reference/memberAccessOnConstructorType.types b/tests/baselines/reference/memberAccessOnConstructorType.types index 4b89b0c745d8f..c9e67d7465fcf 100644 --- a/tests/baselines/reference/memberAccessOnConstructorType.types +++ b/tests/baselines/reference/memberAccessOnConstructorType.types @@ -10,7 +10,7 @@ f.arguments == 0; > : ^^^^^^^ >f.arguments : any >f : new () => void -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >arguments : any > : ^^^ >0 : 0 diff --git a/tests/baselines/reference/mergedInstantiationAssignment.types b/tests/baselines/reference/mergedInstantiationAssignment.types index 12333444b0822..b5fa58d61fe9d 100644 --- a/tests/baselines/reference/mergedInstantiationAssignment.types +++ b/tests/baselines/reference/mergedInstantiationAssignment.types @@ -35,8 +35,8 @@ v1.x = 432; > : ^^^ >v1.x : number > : ^^^^^^ ->v1 : GenericObject & ({ a?: string | undefined; } | { b?: number | undefined; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v1 : GenericObject & ({ a?: string; } | { b?: number; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >x : number > : ^^^^^^ >432 : 432 @@ -72,8 +72,8 @@ v2.x = 42; > : ^^ >v2.x : number > : ^^^^^^ ->v2 : GenericObjectWithoutSetter & ({ a?: string | undefined; } | { b?: number | undefined; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v2 : GenericObjectWithoutSetter & ({ a?: string; } | { b?: number; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >x : number > : ^^^^^^ >42 : 42 @@ -111,8 +111,8 @@ v3.x = 42; > : ^^ >v3.x : number > : ^^^^^^ ->v3 : NormalObject & ({ a?: string | undefined; } | { b?: number | undefined; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v3 : NormalObject & ({ a?: string; } | { b?: number; }) +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >x : number > : ^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types index 8e8e444939a71..4fa6a30c2c65f 100644 --- a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types +++ b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types @@ -23,11 +23,11 @@ var a: string = c.foo(); >c.foo() : string > : ^^^^^^ >c.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: number = c.bar(); >b : number @@ -35,11 +35,11 @@ var b: number = c.bar(); >c.bar() : number > : ^^^^^^ >c.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var d: number = c.a(); >d : number @@ -47,11 +47,11 @@ var d: number = c.a(); >c.a() : number > : ^^^^^^ >c.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var e: Date = c.b(); >e : Date @@ -59,11 +59,11 @@ var e: Date = c.b(); >c.b() : Date > : ^^^^ >c.b : () => Date -> : ^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >b : () => Date -> : ^^^^^^^^^^ +> : ^^^^^^ === mergedInterfaceFromMultipleFiles1_0.ts === interface I { foo(): string; } diff --git a/tests/baselines/reference/mergedInterfacesWithIndexers.types b/tests/baselines/reference/mergedInterfacesWithIndexers.types index 04f8281db33b4..8d7055bd3d101 100644 --- a/tests/baselines/reference/mergedInterfacesWithIndexers.types +++ b/tests/baselines/reference/mergedInterfacesWithIndexers.types @@ -44,9 +44,9 @@ var r2 = a['1']; var r3 = a['hi']; >r3 : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >a['hi'] : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >a : A > : ^ >'hi' : "hi" diff --git a/tests/baselines/reference/mergedWithLocalValue.types b/tests/baselines/reference/mergedWithLocalValue.types index 79ec50384c8a0..ba09fcf5da2b5 100644 --- a/tests/baselines/reference/mergedWithLocalValue.types +++ b/tests/baselines/reference/mergedWithLocalValue.types @@ -20,9 +20,9 @@ A.toUpperCase(); >A.toUpperCase() : string > : ^^^^^^ >A.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : "a" > : ^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/metadataOfClassFromAlias.types b/tests/baselines/reference/metadataOfClassFromAlias.types index 9c32633b7d0f1..4cb3f654a5c87 100644 --- a/tests/baselines/reference/metadataOfClassFromAlias.types +++ b/tests/baselines/reference/metadataOfClassFromAlias.types @@ -32,7 +32,7 @@ export class ClassA { >annotation() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >annotation : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >array : SomeClass > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/metadataOfClassFromAlias2.types b/tests/baselines/reference/metadataOfClassFromAlias2.types index 3216ab9736316..cdffa195252bc 100644 --- a/tests/baselines/reference/metadataOfClassFromAlias2.types +++ b/tests/baselines/reference/metadataOfClassFromAlias2.types @@ -32,7 +32,7 @@ export class ClassA { >annotation() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >annotation : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >array : string | SomeClass > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/metadataOfClassFromModule.types b/tests/baselines/reference/metadataOfClassFromModule.types index 5ed560ed957d2..fef7de3fb5480 100644 --- a/tests/baselines/reference/metadataOfClassFromModule.types +++ b/tests/baselines/reference/metadataOfClassFromModule.types @@ -22,7 +22,7 @@ module MyModule { @inject leftLeg: Leg; >inject : (target: any, key: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >leftLeg : Leg > : ^^^ } diff --git a/tests/baselines/reference/metadataOfEventAlias.types b/tests/baselines/reference/metadataOfEventAlias.types index db1072bdc786b..2c6af74915eb6 100644 --- a/tests/baselines/reference/metadataOfEventAlias.types +++ b/tests/baselines/reference/metadataOfEventAlias.types @@ -23,7 +23,7 @@ export class SomeClass { @Input event: Event; >Input : (target: any, key: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >event : Event > : ^^^^^ } diff --git a/tests/baselines/reference/methodChainError.types b/tests/baselines/reference/methodChainError.types index 0551e61438307..6dbe0a61262be 100644 --- a/tests/baselines/reference/methodChainError.types +++ b/tests/baselines/reference/methodChainError.types @@ -25,15 +25,15 @@ new Builder() >new Builder() .method("a") .method() .method("a") : Builder > : ^^^^^^^ >new Builder() .method("a") .method() .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() .method("a") .method() : Builder > : ^^^^^^^ >new Builder() .method("a") .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() .method("a") : Builder > : ^^^^^^^ >new Builder() .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() : Builder > : ^^^^^^^ >Builder : typeof Builder @@ -41,17 +41,17 @@ new Builder() .method("a") >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ .method() >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ .method("a"); >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -68,7 +68,7 @@ new Builder() >new Builder() .method("a") : Builder > : ^^^^^^^ >new Builder() .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() : Builder > : ^^^^^^^ >Builder : typeof Builder @@ -76,7 +76,7 @@ new Builder() .method("a") >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/methodContainingLocalFunction.types b/tests/baselines/reference/methodContainingLocalFunction.types index 8d8249cc56b27..16e730b1e4543 100644 --- a/tests/baselines/reference/methodContainingLocalFunction.types +++ b/tests/baselines/reference/methodContainingLocalFunction.types @@ -22,7 +22,7 @@ class BugExhibition { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ } @@ -47,7 +47,7 @@ class BugExhibition2 { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ @@ -77,7 +77,7 @@ class BugExhibition3 { >x = localGenericFunction : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localGenericFunction : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ } @@ -107,7 +107,7 @@ class C { >x = funcExpr : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >funcExpr : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ } @@ -133,7 +133,7 @@ module M { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ } @@ -165,7 +165,7 @@ enum E { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/methodSignatureDeclarationEmit1.types b/tests/baselines/reference/methodSignatureDeclarationEmit1.types index 68d4d1bcac742..b438e7d917c4b 100644 --- a/tests/baselines/reference/methodSignatureDeclarationEmit1.types +++ b/tests/baselines/reference/methodSignatureDeclarationEmit1.types @@ -7,19 +7,19 @@ class C { public foo(n: number): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ public foo(s: string): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ public foo(a: any): void { >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any } } diff --git a/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types b/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types index b75b715f0db7e..f06648da8b304 100644 --- a/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types +++ b/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types @@ -10,7 +10,7 @@ interface Foo { interface Foo { bold: string; >bold : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/methodSignaturesWithOverloads.types b/tests/baselines/reference/methodSignaturesWithOverloads.types index e7a5829430863..fcf3524653b58 100644 --- a/tests/baselines/reference/methodSignaturesWithOverloads.types +++ b/tests/baselines/reference/methodSignaturesWithOverloads.types @@ -9,13 +9,13 @@ var c: { func4?(x: number): number; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ func4(s: string): string; // error, mismatched optionality >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -40,13 +40,13 @@ var c2: { func4(x: T): number; >func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ func4? (s: T): string; // error, mismatched optionality >func4 : { (x: T_1): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : T > : ^ diff --git a/tests/baselines/reference/methodSignaturesWithOverloads2.types b/tests/baselines/reference/methodSignaturesWithOverloads2.types index fd02feb58a7c2..d29fe4fc8c56a 100644 --- a/tests/baselines/reference/methodSignaturesWithOverloads2.types +++ b/tests/baselines/reference/methodSignaturesWithOverloads2.types @@ -9,13 +9,13 @@ var c: { func4?(x: number): number; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ func4?(s: string): string; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -37,35 +37,35 @@ var c: { // no errors c.func4 = c.func5; >c.func4 = c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ c.func5 = c.func4; >c.func5 = c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var c2: { @@ -74,13 +74,13 @@ var c2: { func4?(x: T): number; >func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ func4? (s: T): string; >func4 : { (x: T_1): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : T > : ^ @@ -102,33 +102,33 @@ var c2: { // no errors c2.func4 = c2.func5; >c2.func4 = c2.func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ c2.func5 = c2.func4; >c2.func5 = c2.func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func5 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2.func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func4 : { (x: T): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types index 7113f8ab569d8..b9b42cc5fc935 100644 --- a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types +++ b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types @@ -21,11 +21,11 @@ function map(xs: T[], f: (x: T) => U) { >xs.forEach(x => ys.push(f(x))) : void > : ^^^^ >xs.forEach : (callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >xs : T[] > : ^^^ >forEach : (callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >x => ys.push(f(x)) : (x: T) => number > : ^ ^^^^^^^^^^^^^^ >x : T @@ -33,15 +33,15 @@ function map(xs: T[], f: (x: T) => U) { >ys.push(f(x)) : number > : ^^^^^^ >ys.push : (...items: U[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >ys : U[] > : ^^^ >push : (...items: U[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >f(x) : U > : ^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -70,11 +70,11 @@ var r0 = map([1, ""], (x) => x.toString()); >x.toString() : string > : ^^^^^^ >x.toString : (() => string) | ((radix?: number) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >x : string | number > : ^^^^^^^^^^^^^^^ >toString : (() => string) | ((radix?: number) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^ ^^^ ^^^^^ ^ var r5 = map([1, ""], (x) => x.toString()); >r5 : any[] @@ -122,11 +122,11 @@ var r6 = map([1, ""], (x) => x.toString()); >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r7 = map([1, ""], (x) => x.toString()); // error >r7 : string[] @@ -148,11 +148,11 @@ var r7 = map([1, ""], (x) => x.toString()); // error >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r7b = map([1, ""], (x) => x.toString()); // error >r7b : unknown[] @@ -174,11 +174,11 @@ var r7b = map([1, ""], (x) => x.toString()); // error >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r8 = map([1, ""], (x) => x.toString()); >r8 : string[] diff --git a/tests/baselines/reference/missingFunctionImplementation.types b/tests/baselines/reference/missingFunctionImplementation.types index 50dba6b6a06e8..856c55b984858 100644 --- a/tests/baselines/reference/missingFunctionImplementation.types +++ b/tests/baselines/reference/missingFunctionImplementation.types @@ -62,13 +62,13 @@ class C5 { static m(a): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ >a : any > : ^^^ static m(): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ } // merged with namespace, static methods @@ -90,13 +90,13 @@ class C7 { static m(a): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ >a : any > : ^^^ static m(): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ } namespace C7 { } @@ -108,13 +108,13 @@ class C8 { static m(a): void; >m : { (a: any): void; (a: any, b: any): void; } -> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ static m(a, b): void; >m : { (a: any): void; (a: any, b: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ >b : any @@ -162,7 +162,7 @@ namespace N10 { export function m(a): void; >m : { (a: any): void; (a: any): void; } -> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } @@ -172,7 +172,7 @@ namespace N10 { export function m(a): void { } >m : { (a: any): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } @@ -184,17 +184,17 @@ namespace N12 { export function m(a): void; >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ export function m(): void; >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ export function m(a?): void { } >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } @@ -204,7 +204,7 @@ namespace N12 { export function m(a): void { } >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/missingFunctionImplementation2.types b/tests/baselines/reference/missingFunctionImplementation2.types index f1cb67edfdb07..aaa79a5d73a5d 100644 --- a/tests/baselines/reference/missingFunctionImplementation2.types +++ b/tests/baselines/reference/missingFunctionImplementation2.types @@ -18,7 +18,7 @@ declare module "./missingFunctionImplementation2_b" { === missingFunctionImplementation2_b.ts === export function f(a?, b?); >f : { (a?: any, b?: any): any; (a: any, b: any): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ >b : any diff --git a/tests/baselines/reference/missingTypeArguments3.types b/tests/baselines/reference/missingTypeArguments3.types index a0040a4a0275a..9fc720e304785 100644 --- a/tests/baselines/reference/missingTypeArguments3.types +++ b/tests/baselines/reference/missingTypeArguments3.types @@ -12,7 +12,7 @@ declare module linq { GroupBy(keySelector: (element: T) => TKey): Enumerable>; >GroupBy : { (keySelector: (element: T) => TKey): Enumerable>; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TElement): Enumerable>; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T @@ -20,7 +20,7 @@ declare module linq { GroupBy(keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; >GroupBy : { (keySelector: (element: T) => TKey_1): Enumerable>; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T diff --git a/tests/baselines/reference/misspelledJsDocTypedefTags.types b/tests/baselines/reference/misspelledJsDocTypedefTags.types index fbd3f759fc395..fc21d415c2788 100644 --- a/tests/baselines/reference/misspelledJsDocTypedefTags.types +++ b/tests/baselines/reference/misspelledJsDocTypedefTags.types @@ -9,7 +9,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel : any > : ^^^ >Animation : { new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; prototype: Animation; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ >AnimationModel : any > : ^^^ >ScreenshotCapture : any @@ -25,7 +25,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel : any > : ^^^ >Animation : { new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; prototype: Animation; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ >AnimationModel : any > : ^^^ >ScreenshotCapture : any diff --git a/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types b/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types index 865fa27ace7a9..352ce21d8f6dc 100644 --- a/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types +++ b/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types @@ -23,7 +23,7 @@ class A { m1 (a: any): void { >m1 : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any > : ^^^ } @@ -39,7 +39,7 @@ class B { m1 (a: string): void; >m1 : { (a: string): void; (a: any): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ @@ -51,7 +51,7 @@ class B { m1 (a: any): void { >m1 : { (a: string): void; (a: any): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/mixedTypeEnumComparison.types b/tests/baselines/reference/mixedTypeEnumComparison.types index d589e7d810a65..fdb72dd9273cc 100644 --- a/tests/baselines/reference/mixedTypeEnumComparison.types +++ b/tests/baselines/reference/mixedTypeEnumComparison.types @@ -144,7 +144,7 @@ enum E2 { >someValue() : number > : ^^^^^^ >someValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } someString > E2.S1; diff --git a/tests/baselines/reference/mixinAbstractClasses.2.types b/tests/baselines/reference/mixinAbstractClasses.2.types index e8f90772ca77a..d6a5c7c36c1da 100644 --- a/tests/baselines/reference/mixinAbstractClasses.2.types +++ b/tests/baselines/reference/mixinAbstractClasses.2.types @@ -45,11 +45,11 @@ abstract class AbstractBase { const MixedBase = Mixin(AbstractBase); >MixedBase : typeof AbstractBase & (abstract new (...args: any) => Mixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >Mixin(AbstractBase) : typeof AbstractBase & (abstract new (...args: any) => Mixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >AbstractBase : typeof AbstractBase > : ^^^^^^^^^^^^^^^^^^^ @@ -66,5 +66,5 @@ new MixedBase(); >new MixedBase() : any > : ^^^ >MixedBase : typeof AbstractBase & (abstract new (...args: any) => Mixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/mixinAbstractClasses.types b/tests/baselines/reference/mixinAbstractClasses.types index 6dfa47f3a824b..6ce2463ee1235 100644 --- a/tests/baselines/reference/mixinAbstractClasses.types +++ b/tests/baselines/reference/mixinAbstractClasses.types @@ -55,7 +55,7 @@ class DerivedFromConcrete extends Mixin(ConcreteBase) { >Mixin(ConcreteBase) : ConcreteBase & Mixin > : ^^^^^^^^^^^^^^^^^^^^ >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ConcreteBase : typeof ConcreteBase > : ^^^^^^^^^^^^^^^^^^^ } @@ -82,11 +82,11 @@ wasConcrete.mixinMethod(); >wasConcrete.mixinMethod() : void > : ^^^^ >wasConcrete.mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >wasConcrete : DerivedFromConcrete > : ^^^^^^^^^^^^^^^^^^^ >mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ class DerivedFromAbstract extends Mixin(AbstractBase) { >DerivedFromAbstract : DerivedFromAbstract @@ -94,7 +94,7 @@ class DerivedFromAbstract extends Mixin(AbstractBase) { >Mixin(AbstractBase) : AbstractBase & Mixin > : ^^^^^^^^^^^^^^^^^^^^ >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >AbstractBase : typeof AbstractBase > : ^^^^^^^^^^^^^^^^^^^ @@ -125,9 +125,9 @@ wasAbstract.mixinMethod(); >wasAbstract.mixinMethod() : void > : ^^^^ >wasAbstract.mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >wasAbstract : DerivedFromAbstract > : ^^^^^^^^^^^^^^^^^^^ >mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types b/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types index 1b3871405a24a..e7824f8e2dcee 100644 --- a/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types +++ b/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types @@ -42,7 +42,7 @@ function Mixin2 any>(baseClass: T } return MixinClass; >MixinClass : ((abstract new (...args: any[]) => MixinClass) & { prototype: Mixin2.MixinClass; staticMixinMethod(): void; }) & TBase -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ } class DerivedFromAbstract2 extends Mixin2(AbstractBase) { @@ -51,7 +51,7 @@ class DerivedFromAbstract2 extends Mixin2(AbstractBase) { >Mixin2(AbstractBase) : Mixin2.MixinClass & AbstractBase > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mixin2 : any>(baseClass: TBase) => ((abstract new (...args: any[]) => MixinClass) & { prototype: Mixin2.MixinClass; staticMixinMethod(): void; }) & TBase -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >AbstractBase : typeof AbstractBase > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mixinAccessModifiers.types b/tests/baselines/reference/mixinAccessModifiers.types index c363d6ca2487b..0e0d834813a5e 100644 --- a/tests/baselines/reference/mixinAccessModifiers.types +++ b/tests/baselines/reference/mixinAccessModifiers.types @@ -207,7 +207,7 @@ class C1 extends Mix(Private, Private2) {} >Mix(Private, Private2) : typeof Private & typeof Private2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Private : typeof Private > : ^^^^^^^^^^^^^^ >Private2 : typeof Private2 @@ -219,7 +219,7 @@ class C2 extends Mix(Private, Protected) {} >Mix(Private, Protected) : typeof Private & typeof Protected > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Private : typeof Private > : ^^^^^^^^^^^^^^ >Protected : typeof Protected @@ -231,7 +231,7 @@ class C3 extends Mix(Private, Public) {} >Mix(Private, Public) : typeof Private & typeof Public > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Private : typeof Private > : ^^^^^^^^^^^^^^ >Public : typeof Public @@ -243,7 +243,7 @@ class C4 extends Mix(Protected, Protected2) { >Mix(Protected, Protected2) : Protected & Protected2 > : ^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Protected : typeof Protected > : ^^^^^^^^^^^^^^^^ >Protected2 : typeof Protected2 @@ -319,7 +319,7 @@ class C5 extends Mix(Protected, Public) { >Mix(Protected, Public) : Protected & Public > : ^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Protected : typeof Protected > : ^^^^^^^^^^^^^^^^ >Public : typeof Public @@ -395,7 +395,7 @@ class C6 extends Mix(Public, Public2) { >Mix(Public, Public2) : Public & Public2 > : ^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Public : typeof Public > : ^^^^^^^^^^^^^ >Public2 : typeof Public2 @@ -569,7 +569,7 @@ function f9(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric<{a:void;b:void;}> >x.privateMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : ProtectedGeneric<{ a: void; }> & ProtectedGeneric<{ a: void; b: void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >privateMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -579,7 +579,7 @@ function f9(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric<{a:void;b:void;}> >x.protectedMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : ProtectedGeneric<{ a: void; }> & ProtectedGeneric<{ a: void; b: void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >protectedMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/mixinClassesAnnotated.types b/tests/baselines/reference/mixinClassesAnnotated.types index 6ae34f17900e4..799d3eb27f0c5 100644 --- a/tests/baselines/reference/mixinClassesAnnotated.types +++ b/tests/baselines/reference/mixinClassesAnnotated.types @@ -159,21 +159,21 @@ const Thing1 = Tagged(Derived); >Tagged(Derived) : Constructor & typeof Derived > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Tagged : >(superClass: T) => Constructor & T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ const Thing2 = Tagged(Printable(Derived)); >Thing2 : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >Tagged(Printable(Derived)) : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >Tagged : >(superClass: T) => Constructor & T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Printable(Derived) : Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >Printable : >(superClass: T) => Constructor & { message: string; } & T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ @@ -181,7 +181,7 @@ Thing2.message; >Thing2.message : string > : ^^^^^^ >Thing2 : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -230,7 +230,7 @@ function f2() { >new Thing2(1, 2, 3) : Tagged & Printable & Derived > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Thing2 : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -258,11 +258,11 @@ function f2() { >thing.print() : void > : ^^^^ >thing.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >thing : Tagged & Printable & Derived > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } class Thing3 extends Thing2 { @@ -279,7 +279,7 @@ class Thing3 extends Thing2 { >super(10, 20, 30) : void > : ^^^^ >super : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >10 : 10 > : ^^ >20 : 20 @@ -307,11 +307,11 @@ class Thing3 extends Thing2 { >this.print() : void > : ^^^^ >this.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/mixinClassesMembers.types b/tests/baselines/reference/mixinClassesMembers.types index f36d3e9794ed0..8e8019df74149 100644 --- a/tests/baselines/reference/mixinClassesMembers.types +++ b/tests/baselines/reference/mixinClassesMembers.types @@ -309,11 +309,11 @@ function f4() { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : M2 & M1 & C1 > : ^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Mixed3.p; >Mixed3.p : number @@ -327,11 +327,11 @@ function f4() { >Mixed3.f() : number > : ^^^^^^ >Mixed3.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Mixed3 : typeof M2 & typeof M1 & typeof C1 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f5() { @@ -368,11 +368,11 @@ function f5() { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : C1 & M1 & M2 > : ^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Mixed4.p; >Mixed4.p : number @@ -386,11 +386,11 @@ function f5() { >Mixed4.f() : number > : ^^^^^^ >Mixed4.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Mixed4 : typeof C1 & typeof M1 & typeof M2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f6() { @@ -417,11 +417,11 @@ function f6() { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : M1 & M2 > : ^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Mixed5.p; >Mixed5.p : number @@ -435,11 +435,11 @@ function f6() { >Mixed5.f() : number > : ^^^^^^ >Mixed5.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Mixed5 : typeof M1 & typeof M2 > : ^^^^^^^^^^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } class C2 extends Mixed1 { @@ -538,10 +538,10 @@ class C3 extends Mixed3 { >super.f() : number > : ^^^^^^ >super.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : M2 & M1 & C1 > : ^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/mixinIntersectionIsValidbaseType.types b/tests/baselines/reference/mixinIntersectionIsValidbaseType.types index e15d0c3d63a1c..ee2f364bf8142 100644 --- a/tests/baselines/reference/mixinIntersectionIsValidbaseType.types +++ b/tests/baselines/reference/mixinIntersectionIsValidbaseType.types @@ -20,9 +20,9 @@ export interface Initable { */ export const Serializable = & Initable>( >Serializable : & Initable>(SuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ > & Initable>( SuperClass: K) => { const LocalMixin = (InnerSuperClass: K) => { return class SerializableLocal extends InnerSuperClass { } }; let ResultClass = LocalMixin(SuperClass); return ResultClass;} : & Initable>(SuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ SuperClass: K >SuperClass : K @@ -31,34 +31,34 @@ export const Serializable = & Initable>( ) => { const LocalMixin = (InnerSuperClass: K) => { >LocalMixin : (InnerSuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >(InnerSuperClass: K) => { return class SerializableLocal extends InnerSuperClass { } } : (InnerSuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >InnerSuperClass : K > : ^ return class SerializableLocal extends InnerSuperClass { >class SerializableLocal extends InnerSuperClass { } : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >SerializableLocal : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >InnerSuperClass : Initable > : ^^^^^^^^ } }; let ResultClass = LocalMixin(SuperClass); >ResultClass : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >LocalMixin(SuperClass) : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >LocalMixin : (InnerSuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >SuperClass : K > : ^ return ResultClass; >ResultClass : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ }; @@ -72,11 +72,11 @@ const AMixin = & Initable>(SuperClass: K) => { let SomeHowOkay = class A extends SuperClass { >SomeHowOkay : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >class A extends SuperClass { } : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >A : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >SuperClass : Initable > : ^^^^^^^^ @@ -84,15 +84,15 @@ const AMixin = & Initable>(SuperClass: K) => { let SomeHowNotOkay = class A extends Serializable(SuperClass) { >SomeHowNotOkay : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >class A extends Serializable(SuperClass) { } : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >A : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >Serializable(SuperClass) : Serializable.SerializableLocal & Initable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Serializable : & Initable>(SuperClass: K_1) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K_1 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ >SuperClass : K > : ^ diff --git a/tests/baselines/reference/mixinPrivateAndProtected.types b/tests/baselines/reference/mixinPrivateAndProtected.types index ebe32e3a528db..e0948d6a56c62 100644 --- a/tests/baselines/reference/mixinPrivateAndProtected.types +++ b/tests/baselines/reference/mixinPrivateAndProtected.types @@ -186,7 +186,7 @@ a.pb.toFixed(); >a.pb.toFixed() : string > : ^^^^^^ >a.pb.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.pb : number > : ^^^^^^ >a : A @@ -194,13 +194,13 @@ a.pb.toFixed(); >pb : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a.ptd.toFixed(); // Error >a.ptd.toFixed() : string > : ^^^^^^ >a.ptd.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.ptd : number > : ^^^^^^ >a : A @@ -208,13 +208,13 @@ a.ptd.toFixed(); // Error >ptd : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a.pvt.toFixed(); // Error >a.pvt.toFixed() : string > : ^^^^^^ >a.pvt.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.pvt : number > : ^^^^^^ >a : A @@ -222,7 +222,7 @@ a.pvt.toFixed(); // Error >pvt : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ab.pb.toFixed(); >ab.pb.toFixed() : any diff --git a/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types b/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types index abeffd111ef80..9d1476e69c22f 100644 --- a/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types +++ b/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types @@ -5,11 +5,11 @@ navigator.storage.getDirectory().then(async directory => { >navigator.storage.getDirectory().then(async directory => { for await (const [key, handle] of directory) { handle.kind; }}) : Promise > : ^^^^^^^^^^^^^ >navigator.storage.getDirectory().then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >navigator.storage.getDirectory() : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >navigator.storage.getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >navigator.storage : StorageManager > : ^^^^^^^^^^^^^^ >navigator : Navigator @@ -17,9 +17,9 @@ navigator.storage.getDirectory().then(async directory => { >storage : StorageManager > : ^^^^^^^^^^^^^^ >getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >async directory => { for await (const [key, handle] of directory) { handle.kind; }} : (directory: FileSystemDirectoryHandle) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >directory : FileSystemDirectoryHandle diff --git a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types index 6b2db8f42a5be..bb7b4f8f19f04 100644 --- a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types +++ b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types @@ -7,11 +7,11 @@ for (const element of document.getElementsByTagName("a")) { >document.getElementsByTagName("a") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types index 5b60201cc208d..7294263ded5ee 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types @@ -128,11 +128,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { [x: number]: (value: any) => boolean; a: number; } > : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : any > : ^^^ >Symbol : any diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types index 8e485796adb7a..dc9159eb95ea3 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types @@ -15,11 +15,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 18ade42429af9..2075637dfce8d 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -16,11 +16,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -148,11 +148,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -189,11 +189,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -212,11 +212,11 @@ async function out() { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ } declare var console: any; @@ -226,13 +226,13 @@ out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise > : ^^^^^^^^^^^^^ >out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >out() : Promise > : ^^^^^^^^^^^^^^^^ >out : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { console.log("Yea!");} : () => void > : ^^^^^^^^^^ @@ -272,11 +272,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -310,11 +310,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index e57069c1e00c8..f07eee75a879e 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -16,11 +16,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -148,11 +148,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -189,11 +189,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -212,11 +212,11 @@ async function out() { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ } declare var console: any; @@ -226,13 +226,13 @@ out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise > : ^^^^^^^^^^^^^ >out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >out() : Promise > : ^^^^^^^^^^^^^^^^ >out : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { console.log("Yea!");} : () => void > : ^^^^^^^^^^ @@ -272,11 +272,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -310,11 +310,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index 661780c33db2d..51aa526440d80 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -16,11 +16,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -148,11 +148,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -189,11 +189,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -212,11 +212,11 @@ async function out() { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ } declare var console: any; @@ -226,13 +226,13 @@ out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise > : ^^^^^^^^^^^^^ >out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >out() : Promise > : ^^^^^^^^^^^^^^^^ >out : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { console.log("Yea!");} : () => void > : ^^^^^^^^^^ @@ -272,11 +272,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -310,11 +310,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index f81bd3c0e1933..05dc79e9bd2b1 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -16,11 +16,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -85,11 +85,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -126,11 +126,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -162,11 +162,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -200,11 +200,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types index 0d59943eca40e..1925491a33863 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types @@ -16,11 +16,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types index 9107d054d0a8d..da0fcc04db3a3 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types @@ -31,11 +31,11 @@ Reflect.ownKeys({}); >Reflect.ownKeys({}) : (string | symbol)[] > : ^^^^^^^^^^^^^^^^^^^ >Reflect.ownKeys : (target: object) => (string | symbol)[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >ownKeys : (target: object) => (string | symbol)[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types index 2f3fef78ad22e..a59aefad56b23 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types @@ -15,11 +15,11 @@ function f(x: number, y: number, z: number) { >Array.from(arguments) : any[] > : ^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types b/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types index bccf58f68eb63..6189b4ae3e7ee 100644 --- a/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types +++ b/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types @@ -5,11 +5,11 @@ navigator.storage.getDirectory().then(async directory => { >navigator.storage.getDirectory().then(async directory => { for await (const [key, handle] of directory) { handle.kind; }}) : Promise > : ^^^^^^^^^^^^^ >navigator.storage.getDirectory().then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >navigator.storage.getDirectory() : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >navigator.storage.getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >navigator.storage : StorageManager > : ^^^^^^^^^^^^^^ >navigator : WorkerNavigator @@ -17,9 +17,9 @@ navigator.storage.getDirectory().then(async directory => { >storage : StorageManager > : ^^^^^^^^^^^^^^ >getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >async directory => { for await (const [key, handle] of directory) { handle.kind; }} : (directory: FileSystemDirectoryHandle) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >directory : FileSystemDirectoryHandle diff --git a/tests/baselines/reference/modularizeLibrary_Worker.iterable.types b/tests/baselines/reference/modularizeLibrary_Worker.iterable.types index ff019a115fab5..6a5c1d48a5470 100644 --- a/tests/baselines/reference/modularizeLibrary_Worker.iterable.types +++ b/tests/baselines/reference/modularizeLibrary_Worker.iterable.types @@ -9,7 +9,7 @@ for (const [key, entry] of new FormData()) { >new FormData() : FormData > : ^^^^^^^^ >FormData : { new (): FormData; prototype: FormData; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ entry; >entry : FormDataEntryValue diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types index ba3eaa531879d..880d389e934cb 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types index 78a1e4460f9c5..3c7bcb221af21 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -109,7 +109,7 @@ let z1 = Observable.someValue.toFixed(); >Observable.someValue.toFixed() : string > : ^^^^^^ >Observable.someValue.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Observable.someValue : number > : ^^^^^^ >Observable : typeof Observable @@ -117,7 +117,7 @@ let z1 = Observable.someValue.toFixed(); >someValue : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : string @@ -125,7 +125,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >Observable.someAnotherValue.toLowerCase() : string > : ^^^^^^ >Observable.someAnotherValue.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Observable.someAnotherValue : string > : ^^^^^^ >Observable : typeof Observable @@ -133,5 +133,5 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >someAnotherValue : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types b/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types index a5778a4046912..3eb749a90ea57 100644 --- a/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types +++ b/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types @@ -22,8 +22,8 @@ declare namespace moment { } } export = moment; ->moment : () => import("node_modules/moment/index.d.ts").Moment -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>moment : () => moment.Moment +> : ^^^^^^ === node_modules/moment-timezone/index.d.ts === import * as moment from 'moment'; @@ -56,7 +56,7 @@ declare module "moment" { interface Moment { strftime(pattern: string): string; >strftime : { (pattern: string): string; (pattern: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >pattern : string > : ^^^^^^ } @@ -68,7 +68,7 @@ declare module "moment-timezone" { interface Moment { strftime(pattern: string): string; >strftime : { (pattern: string): string; (pattern: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >pattern : string > : ^^^^^^ } diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types index e99cd411d099b..048bca67402d2 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types @@ -18,11 +18,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types index 812523a931c1f..32b4fd421f87f 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types @@ -18,11 +18,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -40,7 +40,7 @@ let z1 = Observable.someValue.toFixed(); >Observable.someValue.toFixed() : string > : ^^^^^^ >Observable.someValue.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Observable.someValue : number > : ^^^^^^ >Observable : typeof Observable @@ -48,7 +48,7 @@ let z1 = Observable.someValue.toFixed(); >someValue : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : string @@ -56,7 +56,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >Observable.someAnotherValue.toLowerCase() : string > : ^^^^^^ >Observable.someAnotherValue.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Observable.someAnotherValue : string > : ^^^^^^ >Observable : typeof Observable @@ -64,7 +64,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >someAnotherValue : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === map.ts === import { Observable } from "observable" diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule1.types b/tests/baselines/reference/moduleAugmentationExtendFileModule1.types index 1464f5e46361e..52080226fe351 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule1.types +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule1.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule2.types b/tests/baselines/reference/moduleAugmentationExtendFileModule2.types index 0c4317874a6c9..09cdc189a583d 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule2.types +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule2.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -109,7 +109,7 @@ let z1 = Observable.someValue.toFixed(); >Observable.someValue.toFixed() : string > : ^^^^^^ >Observable.someValue.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Observable.someValue : number > : ^^^^^^ >Observable : typeof Observable @@ -117,7 +117,7 @@ let z1 = Observable.someValue.toFixed(); >someValue : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : string @@ -125,7 +125,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >Observable.someAnotherValue.toLowerCase() : string > : ^^^^^^ >Observable.someAnotherValue.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Observable.someAnotherValue : string > : ^^^^^^ >Observable : typeof Observable @@ -133,5 +133,5 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >someAnotherValue : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.types b/tests/baselines/reference/moduleAugmentationGlobal1.types index af3465c1e9d5d..cc17d52ea766b 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.types +++ b/tests/baselines/reference/moduleAugmentationGlobal1.types @@ -40,11 +40,11 @@ let y = x.getA().x; >x.getA() : A > : ^ >x.getA : () => A -> : ^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ >getA : () => A -> : ^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.types b/tests/baselines/reference/moduleAugmentationGlobal2.types index 0067bed9b520f..984b19975d8d5 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.types +++ b/tests/baselines/reference/moduleAugmentationGlobal2.types @@ -36,15 +36,15 @@ let y = x.getCountAsString().toLowerCase(); >x.getCountAsString().toLowerCase() : string > : ^^^^^^ >x.getCountAsString().toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x.getCountAsString() : string > : ^^^^^^ >x.getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ >getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.types b/tests/baselines/reference/moduleAugmentationGlobal3.types index 54792bc06d66c..e4d194f90c98b 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.types +++ b/tests/baselines/reference/moduleAugmentationGlobal3.types @@ -39,15 +39,15 @@ let y = x.getCountAsString().toLowerCase(); >x.getCountAsString().toLowerCase() : string > : ^^^^^^ >x.getCountAsString().toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x.getCountAsString() : string > : ^^^^^^ >x.getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ >getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports1.types b/tests/baselines/reference/moduleAugmentationImportsAndExports1.types index 5843b22c2173b..36fa111eee38c 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports1.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports1.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -72,11 +72,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports4.types b/tests/baselines/reference/moduleAugmentationImportsAndExports4.types index bc7716e39270d..41b0fa4c86968 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports4.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports4.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -105,11 +105,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports5.types b/tests/baselines/reference/moduleAugmentationImportsAndExports5.types index 8f19815d69c58..3fc4c03f71f76 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports5.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports5.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -105,11 +105,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports6.types b/tests/baselines/reference/moduleAugmentationImportsAndExports6.types index a3a632250b7a5..ca98862e1fed0 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports6.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports6.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -105,11 +105,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ @@ -121,11 +121,11 @@ let c = a.bar().a; >a.bar() : import("f3").N.Ifc > : ^^^^^^^^^^^^^^^^^^ >a.bar : () => import("f3").N.Ifc -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >a : A > : ^ >bar : () => import("f3").N.Ifc -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >a : number > : ^^^^^^ @@ -137,11 +137,11 @@ let d = a.baz().b; >a.baz() : import("f3").N.Cls > : ^^^^^^^^^^^^^^^^^^ >a.baz : () => import("f3").N.Cls -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >a : A > : ^ >baz : () => import("f3").N.Cls -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule1.types b/tests/baselines/reference/moduleAugmentationInAmbientModule1.types index c3e7c085819fd..0b072b77fd16a 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule1.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule1.types @@ -17,11 +17,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule2.types b/tests/baselines/reference/moduleAugmentationInAmbientModule2.types index 84ee86ae813ed..e5679daf42b31 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule2.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule2.types @@ -18,11 +18,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule3.types b/tests/baselines/reference/moduleAugmentationInAmbientModule3.types index 40c7892ff59d3..ae31c057fb821 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule3.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule3.types @@ -18,11 +18,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -32,11 +32,11 @@ x.foo2().x2; >x.foo2() : import("Map").Cls2 > : ^^^^^^^^^^^^^^^^^^ >x.foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x : Observable > : ^^^^^^^^^^ >foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x2 : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule4.types b/tests/baselines/reference/moduleAugmentationInAmbientModule4.types index b5f64300a3c92..cf8ad955f445e 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule4.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule4.types @@ -19,11 +19,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -33,11 +33,11 @@ x.foo2().x2; >x.foo2() : import("Map").Cls2 > : ^^^^^^^^^^^^^^^^^^ >x.foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x : Observable > : ^^^^^^^^^^ >foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x2 : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types index 1fe68eb992de7..994964f9dc7f0 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types @@ -20,11 +20,11 @@ let y = x.getA().x; >x.getA() : import("A").A > : ^^^^^^^^^^^^^ >x.getA : () => import("A").A -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number[] > : ^^^^^^^^ >getA : () => import("A").A -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationNoNewNames.types b/tests/baselines/reference/moduleAugmentationNoNewNames.types index af4123b4fc491..42bfa842b603a 100644 --- a/tests/baselines/reference/moduleAugmentationNoNewNames.types +++ b/tests/baselines/reference/moduleAugmentationNoNewNames.types @@ -94,11 +94,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationsBundledOutput1.types b/tests/baselines/reference/moduleAugmentationsBundledOutput1.types index 6ead06441f0b4..5af7b27038a40 100644 --- a/tests/baselines/reference/moduleAugmentationsBundledOutput1.types +++ b/tests/baselines/reference/moduleAugmentationsBundledOutput1.types @@ -174,71 +174,71 @@ c.foo().toExponential(); >c.foo().toExponential() : string > : ^^^^^^ >c.foo().toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >c.foo() : number > : ^^^^^^ >c.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : Cls > : ^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ c.bar().toLowerCase(); >c.bar().toLowerCase() : string > : ^^^^^^ >c.bar().toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c.bar() : string > : ^^^^^^ >c.bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : Cls > : ^^^ >bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ c.baz1().x.toExponential(); >c.baz1().x.toExponential() : string > : ^^^^^^ >c.baz1().x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >c.baz1().x : number > : ^^^^^^ >c.baz1() : import("m3").C1 > : ^^^^^^^^^^^^^^^ >c.baz1 : () => import("m3").C1 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >c : Cls > : ^^^ >baz1 : () => import("m3").C1 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ c.baz2().x.toLowerCase(); >c.baz2().x.toLowerCase() : string > : ^^^^^^ >c.baz2().x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c.baz2().x : string > : ^^^^^^ >c.baz2() : import("m3").C2 > : ^^^^^^^^^^^^^^^ >c.baz2 : () => import("m3").C2 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >c : Cls > : ^^^ >baz2 : () => import("m3").C2 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationsImports1.types b/tests/baselines/reference/moduleAugmentationsImports1.types index 4aecd17546cc0..18a65e2d34809 100644 --- a/tests/baselines/reference/moduleAugmentationsImports1.types +++ b/tests/baselines/reference/moduleAugmentationsImports1.types @@ -43,7 +43,7 @@ A.prototype.getB = function () { return undefined; } >A.prototype.getB = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -51,7 +51,7 @@ A.prototype.getB = function () { return undefined; } >prototype : A > : ^ >getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -61,7 +61,7 @@ A.prototype.getCls = function () { return undefined; } >A.prototype.getCls = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -69,7 +69,7 @@ A.prototype.getCls = function () { return undefined; } >prototype : A > : ^ >getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -114,21 +114,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -136,19 +136,19 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationsImports2.types b/tests/baselines/reference/moduleAugmentationsImports2.types index 77ce7d3e1267d..5e6afbd8c9599 100644 --- a/tests/baselines/reference/moduleAugmentationsImports2.types +++ b/tests/baselines/reference/moduleAugmentationsImports2.types @@ -39,7 +39,7 @@ A.prototype.getB = function () { return undefined; } >A.prototype.getB = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -47,7 +47,7 @@ A.prototype.getB = function () { return undefined; } >prototype : A > : ^ >getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -77,7 +77,7 @@ A.prototype.getCls = function () { return undefined; } >A.prototype.getCls = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -85,7 +85,7 @@ A.prototype.getCls = function () { return undefined; } >prototype : A > : ^ >getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -120,21 +120,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -142,19 +142,19 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationsImports3.types b/tests/baselines/reference/moduleAugmentationsImports3.types index d04f6575622f2..dd7c309a778ef 100644 --- a/tests/baselines/reference/moduleAugmentationsImports3.types +++ b/tests/baselines/reference/moduleAugmentationsImports3.types @@ -19,21 +19,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -41,21 +41,21 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === a.ts === export class A {} @@ -120,7 +120,7 @@ A.prototype.getCls = function () { return undefined; } >A.prototype.getCls = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -128,7 +128,7 @@ A.prototype.getCls = function () { return undefined; } >prototype : A > : ^ >getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/moduleAugmentationsImports4.types b/tests/baselines/reference/moduleAugmentationsImports4.types index 08f9784c34292..36b50b3494c86 100644 --- a/tests/baselines/reference/moduleAugmentationsImports4.types +++ b/tests/baselines/reference/moduleAugmentationsImports4.types @@ -20,21 +20,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -42,21 +42,21 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === a.ts === export class A {} diff --git a/tests/baselines/reference/moduleExportAlias2.types b/tests/baselines/reference/moduleExportAlias2.types index 6422585789383..dd5e94f933f3f 100644 --- a/tests/baselines/reference/moduleExportAlias2.types +++ b/tests/baselines/reference/moduleExportAlias2.types @@ -8,7 +8,7 @@ const C = require("./semver") >require("./semver") : typeof C > : ^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./semver" : "./semver" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/moduleExportDuplicateAlias3.types b/tests/baselines/reference/moduleExportDuplicateAlias3.types index 948f6a7fca295..36399d49167d9 100644 --- a/tests/baselines/reference/moduleExportDuplicateAlias3.types +++ b/tests/baselines/reference/moduleExportDuplicateAlias3.types @@ -16,11 +16,11 @@ const result = apply.toFixed() >apply.toFixed() : string > : ^^^^^^ >apply.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >apply : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === moduleExportAliasDuplicateAlias.js === exports.apply = undefined; @@ -91,7 +91,7 @@ var OK = exports.apply.toUpperCase() >exports.apply.toUpperCase() : string > : ^^^^^^ >exports.apply.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exports.apply : "ok" > : ^^^^ >exports : typeof import("moduleExportAliasDuplicateAlias") @@ -99,7 +99,7 @@ var OK = exports.apply.toUpperCase() >apply : "ok" > : ^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ exports.apply = 1 >exports.apply = 1 : 1 diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types index 359d4fc0f4c48..32f4fb47ed491 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : { (): void; f: (a: number) => void; } > : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types index 2a0139c6ed52b..6f4240b90ac17 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : number > : ^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ @@ -16,11 +16,11 @@ mod1.toFixed(12) >mod1.toFixed(12) : string > : ^^^^^^ >mod1.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mod1 : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types index 7d80e60ceef55..55a40ca5d53ef 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : { justExport: number; bothBefore: number | "string"; bothAfter: number | "string"; justProperty: "string"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ @@ -16,7 +16,7 @@ mod1.justExport.toFixed() >mod1.justExport.toFixed() : string > : ^^^^^^ >mod1.justExport.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mod1.justExport : number > : ^^^^^^ >mod1 : { justExport: number; bothBefore: number | "string"; bothAfter: number | "string"; justProperty: "string"; } @@ -24,7 +24,7 @@ mod1.justExport.toFixed() >justExport : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ mod1.bothBefore.toFixed() // error, 'toFixed' not on 'string | number' >mod1.bothBefore.toFixed() : any diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types index b93a48a21e374..39d434f9f0e23 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : typeof mod1 > : ^^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ @@ -16,7 +16,7 @@ mod1.justExport.toFixed() >mod1.justExport.toFixed() : string > : ^^^^^^ >mod1.justExport.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mod1.justExport : number > : ^^^^^^ >mod1 : typeof mod1 @@ -24,7 +24,7 @@ mod1.justExport.toFixed() >justExport : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ mod1.bothBefore.toFixed() // error >mod1.bothBefore.toFixed() : any diff --git a/tests/baselines/reference/moduleExportsAliasLoop1.types b/tests/baselines/reference/moduleExportsAliasLoop1.types index 0ab6895fcb755..2f402f4adc949 100644 --- a/tests/baselines/reference/moduleExportsAliasLoop1.types +++ b/tests/baselines/reference/moduleExportsAliasLoop1.types @@ -13,17 +13,17 @@ exports.fn1(); exports.fn2 = Math.min; >exports.fn2 = Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >exports.fn2 : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >exports : typeof import("x") > : ^^^^^^^^^^^^^^^^^^ >fn2 : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types b/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types index 21cd0a5e175cf..f44f3b61876d7 100644 --- a/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types +++ b/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types @@ -23,11 +23,11 @@ tseslint.config(eslintReact) >tseslint.config(eslintReact) : void > : ^^^^ >tseslint.config : (...configs: Config[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >tseslint : typeof tseslint > : ^^^^^^^^^^^^^^^ >config : (...configs: Config[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >eslintReact : { plugins: { react: { deprecatedRules: { "jsx-sort-default-props": boolean; }; rules: { 'no-unsafe': boolean; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -124,7 +124,7 @@ module.exports = { config }; >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >{ config } : { config: (...configs: Config[]) => void; } -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >config : (...configs: Config[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types b/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types index 5cbafc1e1ca4e..84b8ccc87d275 100644 --- a/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types +++ b/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types @@ -7,7 +7,7 @@ declare function fun(): void; export default fun; >fun : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === b.mts === import a from "./mod.cjs"; @@ -144,47 +144,47 @@ a.default(); >a.default() : void > : ^^^^ >a.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ b.default(); >b.default() : void > : ^^^^ >b.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c.default(); >c.default() : void > : ^^^^ >c.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ d.default(); >d.default() : void > : ^^^^ >d.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >d : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.default.default(); >self.default.default() : void > : ^^^^ >self.default.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.default : typeof a > : ^^^^^^^^ >self : typeof self @@ -192,13 +192,13 @@ self.default.default(); >default : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.def.default(); >self.def.default() : void > : ^^^^ >self.def.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.def : typeof a > : ^^^^^^^^ >self : typeof self @@ -206,5 +206,5 @@ self.def.default(); >def : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types b/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types index 5cbafc1e1ca4e..84b8ccc87d275 100644 --- a/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types +++ b/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types @@ -7,7 +7,7 @@ declare function fun(): void; export default fun; >fun : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === b.mts === import a from "./mod.cjs"; @@ -144,47 +144,47 @@ a.default(); >a.default() : void > : ^^^^ >a.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ b.default(); >b.default() : void > : ^^^^ >b.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c.default(); >c.default() : void > : ^^^^ >c.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ d.default(); >d.default() : void > : ^^^^ >d.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >d : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.default.default(); >self.default.default() : void > : ^^^^ >self.default.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.default : typeof a > : ^^^^^^^^ >self : typeof self @@ -192,13 +192,13 @@ self.default.default(); >default : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.def.default(); >self.def.default() : void > : ^^^^ >self.def.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.def : typeof a > : ^^^^^^^^ >self : typeof self @@ -206,5 +206,5 @@ self.def.default(); >def : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types index 267eb6159b85d..b1940e83b78ce 100644 --- a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types @@ -7,7 +7,7 @@ import * as t from "anotherLib"; // Include the lib that recursively includes op import { makeSharedOption } from "@shared/lib/app"; // Includes option as module in shared folder but as module in node_modules folder >makeSharedOption : () => import("/shared/lib/app").SharedOption -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ === /shared/node_modules/troublesome-lib/lib/Option.d.ts === export class Option { diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types b/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types index ad6b71ed0f300..2ea984855917d 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types @@ -9,23 +9,23 @@ export declare function relative(): void; === /test.ts === import { test } from "foo/test.js"; >test : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { test as test2 } from "foo/test"; >test : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >test2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { relative } from "./relative.js"; >relative : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { relative as relative2 } from "./relative"; >relative : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >relative2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types index 9fbb9f65f513f..f360268b72b37 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types @@ -3,7 +3,7 @@ === /index.ts === import { ios } from "some-library"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/some-library/index.ios.d.ts === export declare function ios(): void; diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types index 510885f54e8b2..16400d4029ea7 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types @@ -3,7 +3,7 @@ === /index.ts === import { iosfoo } from "some-library/foo"; >iosfoo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/some-library/foo.ios.d.ts === export declare function iosfoo(): void; diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types index 0f0958c747df0..34d7dd79addb9 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types @@ -3,19 +3,19 @@ === /test.ts === import { ios } from "some-library"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { ios as ios2 } from "some-library/index"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ios2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { ios as ios3 } from "some-library/index.js"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ios3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/some-library/lib/index.ios.d.ts === export declare function ios(): void; diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types index 403b8e4fa14a0..961ba8f00ca17 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types @@ -9,11 +9,11 @@ console.log(foo.ios); >console.log(foo.ios) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo.ios : string > : ^^^^^^ >foo : { ios: string; } diff --git a/tests/baselines/reference/moduleResolutionWithoutExtension5.types b/tests/baselines/reference/moduleResolutionWithoutExtension5.types index 41bb1b245bf21..7898309ec6b04 100644 --- a/tests/baselines/reference/moduleResolutionWithoutExtension5.types +++ b/tests/baselines/reference/moduleResolutionWithoutExtension5.types @@ -6,13 +6,13 @@ import("./foo").then(x => x); // should error, ask for extension >import("./foo").then(x => x) : Promise > : ^^^^^^^^^^^^ >import("./foo").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./foo") : Promise > : ^^^^^^^^^^^^ >"./foo" : "./foo" > : ^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/moduleResolutionWithoutExtension8.types b/tests/baselines/reference/moduleResolutionWithoutExtension8.types index b75c870eaab3a..5361c56bad849 100644 --- a/tests/baselines/reference/moduleResolutionWithoutExtension8.types +++ b/tests/baselines/reference/moduleResolutionWithoutExtension8.types @@ -6,13 +6,13 @@ import("./foo").then(x => x); // should error, ask for extension >import("./foo").then(x => x) : Promise > : ^^^^^^^^^^^^ >import("./foo").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./foo") : Promise > : ^^^^^^^^^^^^ >"./foo" : "./foo" > : ^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/multiExtendsSplitInterfaces1.types b/tests/baselines/reference/multiExtendsSplitInterfaces1.types index d8bd73e19b0c6..bafa418ced5f4 100644 --- a/tests/baselines/reference/multiExtendsSplitInterfaces1.types +++ b/tests/baselines/reference/multiExtendsSplitInterfaces1.types @@ -5,11 +5,11 @@ self.cancelAnimationFrame(0); >self.cancelAnimationFrame(0) : void > : ^^^^ >self.cancelAnimationFrame : ((handle: number) => void) & ((handle: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >self : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >cancelAnimationFrame : ((handle: number) => void) & ((handle: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/multiSignatureTypeInference.types b/tests/baselines/reference/multiSignatureTypeInference.types index 100fe373a6799..ca7e073893eff 100644 --- a/tests/baselines/reference/multiSignatureTypeInference.types +++ b/tests/baselines/reference/multiSignatureTypeInference.types @@ -3,13 +3,13 @@ === multiSignatureTypeInference.ts === declare function f1(arg: boolean): string; >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >arg : boolean > : ^^^^^^^ declare function f1(arg1: number, arg2: number): number; >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >arg1 : number > : ^^^^^^ >arg2 : number @@ -17,7 +17,7 @@ declare function f1(arg1: number, arg2: number): number; declare function f1(...args: string[]): string[]; >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >args : string[] > : ^^^^^^^^ @@ -63,37 +63,37 @@ type Params1 = AllParams; // string[] | [arg: boolean] | [arg1: numb >Params1 : string[] | [arg: boolean] | [arg1: number, arg2: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ type Params2 = AllParams; // [arg: unknown] >Params2 : [arg: unknown] > : ^^^^^^^^^^^^^^ >f2 : (arg: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type Params3 = AllParams; // [] >Params3 : [] > : ^^ >f3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type Returns1 = AllReturns // string | number | string[] >Returns1 : string | number | string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ type Returns2 = AllReturns; // unknown >Returns2 : unknown > : ^^^^^^^ >f2 : (arg: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type Returns3 = AllReturns; // string >Returns3 : string > : ^^^^^^ >f3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Repro from #28867 @@ -167,34 +167,34 @@ type Overloads = declare const ok1: Overloads<(x: number) => boolean>; // {rule: 2, variants: [[number], boolean]} >ok1 : { rule: 2; variants: [[x: number], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ declare const ok2: Overloads<{(): 1; (x: number): 2}>; // {rule: 2, variants: [[], 1] | [[number], 2]} >ok2 : { rule: 2; variants: [[], 1] | [[x: number], 2]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ declare const ok3: Overloads<() => boolean>; // {rule: 2, variants: [[], boolean] } >ok3 : { rule: 2; variants: [[], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare const ok4: Overloads<(...args: unknown[]) => boolean>; // {rule: 2, variants: [unknown[], boolean] } >ok4 : { rule: 2; variants: [unknown[], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : unknown[] > : ^^^^^^^^^ declare const ok5: Overloads<(x: unknown) => boolean>; // {rule: 2, variants: [[unknown], boolean] } >ok5 : { rule: 2; variants: [[x: unknown], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : unknown > : ^^^^^^^ declare const ok6: Overloads<(x: any) => boolean>; // {rule: 2, variants: [[any], boolean] } >ok6 : { rule: 2; variants: [[x: any], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/multiline.types b/tests/baselines/reference/multiline.types index 648807dd6f55f..79ec14021b444 100644 --- a/tests/baselines/reference/multiline.types +++ b/tests/baselines/reference/multiline.types @@ -17,11 +17,11 @@ texts.push(100); >texts.push(100) : number > : ^^^^^^ >texts.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >texts : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ @@ -31,11 +31,11 @@ texts.push(100); >texts.push(100) : number > : ^^^^^^ >texts.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >texts : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ @@ -45,11 +45,11 @@ texts.push("100"); >texts.push("100") : number > : ^^^^^^ >texts.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >texts : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"100" : "100" > : ^^^^^ diff --git a/tests/baselines/reference/multipleDeclarations.types b/tests/baselines/reference/multipleDeclarations.types index 7b4e6d215aa78..24af38040fa76 100644 --- a/tests/baselines/reference/multipleDeclarations.types +++ b/tests/baselines/reference/multipleDeclarations.types @@ -52,7 +52,7 @@ class X { > : ^^^^^^^^^^ >this.m.bind(this) : any >this.m.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this.m : () => void > : ^^^^^^^^^^ >this : this @@ -60,7 +60,7 @@ class X { >m : () => void > : ^^^^^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ @@ -150,7 +150,7 @@ class Y { > : ^^^^^^^^^^ >this.m.bind(this) : any >this.m.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this.m : () => void > : ^^^^^^^^^^ >this : this @@ -158,7 +158,7 @@ class Y { >m : () => void > : ^^^^^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/multipleExportAssignments.types b/tests/baselines/reference/multipleExportAssignments.types index ee1a6777084ca..e484dbb1b147f 100644 --- a/tests/baselines/reference/multipleExportAssignments.types +++ b/tests/baselines/reference/multipleExportAssignments.types @@ -39,7 +39,7 @@ var server: { }; export = server; >server : { (): connectExport; test1: connectModule; test2(): connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ export = connectExport; >connectExport : connectExport diff --git a/tests/baselines/reference/multipleInferenceContexts.types b/tests/baselines/reference/multipleInferenceContexts.types index b9b1a504004eb..80d1520bb674d 100644 --- a/tests/baselines/reference/multipleInferenceContexts.types +++ b/tests/baselines/reference/multipleInferenceContexts.types @@ -42,7 +42,7 @@ const r2 = Moon({ >Moon({ data: { msg: "" }, render() { const h = (x: unknown) => x; return h(this.get("msg")); },}) : Instance<{ msg: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Moon : (options?: ConstructorOptions) => Instance -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >{ data: { msg: "" }, render() { const h = (x: unknown) => x; return h(this.get("msg")); },} : { data: { msg: string; }; render(): unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -78,11 +78,11 @@ const r2 = Moon({ >this.get("msg") : unknown > : ^^^^^^^ >this.get : (name: K) => unknown -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >this : Instance<{ msg: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : (name: K) => unknown -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >"msg" : "msg" > : ^^^^^ diff --git a/tests/baselines/reference/mutuallyRecursiveCallbacks.types b/tests/baselines/reference/mutuallyRecursiveCallbacks.types index f8019e175ea0e..0f988e74fc003 100644 --- a/tests/baselines/reference/mutuallyRecursiveCallbacks.types +++ b/tests/baselines/reference/mutuallyRecursiveCallbacks.types @@ -25,9 +25,9 @@ declare var bar: Bar<{}>; bar = foo; >bar = foo : (bar: Bar) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : Bar<{}> > : ^^^^^^^ >foo : (bar: Bar) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types index 1b89ec3bddc93..4e21cefca6dfe 100644 --- a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types +++ b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types @@ -4,11 +4,11 @@ interface A { foo(): B; // instead of B does see this >foo : { (): B; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ foo(): void; // instead of B does see this >foo : { (): B; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ foo2(): B; >foo2 : () => B @@ -29,11 +29,11 @@ b.foo(); // should not error >b.foo() : B > : ^^^^^^^^^ >b.foo : { (): B; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^ >b : B > : ^^^^^^^^^ >foo : { (): B; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/namedImportNonExistentName.types b/tests/baselines/reference/namedImportNonExistentName.types index dbef0e4458237..37e863dc4815f 100644 --- a/tests/baselines/reference/namedImportNonExistentName.types +++ b/tests/baselines/reference/namedImportNonExistentName.types @@ -33,7 +33,7 @@ let x: { a: string; c: string; } | { b: number; c: number; }; export = x >x : { a: string; c: string; } | { b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ === bar.ts === import { Bar, toString, foo } from './foo'; diff --git a/tests/baselines/reference/namedTupleMembers.types b/tests/baselines/reference/namedTupleMembers.types index 35487a858f0bf..1cf3f98f73540 100644 --- a/tests/baselines/reference/namedTupleMembers.types +++ b/tests/baselines/reference/namedTupleMembers.types @@ -274,13 +274,13 @@ export const argumentsOfGAsFirstArgument = f(getArgsForInjection(g)); // one tup >f(getArgsForInjection(g)) : [[elem: object, index: number]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...x: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >getArgsForInjection(g) : [elem: object, index: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArgsForInjection : any>(x: T) => Parameters -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (elem: object, index: number) => object -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ export const argumentsOfG = f(...getArgsForInjection(g)); // captured arguments list re-spread >argumentsOfG : [elem: object, index: number] @@ -288,13 +288,13 @@ export const argumentsOfG = f(...getArgsForInjection(g)); // captured arguments >f(...getArgsForInjection(g)) : [elem: object, index: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...x: T) => T -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...getArgsForInjection(g) : number | object > : ^^^^^^^^^^^^^^^ >getArgsForInjection(g) : [elem: object, index: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArgsForInjection : any>(x: T) => Parameters -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (elem: object, index: number) => object -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types b/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types index 61f87d76d5cb6..7fc2129e2bdf8 100644 --- a/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types +++ b/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types @@ -3,13 +3,13 @@ === index.ts === import X = require("./file"); >X : { (opts?: X.Whatever): void; (cb: Function, opts?: X.Whatever): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ X(0); // shouldn't cause a crash >X(0) : void > : ^^^^ >X : { (opts?: X.Whatever): void; (cb: Function, opts?: X.Whatever): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ >0 : 0 > : ^ @@ -24,7 +24,7 @@ declare namespace Foo { declare function Foo(opts?: Foo.Whatever): void; >Foo : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >opts : Foo.Whatever > : ^^^^^^^^^^^^ >Foo : any @@ -32,7 +32,7 @@ declare function Foo(opts?: Foo.Whatever): void; declare function Foo(cb: Function, opts?: Foo.Whatever): void; >Foo : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : Function > : ^^^^^^^^ >opts : Foo.Whatever @@ -42,5 +42,5 @@ declare function Foo(cb: Function, opts?: Foo.Whatever): void; export = Foo; >Foo : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ diff --git a/tests/baselines/reference/narrowByBooleanComparison.types b/tests/baselines/reference/narrowByBooleanComparison.types index 3354afb8f3e18..cbfe5818cfdbf 100644 --- a/tests/baselines/reference/narrowByBooleanComparison.types +++ b/tests/baselines/reference/narrowByBooleanComparison.types @@ -53,7 +53,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -70,7 +70,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >false : false @@ -87,7 +87,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >false : false @@ -104,7 +104,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -121,7 +121,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -138,7 +138,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -157,7 +157,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ @@ -174,7 +174,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ @@ -233,11 +233,11 @@ function test3(foo: unknown) { >Array.isArray(foo) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : unknown > : ^^^^^^^ >false : false @@ -305,11 +305,11 @@ function test4() { >console.error(err) : void > : ^^^^ >console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : unknown > : ^^^^^^^ } @@ -365,7 +365,7 @@ function test5(bin: Entity) { >isActor(bin) : boolean > : ^^^^^^^ >isActor : (entity: Entity) => entity is Actor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bin : Entity > : ^^^^^^ >false : false @@ -393,7 +393,7 @@ function test6(bin: Entity) { >isActor(bin) : boolean > : ^^^^^^^ >isActor : (entity: Entity) => entity is Actor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bin : Entity > : ^^^^^^ >false : false @@ -440,7 +440,7 @@ function test7(x: unknown) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is Function -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ >false : false @@ -456,7 +456,7 @@ function test7(x: unknown) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is Function -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ >true : true diff --git a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types index 45cec9bd2c0d9..42d2513f7d3f4 100644 --- a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types +++ b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types @@ -69,7 +69,7 @@ function test1(x: AorB) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: AorB) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -82,7 +82,7 @@ function test1(x: AorB) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: AorB) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -108,7 +108,7 @@ function test2(x: AorB) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: AorB) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -121,7 +121,7 @@ function test2(x: AorB) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: AorB) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -155,11 +155,11 @@ switch (true) { >x.trim() : string > : ^^^^^^ >x.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } type SomeType = { type: "SomeType" }; @@ -216,7 +216,7 @@ function processInput(input: string | RegExp | SomeType) { >isSomeType(input) : boolean > : ^^^^^^^ >isSomeType : (x: unknown) => x is SomeType -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >input : string | RegExp | SomeType > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types index a7c594df7bb15..6e6492e22b438 100644 --- a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types +++ b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types @@ -53,7 +53,7 @@ function wat(shape: Shape) { >shape.radius : number > : ^^^^^^ >shape : { kind: "circle"; radius: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^ ^^^ >radius : number > : ^^^^^^ >2 : 2 @@ -78,7 +78,7 @@ function wat(shape: Shape) { >shape.kind : "square" > : ^^^^^^^^ >shape : { kind: "square"; sideLength: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "square" > : ^^^^^^^^ >"circle" : "circle" @@ -110,7 +110,7 @@ function wat(shape: Shape) { >shape.kind : "square" > : ^^^^^^^^ >shape : { kind: "square"; sideLength: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "square" > : ^^^^^^^^ >"circle" : "circle" diff --git a/tests/baselines/reference/narrowByInstanceof.types b/tests/baselines/reference/narrowByInstanceof.types index 3ce47cbb1c197..2b2e79852bd4c 100644 --- a/tests/baselines/reference/narrowByInstanceof.types +++ b/tests/baselines/reference/narrowByInstanceof.types @@ -171,11 +171,11 @@ class Person { >console.log("work") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"work" : "work" > : ^^^^^^ @@ -185,11 +185,11 @@ class Person { >console.log("Hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Hi" : "Hi" > : ^^^^ } @@ -204,11 +204,11 @@ class Car { >console.log("Wof Wof") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Wof Wof" : "Wof Wof" > : ^^^^^^^^^ } @@ -231,11 +231,11 @@ function test(o: Person | Car) { >console.log("Is Person") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Is Person" : "Is Person" > : ^^^^^^^^^^^ @@ -243,7 +243,7 @@ function test(o: Person | Car) { >(o as Person).work() : void > : ^^^^ >(o as Person).work : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(o as Person) : Person > : ^^^^^^ >o as Person : Person @@ -251,18 +251,18 @@ function test(o: Person | Car) { >o : Person | Car > : ^^^^^^^^^^^^ >work : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { console.log("Is Car") >console.log("Is Car") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Is Car" : "Is Car" > : ^^^^^^^^ @@ -270,11 +270,11 @@ function test(o: Person | Car) { >o.sayHi() : void > : ^^^^ >o.sayHi : (() => void) | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >o : Person | Car > : ^^^^^^^^^^^^ >sayHi : (() => void) | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ } } diff --git a/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types b/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types index f43e62586e03e..2a5ec9093e295 100644 --- a/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types +++ b/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types @@ -42,7 +42,7 @@ const v = getV(); >getV() : Foo | Bar > : ^^^^^^^^^ >getV : () => Foo | Bar -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ switch ((v.type)) { >(v.type) : "foo" | "bar" diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types index c479be464e95e..1dabaad4c16e3 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types index 81a27b4ab9f09..2e59df672031d 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" | undefined @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types index c479be464e95e..1dabaad4c16e3 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types index 81a27b4ab9f09..2e59df672031d 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" | undefined @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types b/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types index 57d7a70d09603..35fe0ed9a5ac2 100644 --- a/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types +++ b/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types @@ -33,16 +33,16 @@ if (typeof (otherValue(), value).inner === 'number') { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(otherValue(), value).inner : string | number > : ^^^^^^^^^^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : string | number > : ^^^^^^^^^^^^^^^ >'number' : "number" @@ -53,8 +53,8 @@ if (typeof (otherValue(), value).inner === 'number') { > : ^^^^^^ >value.inner : number > : ^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ @@ -63,16 +63,16 @@ if (typeof (otherValue(), value).inner === 'number') { > : ^^^^^^ >(otherValue(), value).inner : number > : ^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ } @@ -81,19 +81,19 @@ if (isNumber((otherValue(), value).inner)) { >isNumber((otherValue(), value).inner) : boolean > : ^^^^^^^ >isNumber : (obj: any) => obj is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(otherValue(), value).inner : string | number > : ^^^^^^^^^^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : string | number > : ^^^^^^^^^^^^^^^ @@ -102,8 +102,8 @@ if (isNumber((otherValue(), value).inner)) { > : ^^^^^^ >value.inner : number > : ^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ @@ -112,16 +112,16 @@ if (isNumber((otherValue(), value).inner)) { > : ^^^^^^ >(otherValue(), value).inner : number > : ^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.types b/tests/baselines/reference/narrowExceptionVariableInCatchClause.types index 8ab870738989b..c1346f70b6de1 100644 --- a/tests/baselines/reference/narrowExceptionVariableInCatchClause.types +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.types @@ -26,7 +26,7 @@ function tryCatch() { >isFooError(err) : boolean > : ^^^^^^^ >isFooError : (x: any) => x is { type: "foo"; dontPanic(): any; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^ >err : any > : ^^^ @@ -36,7 +36,7 @@ function tryCatch() { >err.dontPanic : () => any > : ^^^^^^^^^ >err : { type: "foo"; dontPanic(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >dontPanic : () => any > : ^^^^^^^^^ @@ -46,7 +46,7 @@ function tryCatch() { >err.doPanic : any > : ^^^ >err : { type: "foo"; dontPanic(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >doPanic : any > : ^^^ } diff --git a/tests/baselines/reference/narrowFromAnyWithInstanceof.types b/tests/baselines/reference/narrowFromAnyWithInstanceof.types index e59b3a87cdd17..0f5237e9c4d2b 100644 --- a/tests/baselines/reference/narrowFromAnyWithInstanceof.types +++ b/tests/baselines/reference/narrowFromAnyWithInstanceof.types @@ -110,11 +110,11 @@ if (x instanceof Date) { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.getHuors(); >x.getHuors() : any diff --git a/tests/baselines/reference/narrowFromAnyWithTypePredicate.types b/tests/baselines/reference/narrowFromAnyWithTypePredicate.types index cd3fc7c97eab3..590dbcb633d1b 100644 --- a/tests/baselines/reference/narrowFromAnyWithTypePredicate.types +++ b/tests/baselines/reference/narrowFromAnyWithTypePredicate.types @@ -40,7 +40,7 @@ if (isFunction(x)) { // 'any' is not narrowed when target type is 'Function' >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (x: any) => x is Function -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -83,7 +83,7 @@ if (isObject(x)) { // 'any' is not narrowed when target type is 'Object' >isObject(x) : boolean > : ^^^^^^^ >isObject : (x: any) => x is Object -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -108,7 +108,7 @@ if (isAnything(x)) { // 'any' is narrowed to types other than 'Function'/'Object >isAnything(x) : boolean > : ^^^^^^^ >isAnything : (x: any) => x is {} -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -133,7 +133,7 @@ if (isError(x)) { >isError(x) : boolean > : ^^^^^^^ >isError : (x: any) => x is Error -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -158,7 +158,7 @@ if (isDate(x)) { >isDate(x) : boolean > : ^^^^^^^ >isDate : (x: any) => x is Date -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -166,11 +166,11 @@ if (isDate(x)) { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.getHuors(); >x.getHuors() : any diff --git a/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types b/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types index 5eb786b856ac2..b2bf192f8a58b 100644 --- a/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types +++ b/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types @@ -7,7 +7,7 @@ function ff({ a, b }: { a: string | undefined, b: () => void }) { >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : () => void @@ -25,7 +25,7 @@ function ff({ a, b }: { a: string | undefined, b: () => void }) { >b = () => { const x: string = a; } : () => void > : ^^^^^^^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >() => { const x: string = a; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowTypeByInstanceof.types b/tests/baselines/reference/narrowTypeByInstanceof.types index a23bef5d06ed4..fa3be7b861774 100644 --- a/tests/baselines/reference/narrowTypeByInstanceof.types +++ b/tests/baselines/reference/narrowTypeByInstanceof.types @@ -62,11 +62,11 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >elementA.resource() : any > : ^^^ >elementA.resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementA : FileMatch > : ^^^^^^^^^ >resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >path : any > : ^^^ @@ -76,11 +76,11 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >elementB.resource() : any > : ^^^ >elementB.resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementB : FileMatch > : ^^^^^^^^^ >resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >path : any > : ^^^ @@ -104,20 +104,20 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >a : any >elementA.range() : any >elementA.range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementA : Match > : ^^^^^ >range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ let b = elementB.range(); >b : any >elementB.range() : any >elementB.range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementB : Match > : ^^^^^ >range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types b/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types index 74e591d8fb497..51f63563fe28b 100644 --- a/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types +++ b/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types @@ -124,7 +124,7 @@ function dataFunc(subFunc: () => T[]): MultiCaseFixture { >subFunc() : T[] > : ^^^ >subFunc : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^ } function testFunc() { @@ -137,15 +137,15 @@ function testFunc() { >dataFunc>(subDataFunc) : MultiCaseFixture> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dataFunc : (subFunc: () => T[]) => MultiCaseFixture -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >subDataFunc : () => TestCase[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ fixture.cases.forEach(({ val1, val2 }) => { >fixture.cases.forEach(({ val1, val2 }) => { if (Array.isArray(val1)) { // This should retain val1 as being an array const reversedVal1 = val1.slice().reverse(); console.log(reversedVal1); } else { console.log(val1); } console.log(val2); }) : void > : ^^^^ >fixture.cases.forEach : (callbackfn: (value: TestCase, index: number, array: TestCase[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >fixture.cases : TestCase[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fixture : MultiCaseFixture> @@ -153,7 +153,7 @@ function testFunc() { >cases : TestCase[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: TestCase, index: number, array: TestCase[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >({ val1, val2 }) => { if (Array.isArray(val1)) { // This should retain val1 as being an array const reversedVal1 = val1.slice().reverse(); console.log(reversedVal1); } else { console.log(val1); } console.log(val2); } : ({ val1, val2 }: TestCase) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >val1 : string | number | readonly (string | number)[] @@ -165,11 +165,11 @@ function testFunc() { >Array.isArray(val1) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >val1 : string | number | readonly (string | number)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -180,27 +180,27 @@ function testFunc() { >val1.slice().reverse() : any[] > : ^^^^^ >val1.slice().reverse : () => any[] -> : ^^^^^^^^^^^ +> : ^^^^^^^^^ >val1.slice() : any[] > : ^^^^^ >val1.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >val1 : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >reverse : () => any[] -> : ^^^^^^^^^^^ +> : ^^^^^^^^^ console.log(reversedVal1); >console.log(reversedVal1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >reversedVal1 : any[] > : ^^^^^ @@ -209,11 +209,11 @@ function testFunc() { >console.log(val1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val1 : string | number | readonly (string | number)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -221,11 +221,11 @@ function testFunc() { >console.log(val2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val2 : readonly (string | number)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowingByDiscriminantInLoop.types b/tests/baselines/reference/narrowingByDiscriminantInLoop.types index 1f78f23655d0f..a6be706681a54 100644 --- a/tests/baselines/reference/narrowingByDiscriminantInLoop.types +++ b/tests/baselines/reference/narrowingByDiscriminantInLoop.types @@ -251,11 +251,11 @@ function f1(x: A | B) { x.prop; >x.prop : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : A | B > : ^^^^^ >prop : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ if (x.kind === true) { >x.kind === true : boolean @@ -273,11 +273,11 @@ function f1(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -297,11 +297,11 @@ function f1(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -330,11 +330,11 @@ function f2(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -352,11 +352,11 @@ function f2(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingByTypeofInSwitch.types b/tests/baselines/reference/narrowingByTypeofInSwitch.types index c3cf3d637b590..ef91b62d22aa9 100644 --- a/tests/baselines/reference/narrowingByTypeofInSwitch.types +++ b/tests/baselines/reference/narrowingByTypeofInSwitch.types @@ -695,11 +695,11 @@ function exhaustiveChecks(x: number | string | L | R): string { >x.toString(2) : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -749,11 +749,11 @@ function exhaustiveChecksGenerics(x: T): stri >x.toString(2) : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.types b/tests/baselines/reference/narrowingConstrainedTypeParameter.types index c8304d955001b..04935903cbe5d 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeParameter.types +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.types @@ -44,7 +44,7 @@ export function speak(pet: TPet, voice: (pet: TPet) => string) >isPet(pet) : boolean > : ^^^^^^^ >isPet : (pet: any) => pet is Pet -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >pet : TPet > : ^^^^ @@ -60,7 +60,7 @@ export function speak(pet: TPet, voice: (pet: TPet) => string) >voice(pet) : string > : ^^^^^^ >voice : (pet: TPet) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >pet : TPet > : ^^^^ } diff --git a/tests/baselines/reference/narrowingConstrainedTypeVariable.types b/tests/baselines/reference/narrowingConstrainedTypeVariable.types index db11607393d8c..7b588f22b1e0e 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeVariable.types +++ b/tests/baselines/reference/narrowingConstrainedTypeVariable.types @@ -87,7 +87,7 @@ function f3(v: T | { x: string }) { >v instanceof E : boolean > : ^^^^^^^ >v : T | { x: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >E : typeof E > : ^^^^^^^^ @@ -104,7 +104,7 @@ function f3(v: T | { x: string }) { >x : string > : ^^^^^^ >v : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/narrowingDestructuring.types b/tests/baselines/reference/narrowingDestructuring.types index dd2e0433f6c06..0041dd06ab6d5 100644 --- a/tests/baselines/reference/narrowingDestructuring.types +++ b/tests/baselines/reference/narrowingDestructuring.types @@ -35,7 +35,7 @@ function func(value: T) { >value.a : string > : ^^^^^^ >value : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -43,14 +43,14 @@ function func(value: T) { >a : string > : ^^^^^^ >value : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } else { value.b; >value.b : string > : ^^^^^^ >value : { kind: "b"; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -58,7 +58,7 @@ function func(value: T) { >b : string > : ^^^^^^ >value : { kind: "b"; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -110,9 +110,9 @@ function func2(value: T) { >f : any > : ^^^ >f1 : { a: number; b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >value : { kind: "f"; f: { a: number; b: string; c: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ const { f: { a, ...spread } } = value; >f : any @@ -120,17 +120,17 @@ function func2(value: T) { >a : number > : ^^^^^^ >spread : { b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >value : { kind: "f"; f: { a: number; b: string; c: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ value.f; >value.f : { a: number; b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >value : { kind: "f"; f: { a: number; b: string; c: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >f : { a: number; b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ } else { const { g: { c, ...spread } } = value; @@ -139,17 +139,17 @@ function func2(value: T) { >c : string > : ^^^^^^ >spread : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >value : { kind: "g"; g: { a: string; b: number; c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ value.g; >value.g : { a: string; b: number; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >value : { kind: "g"; g: { a: string; b: number; c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >g : { a: string; b: number; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ } } @@ -173,7 +173,7 @@ function func3(t: >t.kind : "a" | "b" > : ^^^^^^^^^ >t : { kind: "a"; a: string; } | { kind: "b"; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : "a" | "b" > : ^^^^^^^^^ >"a" : "a" @@ -185,25 +185,25 @@ function func3(t: >r1 : Omit > : ^^^^^^^^^^^^^^^ >t : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ const r2 = (({ kind, ...rest }) => rest)(t); >r2 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >(({ kind, ...rest }) => rest)(t) : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >(({ kind, ...rest }) => rest) : ({ kind, ...rest }: { kind: "a"; a: string; }) => { a: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >({ kind, ...rest }) => rest : ({ kind, ...rest }: { kind: "a"; a: string; }) => { a: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >kind : "a" > : ^^^ >rest : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >rest : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types b/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types index b906d8632bd73..bee05ff1bf3e1 100644 --- a/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types +++ b/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types @@ -29,11 +29,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"A" : "A" > : ^^^ @@ -47,11 +47,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"B" : "B" > : ^^^ @@ -61,11 +61,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"C" : "C" > : ^^^ @@ -75,11 +75,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"D" : "D" > : ^^^ @@ -119,11 +119,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"A" : "A" > : ^^^ @@ -133,11 +133,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"B" : "B" > : ^^^ @@ -147,11 +147,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"C" : "C" > : ^^^ @@ -165,11 +165,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"D" : "D" > : ^^^ @@ -223,7 +223,7 @@ function test3( >!bar : boolean > : ^^^^^^^ >bar : { type: "b"; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ return; } @@ -232,7 +232,7 @@ function test3( >foo.kind : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >foo : { kind: "a"; prop: string; } | { kind: "b"; prop: number; } | { kind: "c"; prop: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >kind : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ @@ -245,7 +245,7 @@ function test3( >bar.type : "b" > : ^^^ >bar : { type: "b"; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >type : "b" > : ^^^ diff --git a/tests/baselines/reference/narrowingMutualSubtypes.types b/tests/baselines/reference/narrowingMutualSubtypes.types index a875feac669ee..fdb0711a36788 100644 --- a/tests/baselines/reference/narrowingMutualSubtypes.types +++ b/tests/baselines/reference/narrowingMutualSubtypes.types @@ -151,7 +151,7 @@ function gg1(x: {}) { >isObject1(x) : boolean > : ^^^^^^^ >isObject1 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : {} > : ^^ @@ -185,7 +185,7 @@ function gg2(x: Record) { >isObject2(x) : boolean > : ^^^^^^^ >isObject2 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -221,7 +221,7 @@ function gg3(x: {}) { >isObject3(x) : boolean > : ^^^^^^^ >isObject3 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : {} > : ^^ @@ -255,7 +255,7 @@ function gg4(x: Record) { >isObject4(x) : boolean > : ^^^^^^^ >isObject4 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Record > : ^^^^^^^^^^^^^^^^^^^ @@ -314,7 +314,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -322,7 +322,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -330,7 +330,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -338,7 +338,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -346,7 +346,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -354,7 +354,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -362,7 +362,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -370,7 +370,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -392,11 +392,11 @@ function checksArrayOrObject1(obj: Record | Record[]) >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record | Record[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.length : number @@ -428,11 +428,11 @@ function checksArrayOrObject1(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : any[] | Record[] @@ -466,11 +466,11 @@ function checksArrayOrObject1(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : any[] | Record @@ -492,11 +492,11 @@ function checksArrayOrObject2(obj: Record | Record[]) >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record | Record[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -523,11 +523,11 @@ function checksArrayOrObject2(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : any[] | Record[] @@ -561,11 +561,11 @@ function checksArrayOrObject2(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : Record diff --git a/tests/baselines/reference/narrowingOfDottedNames.types b/tests/baselines/reference/narrowingOfDottedNames.types index 139cbc675ca94..ea36aa2643345 100644 --- a/tests/baselines/reference/narrowingOfDottedNames.types +++ b/tests/baselines/reference/narrowingOfDottedNames.types @@ -77,11 +77,11 @@ function f1(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -97,11 +97,11 @@ function f1(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -122,7 +122,7 @@ function f2(x: A | B) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A | B > : ^^^^^ @@ -130,11 +130,11 @@ function f2(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -142,7 +142,7 @@ function f2(x: A | B) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : B > : ^ @@ -150,11 +150,11 @@ function f2(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingOfQualifiedNames.types b/tests/baselines/reference/narrowingOfQualifiedNames.types index 2d15564b18352..db3c1be7cc581 100644 --- a/tests/baselines/reference/narrowingOfQualifiedNames.types +++ b/tests/baselines/reference/narrowingOfQualifiedNames.types @@ -26,29 +26,29 @@ function init(properties: IProperties) { if (properties.foo) { >properties.foo : { aaa: string; bbb: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ type FooOK = typeof properties.foo; >FooOK : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ properties.foo; // type is { aaa: string; bbb: string; } >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ for (const x of [1, 2, 3]) { >x : number @@ -64,21 +64,21 @@ function init(properties: IProperties) { properties.foo; // type is { aaa: string; bbb: string; } >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ type FooOrUndefined = typeof properties.foo; // type should be { aaa: string; bbb: string; } >FooOrUndefined : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } } } @@ -106,52 +106,52 @@ function init2(foo: DeepOptional) { > : ^^^^^^^^^^^^ if (foo.a) { ->foo.a : { b?: { c?: string | undefined; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -164,98 +164,98 @@ function init2(foo: DeepOptional) { > : ^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ if (foo.a.b) { ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -268,102 +268,102 @@ function init2(foo: DeepOptional) { > : ^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ if (foo.a.b.c) { >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string > : ^^^^^^ >foo.a.b.c : string > : ^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string > : ^^^^^^ @@ -376,44 +376,44 @@ function init2(foo: DeepOptional) { > : ^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string > : ^^^^^^ >foo.a.b.c : string > : ^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingPastLastAssignment.types b/tests/baselines/reference/narrowingPastLastAssignment.types index 21e6663b9ac77..8161272644be3 100644 --- a/tests/baselines/reference/narrowingPastLastAssignment.types +++ b/tests/baselines/reference/narrowingPastLastAssignment.types @@ -189,7 +189,7 @@ function f4(cond: () => boolean) { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = "abc"; >x = "abc" : "abc" @@ -250,7 +250,7 @@ function f5(x: string | number, cond: () => boolean) { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = 1; >x = 1 : 1 @@ -680,11 +680,11 @@ function f12() { >fooMap.get("a") : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >fooMap.get : (key: string) => number[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ >fooMap : Map > : ^^^^^^^^^^^^^^^^^^^^^ >get : (key: string) => number[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ >"a" : "a" > : ^^^ @@ -706,11 +706,11 @@ function f12() { >values.forEach(v => foo.push(v)) : void > : ^^^^ >values.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >values : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >v => foo.push(v) : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -718,11 +718,11 @@ function f12() { >foo.push(v) : number > : ^^^^^^ >foo.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >foo : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >v : number > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingRestGenericCall.types b/tests/baselines/reference/narrowingRestGenericCall.types index 40dea0c5cb1cb..8c24b54a62af0 100644 --- a/tests/baselines/reference/narrowingRestGenericCall.types +++ b/tests/baselines/reference/narrowingRestGenericCall.types @@ -25,7 +25,7 @@ function call(obj: T, cb: (val: T) => void) { >cb(obj) : void > : ^^^^ >cb : (val: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : T > : ^ } @@ -46,21 +46,21 @@ call(obj, ({foo, ...rest}) => { >foo : string > : ^^^^^^ >rest : { bar: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ console.log(rest.bar); >console.log(rest.bar) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rest.bar : string > : ^^^^^^ >rest : { bar: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >bar : string > : ^^^^^^ diff --git a/tests/baselines/reference/narrowingTruthyObject.types b/tests/baselines/reference/narrowingTruthyObject.types index 4205e0a88d679..fa224c9dd8464 100644 --- a/tests/baselines/reference/narrowingTruthyObject.types +++ b/tests/baselines/reference/narrowingTruthyObject.types @@ -23,11 +23,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object | null > : ^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof x === 'object' && x) { >typeof x === 'object' && x : false | object | null @@ -47,11 +47,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (x && typeof x === 'object') { >x && typeof x === 'object' : unknown @@ -71,11 +71,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (b && x && typeof x === 'object') { >b && x && typeof x === 'object' : unknown @@ -99,11 +99,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (x && b && typeof x === 'object') { >x && b && typeof x === 'object' : unknown @@ -127,11 +127,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (x && b && b && typeof x === 'object') { >x && b && b && typeof x === 'object' : unknown @@ -159,11 +159,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (b && b && x && b && b && typeof x === 'object') { >b && b && x && b && b && typeof x === 'object' : unknown @@ -199,11 +199,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -233,11 +233,11 @@ function f1(x: unknown): any { >x.hasOwnProperty('x') : boolean > : ^^^^^^^ >x.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'x' : "x" > : ^^^ } diff --git a/tests/baselines/reference/narrowingTypeofDiscriminant.types b/tests/baselines/reference/narrowingTypeofDiscriminant.types index 750ca9b19b454..33e2111a90856 100644 --- a/tests/baselines/reference/narrowingTypeofDiscriminant.types +++ b/tests/baselines/reference/narrowingTypeofDiscriminant.types @@ -23,7 +23,7 @@ function f1(obj: { kind: 'a', data: string } | { kind: 1, data: number }) { >obj.kind : "a" | 1 > : ^^^^^^^ >obj : { kind: "a"; data: string; } | { kind: 1; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >kind : "a" | 1 > : ^^^^^^^ >"string" : "string" @@ -31,12 +31,12 @@ function f1(obj: { kind: 'a', data: string } | { kind: 1, data: number }) { obj; // { kind: 'a', data: string } >obj : { kind: "a"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ } else { obj; // { kind: 1, data: number } >obj : { kind: 1; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ } } @@ -62,7 +62,7 @@ function f2(obj: { kind: 'a', data: string } | { kind: 1, data: number } | undef >obj?.kind : "a" | 1 | undefined > : ^^^^^^^^^^^^^^^^^^^ >obj : { kind: "a"; data: string; } | { kind: 1; data: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ >kind : "a" | 1 | undefined > : ^^^^^^^^^^^^^^^^^^^ >"string" : "string" @@ -70,12 +70,12 @@ function f2(obj: { kind: 'a', data: string } | { kind: 1, data: number } | undef obj; // { kind: 'a', data: string } >obj : { kind: "a"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ } else { obj; // { kind: 1, data: number } | undefined >obj : { kind: 1; data: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ } } @@ -145,8 +145,8 @@ function booleanBad(wrapped: WrappedStringOr | null) { return wrapped.value; >wrapped.value : string > : ^^^^^^ ->wrapped : { value?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>wrapped : { value?: string; } +> : ^^^^^^^^^^ ^^^ >value : string > : ^^^^^^ } @@ -178,8 +178,8 @@ function booleanFixed(wrapped: WrappedStringOr | null) { return wrapped.value; >wrapped.value : string > : ^^^^^^ ->wrapped : { value?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>wrapped : { value?: string; } +> : ^^^^^^^^^^ ^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingTypeofFunction.types b/tests/baselines/reference/narrowingTypeofFunction.types index b4523fa01b0d3..963f10069c4c1 100644 --- a/tests/baselines/reference/narrowingTypeofFunction.types +++ b/tests/baselines/reference/narrowingTypeofFunction.types @@ -77,7 +77,7 @@ function f3(x: { _foo: number } & number) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { _foo: number; } & number -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowingTypeofObject.types b/tests/baselines/reference/narrowingTypeofObject.types index 39c43c446405f..19632225df374 100644 --- a/tests/baselines/reference/narrowingTypeofObject.types +++ b/tests/baselines/reference/narrowingTypeofObject.types @@ -17,7 +17,7 @@ function test(x: number & { _foo: string }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number & { _foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >'object' : "object" > : ^^^^^^^^ @@ -41,12 +41,12 @@ function f1(x: F & { foo: number }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : F & { foo: number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >"object" : "object" > : ^^^^^^^^ x; >x : F & { foo: number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ } } diff --git a/tests/baselines/reference/narrowingTypeofUndefined1.types b/tests/baselines/reference/narrowingTypeofUndefined1.types index d7e060cc9cee2..fa99e2a936b79 100644 --- a/tests/baselines/reference/narrowingTypeofUndefined1.types +++ b/tests/baselines/reference/narrowingTypeofUndefined1.types @@ -23,11 +23,11 @@ if (typeof a.error === 'undefined') { >typeof a.error : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >'undefined' : "undefined" > : ^^^^^^^^^^^ @@ -35,11 +35,11 @@ if (typeof a.error === 'undefined') { >a.result.prop : number > : ^^^^^^ >a.result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : number > : ^^^^^^ } @@ -48,11 +48,11 @@ else { >a.error.prop : string > : ^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ } @@ -63,11 +63,11 @@ if (typeof a.error !== 'undefined') { >typeof a.error : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >'undefined' : "undefined" > : ^^^^^^^^^^^ @@ -75,11 +75,11 @@ if (typeof a.error !== 'undefined') { >a.error.prop : string > : ^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ } @@ -88,11 +88,11 @@ else { >a.result.prop : number > : ^^^^^^ >a.result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : number > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingTypeofUndefined2.types b/tests/baselines/reference/narrowingTypeofUndefined2.types index 68152bea5744e..0f7337722b448 100644 --- a/tests/baselines/reference/narrowingTypeofUndefined2.types +++ b/tests/baselines/reference/narrowingTypeofUndefined2.types @@ -27,7 +27,7 @@ function fn | undefined>(arg: T) { >takeArray(arg) : void > : ^^^^ >takeArray : (arr: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : unknown[] > : ^^^^^^^^^ diff --git a/tests/baselines/reference/narrowingUnionToUnion.types b/tests/baselines/reference/narrowingUnionToUnion.types index d2edbfc4989e2..708dfa79387ac 100644 --- a/tests/baselines/reference/narrowingUnionToUnion.types +++ b/tests/baselines/reference/narrowingUnionToUnion.types @@ -23,7 +23,7 @@ function fx1(x: string | number | undefined) { >isFalsy(x) : boolean > : ^^^^^^^ >isFalsy : (value: unknown) => value is Falsy -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -43,7 +43,7 @@ function fx2(x: T | undefined) { >isFalsy(x) : boolean > : ^^^^^^^ >isFalsy : (value: unknown) => value is Falsy -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : T | undefined > : ^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ function fx3(x: T) { >isFalsy(x) : boolean > : ^^^^^^^ >isFalsy : (value: unknown) => value is Falsy -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -97,13 +97,13 @@ function fx4(obj: { b: number }) { >isA(obj) : boolean > : ^^^^^^^ >isA : (obj: unknown) => obj is { a: false; } | { b: 0; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ obj; // { b: 0 } >obj : { b: 0; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -169,7 +169,7 @@ function fx5(obj: X | YS, c: typeof XS | typeof Y) { >isXSorY(obj) : boolean > : ^^^^^^^ >isXSorY : (obj: unknown) => obj is XS | Y -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : X | YS > : ^^^^^^ @@ -196,7 +196,7 @@ function fx10(s: string | undefined) { >isEmptyStrOrUndefined(s) : boolean > : ^^^^^^^ >isEmptyStrOrUndefined : (mixed: any) => mixed is "" | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -239,7 +239,7 @@ f1(v1); >f1(v1) : void > : ^^^^ >f1 : (x: any) => asserts x is number | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v1 : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -260,7 +260,7 @@ f2(v2); >f2(v2) : void > : ^^^^ >f2 : (x: any) => asserts x is 6 | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v2 : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -322,7 +322,7 @@ const TEST_CASES = [ >isEmptyString(value) : boolean > : ^^^^^^^ >isEmptyString : (value: string) => value is "" -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -339,7 +339,7 @@ const TEST_CASES = [ >isMaybeEmptyString(value) : boolean > : ^^^^^^^ >isMaybeEmptyString : (value: string | null | undefined) => value is "" | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -363,7 +363,7 @@ const TEST_CASES = [ >isMaybeEmptyString(value) : boolean > : ^^^^^^^ >isMaybeEmptyString : (value: string | null | undefined) => value is "" | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -387,7 +387,7 @@ const TEST_CASES = [ >isZero(value) : boolean > : ^^^^^^^ >isZero : (value: number) => value is 0 -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : number > : ^^^^^^ @@ -404,7 +404,7 @@ const TEST_CASES = [ >isMaybeZero(value) : boolean > : ^^^^^^^ >isMaybeZero : (value: number | null | undefined) => value is 0 | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : number > : ^^^^^^ @@ -428,7 +428,7 @@ const TEST_CASES = [ >isMaybeZero(value) : boolean > : ^^^^^^^ >isMaybeZero : (value: number | null | undefined) => value is 0 | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -452,7 +452,7 @@ const TEST_CASES = [ >isEmptyArray(value) : boolean > : ^^^^^^^ >isEmptyArray : (value: T[]) => value is [] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string[] > : ^^^^^^^^ @@ -469,7 +469,7 @@ const TEST_CASES = [ >isMaybeEmptyArray(value) : boolean > : ^^^^^^^ >isMaybeEmptyArray : (value: T[] | null | undefined) => value is [] | null | undefined -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string[] > : ^^^^^^^^ @@ -493,7 +493,7 @@ const TEST_CASES = [ >isMaybeEmptyArray(value) : boolean > : ^^^^^^^ >isMaybeEmptyArray : (value: T[] | null | undefined) => value is [] | null | undefined -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ @@ -552,7 +552,7 @@ if (isEmpty(test)) { >isEmpty(test) : boolean > : ^^^^^^^ >isEmpty : (value: string | EmptyString) => value is EmptyString -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >test : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -578,7 +578,7 @@ function test1(foo: number | string | boolean) { >assert<1 | string>(foo) : void > : ^^^^ >assert : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -689,8 +689,8 @@ function test3(x: unknown) { if (check1(x)) { >check1(x) : boolean > : ^^^^^^^ ->check1 : (x: unknown) => x is string | 0 -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>check1 : (x: unknown) => x is (string | 0) +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -701,8 +701,8 @@ function test3(x: unknown) { if (check2(x)) { >check2(x) : boolean > : ^^^^^^^ ->check2 : (x: unknown) => x is 0 | "hello" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>check2 : (x: unknown) => x is ("hello" | 0) +> : ^ ^^ ^^^^^ >x : string | 0 > : ^^^^^^^^^^ @@ -731,7 +731,7 @@ function f1x(obj: (string | number)[] | null) { >assertRelationIsNullOrStringArray(obj) : void > : ^^^^ >assertRelationIsNullOrStringArray : (v: (string | number)[] | null) => asserts v is string[] | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : (string | number)[] | null > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -780,7 +780,7 @@ isMyDiscriminatedUnion(working) && working.type === 'A' && working.aProp; >isMyDiscriminatedUnion(working) : boolean > : ^^^^^^^ >isMyDiscriminatedUnion : (item: unknown) => item is MyDiscriminatedUnion -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >working : unknown > : ^^^^^^^ >working.type === 'A' : boolean @@ -796,7 +796,7 @@ isMyDiscriminatedUnion(working) && working.type === 'A' && working.aProp; >working.aProp : number > : ^^^^^^ >working : { type: "A"; aProp: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ @@ -808,7 +808,7 @@ isMyDiscriminatedUnion(broken) && broken.type === 'A' && broken.aProp; >isMyDiscriminatedUnion(broken) : boolean > : ^^^^^^^ >isMyDiscriminatedUnion : (item: unknown) => item is MyDiscriminatedUnion -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >broken : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >broken.type === 'A' : boolean @@ -824,7 +824,7 @@ isMyDiscriminatedUnion(broken) && broken.type === 'A' && broken.aProp; >broken.aProp : number > : ^^^^^^ >broken : { type: "A"; aProp: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ @@ -836,7 +836,7 @@ isMyDiscriminatedUnion(workingAgain) && workingAgain.type === 'A' && workingAgai >isMyDiscriminatedUnion(workingAgain) : boolean > : ^^^^^^^ >isMyDiscriminatedUnion : (item: unknown) => item is MyDiscriminatedUnion -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >workingAgain : unknown > : ^^^^^^^ >workingAgain.type === 'A' : boolean @@ -852,7 +852,7 @@ isMyDiscriminatedUnion(workingAgain) && workingAgain.type === 'A' && workingAgai >workingAgain.aProp : number > : ^^^^^^ >workingAgain : { type: "A"; aProp: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ @@ -908,7 +908,7 @@ function example1(value: Union): { type: 'a'; variant: 2 } | null { >value.variant : 1 | 2 > : ^^^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >variant : 1 | 2 > : ^^^^^ >1 : 1 @@ -918,7 +918,7 @@ function example1(value: Union): { type: 'a'; variant: 2 } | null { } return value; >value : { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ } function example2(value: Union): { type: 'a'; variant: 2 } | null { @@ -953,7 +953,7 @@ function example2(value: Union): { type: 'a'; variant: 2 } | null { >value.type : "a" > : ^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >type : "a" > : ^^^ >'a' : "a" @@ -963,7 +963,7 @@ function example2(value: Union): { type: 'a'; variant: 2 } | null { >value.variant : 1 | 2 > : ^^^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >variant : 1 | 2 > : ^^^^^ >1 : 1 @@ -973,7 +973,7 @@ function example2(value: Union): { type: 'a'; variant: 2 } | null { } return value; >value : { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ } function example3(value: Union): { type: 'a'; variant: 2 } | null { @@ -1006,7 +1006,7 @@ function example3(value: Union): { type: 'a'; variant: 2 } | null { >value.type : "a" > : ^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >type : "a" > : ^^^ >value.variant === 1 : boolean @@ -1014,7 +1014,7 @@ function example3(value: Union): { type: 'a'; variant: 2 } | null { >value.variant : 1 | 2 > : ^^^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >variant : 1 | 2 > : ^^^^^ >1 : 1 @@ -1024,6 +1024,6 @@ function example3(value: Union): { type: 'a'; variant: 2 } | null { } return value; >value : { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/narrowingUnionWithBang.types b/tests/baselines/reference/narrowingUnionWithBang.types index b1995fcdcec83..6b751d5a69d06 100644 --- a/tests/baselines/reference/narrowingUnionWithBang.types +++ b/tests/baselines/reference/narrowingUnionWithBang.types @@ -84,13 +84,13 @@ if (working.thing!.name !== "Correct") { >working.thing!.name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Error9" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >working.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^ >working.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >working : WorkingType > : ^^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Error9" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"Correct" : "Correct" @@ -100,21 +100,21 @@ if (working.thing!.name !== "Correct") { >console.log(working.thing!.message) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >working.thing!.message : string > : ^^^^^^ >working.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >working.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >working : WorkingType > : ^^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -123,21 +123,21 @@ if (working.thing!.name !== "Correct") { >console.log(working.thing!.id) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >working.thing!.id : string > : ^^^^^^ >working.thing! : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >working.thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >working : WorkingType > : ^^^^^^^^^^^ >thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >id : string > : ^^^^^^ } @@ -219,13 +219,13 @@ if (borked.thing!.name !== "Correct") { >borked.thing!.name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >borked.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^ >borked.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >borked : BorkedType > : ^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"Correct" : "Correct" @@ -235,21 +235,21 @@ if (borked.thing!.name !== "Correct") { >console.log(borked.thing!.message) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >borked.thing!.message : string > : ^^^^^^ >borked.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >borked.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >borked : BorkedType > : ^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -258,21 +258,21 @@ if (borked.thing!.name !== "Correct") { >console.log(borked.thing!.id) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >borked.thing!.id : string > : ^^^^^^ >borked.thing! : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >borked.thing : { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >borked : BorkedType > : ^^^^^^^^^^ >thing : { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >id : string > : ^^^^^^ } @@ -354,11 +354,11 @@ if (fixed.thing?.name !== "Correct") { >fixed.thing?.name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fixed.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >fixed : FixedType > : ^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"Correct" : "Correct" @@ -368,21 +368,21 @@ if (fixed.thing?.name !== "Correct") { >console.log(fixed.thing!.message) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >fixed.thing!.message : string > : ^^^^^^ >fixed.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >fixed.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >fixed : FixedType > : ^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -391,19 +391,19 @@ if (fixed.thing?.name !== "Correct") { >console.log(fixed.thing.id) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >fixed.thing.id : string > : ^^^^^^ >fixed.thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >fixed : FixedType > : ^^^^^^^^^ >thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >id : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingWithNonNullExpression.types b/tests/baselines/reference/narrowingWithNonNullExpression.types index 3d3d7bcae8068..d48e755773283 100644 --- a/tests/baselines/reference/narrowingWithNonNullExpression.types +++ b/tests/baselines/reference/narrowingWithNonNullExpression.types @@ -6,12 +6,12 @@ const m = ''.match(''); > : ^^^^^^^^^^^^^^^^ >''.match('') : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->''.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>''.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types index 3bcb77dea275d..11d9cb162fc6b 100644 --- a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types +++ b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types @@ -45,9 +45,9 @@ const fC = () => { // Hover display is identical on all of these type TA = typeof fA; >TA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ type TB = typeof fB; >TB : () => { v: T; } @@ -71,7 +71,7 @@ declare function accA(x: TA): void; >accA : (x: TA) => void > : ^ ^^ ^^^^^ >x : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ declare function accB(x: TB): void; >accB : (x: TB) => void @@ -96,19 +96,19 @@ accA(fA); accA(fB); accA(fC); >accA(fA) : void > : ^^^^ >accA : (x: TA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accA(fB) : void > : ^^^^ >accA : (x: TA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accA(fC) : void > : ^^^^ >accA : (x: TA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ @@ -117,19 +117,19 @@ accB(fA); accB(fB); accB(fC); >accB(fA) : void > : ^^^^ >accB : (x: TB) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accB(fB) : void > : ^^^^ >accB : (x: TB) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accB(fC) : void > : ^^^^ >accB : (x: TB) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ @@ -138,19 +138,19 @@ accC(fA); accC(fB); accC(fC); >accC(fA) : void > : ^^^^ >accC : (x: TC) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accC(fB) : void > : ^^^^ >accC : (x: TC) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accC(fC) : void > : ^^^^ >accC : (x: TC) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ @@ -159,19 +159,19 @@ accL(fA); accL(fB); accL(fC); >accL(fA) : void > : ^^^^ >accL : (x: TL) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accL(fB) : void > : ^^^^ >accL : (x: TL) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accL(fC) : void > : ^^^^ >accL : (x: TL) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.types b/tests/baselines/reference/negateOperatorWithAnyOtherType.types index 23f367c177457..e0d6fd9727f5f 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsNumber5 = -obj; >-obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber6 = -obj1; >ResultIsNumber6 : number @@ -221,7 +221,7 @@ var ResultIsNumber13 = -foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = -A.foo(); >ResultIsNumber14 : number @@ -231,11 +231,11 @@ var ResultIsNumber14 = -A.foo(); >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = -(ANY - ANY1); >ResultIsNumber15 : number diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.types b/tests/baselines/reference/negateOperatorWithBooleanType.types index 1df1b3d2fcd7c..7721ee54ec70b 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.types +++ b/tests/baselines/reference/negateOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsNumber6 = -foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber7 = -A.foo(); >ResultIsNumber7 : number @@ -145,7 +145,7 @@ var ResultIsNumber7 = -A.foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ -true, false; >-true, false : false diff --git a/tests/baselines/reference/negateOperatorWithNumberType.types b/tests/baselines/reference/negateOperatorWithNumberType.types index 0e7bed1ddd172..15e97f716a9f4 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.types +++ b/tests/baselines/reference/negateOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = -foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = -A.foo(); >ResultIsNumber10 : number @@ -215,7 +215,7 @@ var ResultIsNumber11 = -(NUMBER - NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ -objA.a; >-objA.a : number diff --git a/tests/baselines/reference/negateOperatorWithStringType.types b/tests/baselines/reference/negateOperatorWithStringType.types index 18976bbe2146c..f1dae72d5b9fc 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.types +++ b/tests/baselines/reference/negateOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = -foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = -A.foo(); >ResultIsNumber10 : number @@ -198,11 +198,11 @@ var ResultIsNumber12 = -STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -231,7 +231,7 @@ var ResultIsNumber12 = -STRING.charAt(0); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ -objA.a,M.n; >-objA.a,M.n : string diff --git a/tests/baselines/reference/nestedGenericSpreadInference.types b/tests/baselines/reference/nestedGenericSpreadInference.types index 3a00dd9123623..1d13f4dd71d70 100644 --- a/tests/baselines/reference/nestedGenericSpreadInference.types +++ b/tests/baselines/reference/nestedGenericSpreadInference.types @@ -28,11 +28,11 @@ const leak = call(wrap((x: T) => x), 1); >call(wrap((x: T) => x), 1) : number > : ^^^^^^ >call : (x: { x: (...args: A) => T; }, ...args: A) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >wrap((x: T) => x) : { x: (x: A[0]) => A[0]; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^ >wrap : (x: X) => { x: X; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x: T) => x : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >x : T diff --git a/tests/baselines/reference/nestedLoops.types b/tests/baselines/reference/nestedLoops.types index 4a8f16bcca96e..a762de1050d43 100644 --- a/tests/baselines/reference/nestedLoops.types +++ b/tests/baselines/reference/nestedLoops.types @@ -47,11 +47,11 @@ export class Test { >this.aFunction((newValue, oldValue) => { let x = outer + inner + newValue; }) : void > : ^^^^ >this.aFunction : (func: (newValue: any, oldValue: any) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >aFunction : (func: (newValue: any, oldValue: any) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(newValue, oldValue) => { let x = outer + inner + newValue; } : (newValue: any, oldValue: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >newValue : any diff --git a/tests/baselines/reference/nestedModules.types b/tests/baselines/reference/nestedModules.types index ac9a62ea527a1..df7ba930ab5b4 100644 --- a/tests/baselines/reference/nestedModules.types +++ b/tests/baselines/reference/nestedModules.types @@ -97,7 +97,7 @@ var p: { x: number; y: number; } var p: M2.X.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M2 : any > : ^^^ >X : any diff --git a/tests/baselines/reference/nestedSelf.types b/tests/baselines/reference/nestedSelf.types index a639e17951ccb..19b7e37cfa39f 100644 --- a/tests/baselines/reference/nestedSelf.types +++ b/tests/baselines/reference/nestedSelf.types @@ -21,7 +21,7 @@ module M { >[1,2,3].map((x) => { return this.n * x; }) : number[] > : ^^^^^^^^ >[1,2,3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1,2,3] : number[] > : ^^^^^^^^ >1 : 1 @@ -31,7 +31,7 @@ module M { >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(x) => { return this.n * x; } : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/nestedTypeVariableInfersLiteral.types b/tests/baselines/reference/nestedTypeVariableInfersLiteral.types index b1aa9a42fefb0..c0a7c192aa6b6 100644 --- a/tests/baselines/reference/nestedTypeVariableInfersLiteral.types +++ b/tests/baselines/reference/nestedTypeVariableInfersLiteral.types @@ -30,7 +30,7 @@ const directUnionSingle = direct("z") >direct("z") : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ >direct : (a: A | A[]) => Record -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"z" : "z" > : ^^^ @@ -40,7 +40,7 @@ const directUnionArray = direct(["z", "y"]) >direct(["z", "y"]) : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >direct : (a: A | A[]) => Record -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["z", "y"] : ("z" | "y")[] > : ^^^^^^^^^^^^^ >"z" : "z" @@ -54,7 +54,7 @@ const nestedSingle = nested({fields: "z"}) >nested({fields: "z"}) : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ >nested : (a: { fields: A; }) => Record -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{fields: "z"} : { fields: "z"; } > : ^^^^^^^^^^^^^^^^ >fields : "z" @@ -68,7 +68,7 @@ const nestedUnionSingle = nestedUnion({fields: "z"}) >nestedUnion({fields: "z"}) : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ >nestedUnion : (a: { fields: A | A[]; }) => Record -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{fields: "z"} : { fields: "z"; } > : ^^^^^^^^^^^^^^^^ >fields : "z" @@ -82,7 +82,7 @@ const nestedUnionArray = nestedUnion({fields: ["z", "y"]}) >nestedUnion({fields: ["z", "y"]}) : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >nestedUnion : (a: { fields: A | A[]; }) => Record -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{fields: ["z", "y"]} : { fields: ("z" | "y")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >fields : ("z" | "y")[] @@ -106,7 +106,7 @@ hasZField(directUnionSingle) // ok >hasZField(directUnionSingle) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >directUnionSingle : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ @@ -114,7 +114,7 @@ hasZField(directUnionArray) // ok >hasZField(directUnionArray) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >directUnionArray : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -122,7 +122,7 @@ hasZField(nestedSingle) // ok >hasZField(nestedSingle) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nestedSingle : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ @@ -130,7 +130,7 @@ hasZField(nestedUnionSingle) // ok >hasZField(nestedUnionSingle) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nestedUnionSingle : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ @@ -138,7 +138,7 @@ hasZField(nestedUnionArray) // ok >hasZField(nestedUnionArray) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nestedUnionArray : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=false).types b/tests/baselines/reference/neverAsDiscriminantType(strict=false).types index 81ef8c6b9a275..57e268fa0127d 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=false).types +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=false).types @@ -35,7 +35,7 @@ function f1(foo: Foo1) { >foo.a : number > : ^^^^^^ >foo : { kind: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -75,7 +75,7 @@ function f2(foo: Foo2) { >foo.a : number > : ^^^^^^ >foo : { kind?: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -255,11 +255,11 @@ export async function adaptSession(input: GatewayPayload) { >assertMessage : (event: { a: 1; }) => void > : ^ ^^ ^^^^^^^^^ >input.d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >input : GatewayPayloadStructure -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=true).types b/tests/baselines/reference/neverAsDiscriminantType(strict=true).types index 5ded1f639ffd8..a951c8c7bca02 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=true).types +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=true).types @@ -35,7 +35,7 @@ function f1(foo: Foo1) { >foo.a : number > : ^^^^^^ >foo : { kind: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -74,8 +74,8 @@ function f2(foo: Foo2) { foo.a; >foo.a : number > : ^^^^^^ ->foo : { kind?: "a" | undefined; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { kind?: "a"; a: number; } +> : ^^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -255,11 +255,11 @@ export async function adaptSession(input: GatewayPayload) { >assertMessage : (event: { a: 1; }) => void > : ^ ^^ ^^^^^^^^^ >input.d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >input : GatewayPayloadStructure -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/neverInference.types b/tests/baselines/reference/neverInference.types index 21b96dbcc15a5..f2234fd52941f 100644 --- a/tests/baselines/reference/neverInference.types +++ b/tests/baselines/reference/neverInference.types @@ -19,7 +19,7 @@ let a1 = f1([]); // never >f1([]) : never > : ^^^^^ >f1 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ @@ -29,7 +29,7 @@ let a2 = f1(neverArray); // never >f1(neverArray) : never > : ^^^^^ >f1 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >neverArray : never[] > : ^^^^^^^ @@ -83,11 +83,11 @@ const list: LinkedList = mkList([], compareNumbers); >mkList([], compareNumbers) : LinkedList > : ^^^^^^^^^^^^^^^^^^ >mkList : (items: T[], comparator: Comparator) => LinkedList -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ >compareNumbers : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // Repro from #19858 @@ -109,15 +109,15 @@ f2(Array.from([0]), [], (a1, a2) => a1 - a2); >f2(Array.from([0]), [], (a1, a2) => a1 - a2) : void > : ^^^^ >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Array.from([0]) : number[] > : ^^^^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 @@ -141,15 +141,15 @@ f2(Array.from([]), [0], (a1, a2) => a1 - a2); >f2(Array.from([]), [0], (a1, a2) => a1 - a2) : void > : ^^^^ >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Array.from([]) : never[] > : ^^^^^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[] : never[] > : ^^^^^^^ >[0] : number[] diff --git a/tests/baselines/reference/neverReturningFunctions1.types b/tests/baselines/reference/neverReturningFunctions1.types index 158750ecd7e93..faf50f8a7557a 100644 --- a/tests/baselines/reference/neverReturningFunctions1.types +++ b/tests/baselines/reference/neverReturningFunctions1.types @@ -32,7 +32,7 @@ function f01(x: string | undefined) { >fail("undefined argument") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -65,7 +65,7 @@ function f02(x: number): number { >fail("negative number") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -88,7 +88,7 @@ function f03(x: string) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -115,7 +115,7 @@ function f11(x: string | undefined, fail: (message?: string) => never) { >fail("undefined argument") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -152,7 +152,7 @@ function f12(x: number, fail: (message?: string) => never): number { >fail("negative number") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -179,7 +179,7 @@ function f13(x: string, fail: (message?: string) => never) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -213,11 +213,11 @@ function f21(x: string | undefined) { >Debug.fail("undefined argument") : never > : ^^^^^ >Debug.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -250,11 +250,11 @@ function f22(x: number): number { >Debug.fail("negative number") : never > : ^^^^^ >Debug.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -277,11 +277,11 @@ function f23(x: string) { >Debug.fail() : never > : ^^^^^ >Debug.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -302,15 +302,15 @@ function f24(x: string) { >((Debug).fail)() : never > : ^^^^^ >((Debug).fail) : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(Debug).fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(Debug) : typeof Debug > : ^^^^^^^^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -351,11 +351,11 @@ class Test { >this.fail("undefined argument") : never > : ^^^^^ >this.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -387,11 +387,11 @@ class Test { >this.fail("negative number") : never > : ^^^^^ >this.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -413,11 +413,11 @@ class Test { >this.fail() : never > : ^^^^^ >this.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -445,7 +445,7 @@ function f30(x: string | number | undefined) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string | number | undefined @@ -472,7 +472,7 @@ function f30(x: string | number | undefined) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string | number | undefined @@ -487,7 +487,7 @@ function f30(x: string | number | undefined) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string | number | undefined @@ -518,7 +518,7 @@ function f31(x: { a: string | number }) { >x.a : string | number > : ^^^^^^^^^^^^^^^ >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ >"string" : "string" @@ -528,29 +528,29 @@ function f31(x: { a: string | number }) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; // Unreachable >x.a : string | number > : ^^^^^^^^^^^^^^^ >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ } x; // { a: string | number } >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; // number >x.a : number > : ^^^^^^ >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -570,7 +570,7 @@ function f40(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -585,7 +585,7 @@ function f40(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -616,7 +616,7 @@ function f41(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -642,7 +642,7 @@ function f42(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -674,31 +674,31 @@ function f43() { const f = [fail]; >f : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >[fail] : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ fail(); // No effect (missing type annotation) >fail() : never > : ^^^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ f[0](); // No effect (not a dotted name) >f[0]() : never > : ^^^^^ >f[0] : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ >f : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >0 : 0 > : ^ f; >f : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } // Repro from #33582 @@ -843,7 +843,7 @@ const Component = registerComponent('test-component', { >registerComponent('test-component', { schema: { myProperty: { default: [], parse() { return [true]; } }, string: { type: 'string' }, num: 0 }, init() { this.data.num = 0; this.el.setAttribute('custom-attribute', 'custom-value'); }, update() {}, tick() {}, remove() {}, pause() {}, play() {}, multiply(f: number) { // Reference to system because both were registered with the same name. return f * this.data.num * this.system!.data.counter; }}) : ComponentConstructor<{ schema: { myProperty: { default: never[]; parse(): boolean[]; }; string: { type: string; }; num: number; }; init(): void; update(): void; tick(): void; remove(): void; pause(): void; play(): void; multiply(f: number): number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >registerComponent : (name: string, component: ComponentDefinition) => ComponentConstructor -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'test-component' : "test-component" > : ^^^^^^^^^^^^^^^^ >{ schema: { myProperty: { default: [], parse() { return [true]; } }, string: { type: 'string' }, num: 0 }, init() { this.data.num = 0; this.el.setAttribute('custom-attribute', 'custom-value'); }, update() {}, tick() {}, remove() {}, pause() {}, play() {}, multiply(f: number) { // Reference to system because both were registered with the same name. return f * this.data.num * this.system!.data.counter; }} : { schema: { myProperty: { default: never[]; parse(): boolean[]; }; string: { type: string; }; num: number; }; init(): void; update(): void; tick(): void; remove(): void; pause(): void; play(): void; multiply(f: number): number; } @@ -1031,11 +1031,11 @@ class SuperThrowable extends MyThrowable { >super.throw() : never > : ^^^^^ >super.throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ >super : MyThrowable > : ^^^^^^^^^^^ >throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ } ok(): never { >ok : () => never @@ -1045,11 +1045,11 @@ class SuperThrowable extends MyThrowable { >this.throw() : never > : ^^^^^ >this.throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1081,11 +1081,11 @@ function foo(services: Readonly, s: string | null): string { >services.panic("ouch") : never > : ^^^^^ >services.panic : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >services : Readonly > : ^^^^^^^^^^^^^^^^^^ >panic : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"ouch" : "ouch" > : ^^^^^^ diff --git a/tests/baselines/reference/neverType.types b/tests/baselines/reference/neverType.types index 4e1b6886c4eb6..9d75ae4fb7027 100644 --- a/tests/baselines/reference/neverType.types +++ b/tests/baselines/reference/neverType.types @@ -39,7 +39,7 @@ function fail() { >error("Something failed") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Something failed" : "Something failed" > : ^^^^^^^^^^^^^^^^^^ } @@ -119,7 +119,7 @@ function move1(direction: "up" | "down") { >error("Should never get here") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Should never get here" : "Should never get here" > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -160,7 +160,7 @@ function move2(direction: "up" | "down") { >error("Should never get here") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Should never get here" : "Should never get here" > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -179,7 +179,7 @@ function check(x: T | undefined) { >error("Undefined value") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Undefined value" : "Undefined value" > : ^^^^^^^^^^^^^^^^^ } @@ -287,7 +287,7 @@ function test(cb: () => string) { >cb() : string > : ^^^^^^ >cb : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return s; >s : string @@ -302,7 +302,7 @@ let errorCallback = () => error("Error callback"); >error("Error callback") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Error callback" : "Error callback" > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/neverTypeErrors1.types b/tests/baselines/reference/neverTypeErrors1.types index 72c3e618e4520..1f5248472c09a 100644 --- a/tests/baselines/reference/neverTypeErrors1.types +++ b/tests/baselines/reference/neverTypeErrors1.types @@ -89,7 +89,7 @@ for (const n of f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ for (const n in f4()) {} >n : string @@ -97,7 +97,7 @@ for (const n in f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ function f5() { >f5 : () => void diff --git a/tests/baselines/reference/neverTypeErrors2.types b/tests/baselines/reference/neverTypeErrors2.types index 006351edc555a..e67b036827f83 100644 --- a/tests/baselines/reference/neverTypeErrors2.types +++ b/tests/baselines/reference/neverTypeErrors2.types @@ -89,7 +89,7 @@ for (const n of f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ for (const n in f4()) {} >n : string @@ -97,7 +97,7 @@ for (const n in f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ function f5() { >f5 : () => void diff --git a/tests/baselines/reference/newOperator.types b/tests/baselines/reference/newOperator.types index 7ea2460b3d28e..97a58a096c803 100644 --- a/tests/baselines/reference/newOperator.types +++ b/tests/baselines/reference/newOperator.types @@ -56,7 +56,7 @@ new string; >(new Date()).toString() : string > : ^^^^^^ >(new Date()).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(new Date()) : Date > : ^^^^ >new Date() : Date @@ -64,7 +64,7 @@ new string; >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Various spacing var t3 = new string[]( ); @@ -141,7 +141,7 @@ new union; >new union : any > : ^^^ >union : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ // Error on union with one constructor declare const ctorUnion: { a: string } | (new (a: string) => void) @@ -156,7 +156,7 @@ new ctorUnion(""); >new ctorUnion("") : any > : ^^^ >ctorUnion : { a: string; } | (new (a: string) => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ @@ -173,7 +173,7 @@ new ctorUnion2(""); >new ctorUnion2("") : any > : ^^^ >ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/newOperatorConformance.types b/tests/baselines/reference/newOperatorConformance.types index f08357868cc8b..869134f639ca9 100644 --- a/tests/baselines/reference/newOperatorConformance.types +++ b/tests/baselines/reference/newOperatorConformance.types @@ -81,7 +81,7 @@ var d = new anyCtor; >d : any >new anyCtor : any >anyCtor : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var d: any; >d : any @@ -91,7 +91,7 @@ var d = new anyCtor1(undefined); >d : any >new anyCtor1(undefined) : any >anyCtor1 : new (n: any) => any -> : ^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -148,7 +148,7 @@ var t = new fnVoid(); >t : any >new fnVoid() : any >fnVoid : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var t: any; >t : any diff --git a/tests/baselines/reference/newOperatorErrorCases.types b/tests/baselines/reference/newOperatorErrorCases.types index d112f60ccd3dd..5258ba38bb4bb 100644 --- a/tests/baselines/reference/newOperatorErrorCases.types +++ b/tests/baselines/reference/newOperatorErrorCases.types @@ -100,5 +100,5 @@ var s = new fnNumber(); // Error >new fnNumber() : any > : ^^^ >fnNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types b/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types index 640ee7ca59cda..8b3343685bde2 100644 --- a/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types +++ b/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types @@ -13,7 +13,7 @@ new fnNumber(); // Error >new fnNumber() : any > : ^^^ >fnNumber : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function fnVoid(this: void): void {} >fnVoid : (this: void) => void @@ -25,7 +25,7 @@ new fnVoid(); // Error >new fnVoid() : any > : ^^^ >fnVoid : (this: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ function functionVoidNoThis(): void {} >functionVoidNoThis : () => void @@ -35,5 +35,5 @@ new functionVoidNoThis(); // Error >new functionVoidNoThis() : any > : ^^^ >functionVoidNoThis : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/noAsConstNameLookup.types b/tests/baselines/reference/noAsConstNameLookup.types index e91837069a22d..cc0d1ad9a7679 100644 --- a/tests/baselines/reference/noAsConstNameLookup.types +++ b/tests/baselines/reference/noAsConstNameLookup.types @@ -69,7 +69,7 @@ export class FeatureRunner { >this.cleaners.forEach(c => c(this)) : void > : ^^^^ >this.cleaners.forEach : (callbackfn: (value: Cleaner, index: number, array: Cleaner[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.cleaners : Cleaner[] > : ^^^^^^^^^ >this : this @@ -77,7 +77,7 @@ export class FeatureRunner { >cleaners : Cleaner[] > : ^^^^^^^^^ >forEach : (callbackfn: (value: Cleaner, index: number, array: Cleaner[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >c => c(this) : (c: Cleaner) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : Cleaner @@ -116,11 +116,11 @@ new C().f(); >new C().f() : void > : ^^^^ >new C().f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >new C() : C > : ^^^^^^^^^ >C : typeof C > : ^^^^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types index 833c1df364d2f..20a3c525bf99a 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types @@ -3,7 +3,7 @@ === noCollisionThisExpressionAndLocalVarInLambda.ts === declare function alert(message?: any): void; >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >message : any var x = { @@ -38,7 +38,7 @@ alert(x.doStuff(x => alert(x))); >alert(x.doStuff(x => alert(x))) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x.doStuff(x => alert(x)) : () => any > : ^^^^^^^^^ >x.doStuff : (callback: any) => () => any @@ -53,6 +53,6 @@ alert(x.doStuff(x => alert(x))); >alert(x) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : any diff --git a/tests/baselines/reference/noErrorsInCallback.types b/tests/baselines/reference/noErrorsInCallback.types index a99df77bac912..04e5fd113afb8 100644 --- a/tests/baselines/reference/noErrorsInCallback.types +++ b/tests/baselines/reference/noErrorsInCallback.types @@ -23,11 +23,11 @@ var one = new Bar({}); // Error >[].forEach(() => { var two = new Bar({}); // No error?}) : void > : ^^^^ >[].forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >() => { var two = new Bar({}); // No error?} : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/noImplicitAnyFunctions.types b/tests/baselines/reference/noImplicitAnyFunctions.types index 6610be8fcc20e..aed60655c1728 100644 --- a/tests/baselines/reference/noImplicitAnyFunctions.types +++ b/tests/baselines/reference/noImplicitAnyFunctions.types @@ -40,7 +40,7 @@ function f5(x: any): any { function f6(x: string, y: number); >f6 : { (x: string, y: number): any; (x: string, y: string): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : number @@ -56,7 +56,7 @@ function f6(x: string, y: string): any; function f6(x: string, y) { >f6 : { (x: string, y: number): any; (x: string, y: string): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : any diff --git a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types index cdbe4450dee8a..34f4a4a2cc86b 100644 --- a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types +++ b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types @@ -15,11 +15,11 @@ regexMatchList.forEach(match => ''.replace(match, '')); >regexMatchList.forEach(match => ''.replace(match, '')) : void > : ^^^^ >regexMatchList.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >regexMatchList : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >match => ''.replace(match, '') : (match: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >match : string @@ -27,11 +27,11 @@ regexMatchList.forEach(match => ''.replace(match, '')); >''.replace(match, '') : string > : ^^^^^^ >''.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >match : string > : ^^^^^^ >'' : "" diff --git a/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types b/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types index 0bfde68ff3a4e..fa4a2ff05387e 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types +++ b/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types @@ -65,7 +65,7 @@ declare class D_C { // Implicit-'any' errors for x1, y2, x3, and y3. public pub_f8(x1, y1: number): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ declare class D_C { public pub_f8(x2: string, y2): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ declare class D_C { public pub_f8(x3, y3): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any @@ -199,7 +199,7 @@ declare class D_C { // No implicit-'any' errors. private priv_f8(x1, y1: number): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -207,7 +207,7 @@ declare class D_C { private priv_f8(x2: string, y2): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -215,7 +215,7 @@ declare class D_C { private priv_f8(x3, y3): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types b/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types index 19f3b9412de69..0c23ddc92f4f1 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types +++ b/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types @@ -61,7 +61,7 @@ declare function d_f7(x, ...r): void; // Implicit-'any' errors for x1, y2, x3, and y3. declare function d_f8(x1, y1: number): any; >d_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -69,7 +69,7 @@ declare function d_f8(x1, y1: number): any; declare function d_f8(x2: string, y2): any; >d_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -77,7 +77,7 @@ declare function d_f8(x2: string, y2): any; declare function d_f8(x3, y3): any; >d_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types b/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types index aa0e0cddbf3ca..912acde1947d4 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types +++ b/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types @@ -65,7 +65,7 @@ declare module D_M { // No implicit-'any' errors. function dm_f8(x1, y1: number): any; >dm_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ declare module D_M { function dm_f8(x2: string, y2): any; >dm_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ declare module D_M { function dm_f8(x3, y3): any; >dm_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types b/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types index b41bec9de3907..124f6074f4b3d 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types +++ b/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types @@ -61,7 +61,7 @@ function f7(x, ...r): void { } // Implicit-'any' errors for x1, y2, x3, and y3. function f8(x1, y1: number): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -69,7 +69,7 @@ function f8(x1, y1: number): any; function f8(x2: string, y2): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -77,7 +77,7 @@ function f8(x2: string, y2): any; function f8(x3, y3): any { } >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInClass.types b/tests/baselines/reference/noImplicitAnyParametersInClass.types index 02dc1f9547ad7..4d1e85b58556a 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInClass.types +++ b/tests/baselines/reference/noImplicitAnyParametersInClass.types @@ -65,7 +65,7 @@ class C { // Implicit-'any' errors for x1, y2, x3, and y3. public pub_f8(x1, y1: number): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ class C { public pub_f8(x2: string, y2): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ class C { public pub_f8(x3, y3): any { } >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any @@ -223,7 +223,7 @@ class C { // Implicit-'any' errors for x1, y2, x3, and y3. private priv_f8(x1, y1: number): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -231,7 +231,7 @@ class C { private priv_f8(x2: string, y2): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -239,7 +239,7 @@ class C { private priv_f8(x3, y3): any { } >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInInterface.types b/tests/baselines/reference/noImplicitAnyParametersInInterface.types index 4ea9e7e3c8925..519379c60e0c6 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInInterface.types +++ b/tests/baselines/reference/noImplicitAnyParametersInInterface.types @@ -76,7 +76,7 @@ interface I { // Implicit-'any' errors for x1, y2, x3, and y3. f8(x1, y1: number): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -84,7 +84,7 @@ interface I { f8(x2: string, y2): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -92,7 +92,7 @@ interface I { f8(x3, y3): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInModule.types b/tests/baselines/reference/noImplicitAnyParametersInModule.types index 3c6c12d1a72dd..e20ae7fa333d7 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInModule.types +++ b/tests/baselines/reference/noImplicitAnyParametersInModule.types @@ -65,7 +65,7 @@ module M { // Implicit-'any' errors for x1, y2, x3, and y3. function m_f8(x1, y1: number): any; >m_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ module M { function m_f8(x2: string, y2): any; >m_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ module M { function m_f8(x3, y3): any { } >m_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitReturnsExclusions.types b/tests/baselines/reference/noImplicitReturnsExclusions.types index beb963670890f..f9e9441f59fed 100644 --- a/tests/baselines/reference/noImplicitReturnsExclusions.types +++ b/tests/baselines/reference/noImplicitReturnsExclusions.types @@ -208,7 +208,7 @@ declare class HistoryItem { interface Thenable { then( >then : { (onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => TResult | Thenable): Thenable; (onfulfilled?: (value: T) => TResult_1 | Thenable, onrejected?: (reason: any) => void): Thenable; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ onfulfilled?: (value: T) => TResult | Thenable, >onfulfilled : ((value: T) => TResult | Thenable) | undefined @@ -225,7 +225,7 @@ interface Thenable { ): Thenable; then( >then : { (onfulfilled?: (value: T) => TResult_1 | Thenable, onrejected?: (reason: any) => TResult_1 | Thenable): Thenable; (onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => void): Thenable; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ onfulfilled?: (value: T) => TResult | Thenable, >onfulfilled : ((value: T) => TResult | Thenable) | undefined @@ -280,7 +280,7 @@ registerCommand("_references-view.showHistoryItem", async (item) => { // Error, >registerCommand("_references-view.showHistoryItem", async (item) => { // Error, contextual return type of Promise if (item instanceof HistoryItem) { return executeCommand("vscode.open", item.input.location.uri); }}) : void > : ^^^^ >registerCommand : (command: string, callback: (...args: any[]) => any, thisArg?: any) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"_references-view.showHistoryItem" : "_references-view.showHistoryItem" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >async (item) => { // Error, contextual return type of Promise if (item instanceof HistoryItem) { return executeCommand("vscode.open", item.input.location.uri); }} : (item: any) => Promise @@ -300,21 +300,21 @@ registerCommand("_references-view.showHistoryItem", async (item) => { // Error, >executeCommand("vscode.open", item.input.location.uri) : Thenable > : ^^^^^^^^^^^^^^^^^ >executeCommand : (command: string, ...rest: any[]) => Thenable -> : ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ >"vscode.open" : "vscode.open" > : ^^^^^^^^^^^^^ >item.input.location.uri : string > : ^^^^^^ >item.input.location : { uri: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >item.input : { location: { uri: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >item : HistoryItem > : ^^^^^^^^^^^ >input : { location: { uri: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >location : { uri: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >uri : string > : ^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index f7fd184cfd91a..82d7c343860ce 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.types +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -27,11 +27,11 @@ async function test(isError: boolean = false) { >Promise.resolve("The test is passed without an error.") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"The test is passed without an error." : "The test is passed without an error." > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types index 9cde8e5be6e11..5adbbc531a236 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types @@ -20,14 +20,14 @@ function main1() : number { >get() : number > : ^^^^^^ >get : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } finally { log("in finally"); >log("in finally") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in finally" : "in finally" > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types index cc3cdf88c6be9..06dcfe7b4e671 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types @@ -20,7 +20,7 @@ function main1() : number { >get() : number > : ^^^^^^ >get : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } catch(e) { >e : any @@ -30,7 +30,7 @@ function main1() : number { >log("in catch") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in catch" : "in catch" > : ^^^^^^^^^^ } @@ -39,7 +39,7 @@ function main1() : number { >log("in finally") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in finally" : "in finally" > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types index 5c55dfbc3591a..9ce851da9cdd2 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types @@ -20,7 +20,7 @@ function main1() : number { >get() : number > : ^^^^^^ >get : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } catch(e) { >e : any @@ -30,7 +30,7 @@ function main1() : number { >log("in catch") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in catch" : "in catch" > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/noInfer.types b/tests/baselines/reference/noInfer.types index 833201b090284..65c9a5d6d9432 100644 --- a/tests/baselines/reference/noInfer.types +++ b/tests/baselines/reference/noInfer.types @@ -127,7 +127,7 @@ foo1('foo', 'foo') // ok >foo1('foo', 'foo') : void > : ^^^^ >foo1 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >'foo' : "foo" @@ -137,7 +137,7 @@ foo1('foo', 'bar') // error >foo1('foo', 'bar') : void > : ^^^^ >foo1 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >'bar' : "bar" @@ -147,7 +147,7 @@ foo2('foo', ['bar']) // error >foo2('foo', ['bar']) : void > : ^^^^ >foo2 : (a: T, b: NoInfer[]) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >['bar'] : "bar"[] @@ -159,7 +159,7 @@ foo3('foo', ['bar']) // error >foo3('foo', ['bar']) : void > : ^^^^ >foo3 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >['bar'] : "bar"[] @@ -171,7 +171,7 @@ foo4('foo', { x: 'bar' }) // error >foo4('foo', { x: 'bar' }) : void > : ^^^^ >foo4 : (a: T, b: { x: NoInfer; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >{ x: 'bar' } : { x: "bar"; } @@ -185,7 +185,7 @@ foo5('foo', { x: 'bar' }) // error >foo5('foo', { x: 'bar' }) : void > : ^^^^ >foo5 : (a: T, b: NoInfer<{ x: T; }>) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >{ x: 'bar' } : { x: "bar"; } @@ -221,7 +221,7 @@ doSomething(new Animal(), () => new Animal()); // ok >doSomething(new Animal(), () => new Animal()) : void > : ^^^^ >doSomething : (value: T, getDefault: () => NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Animal() : Animal > : ^^^^^^ >Animal : typeof Animal @@ -237,7 +237,7 @@ doSomething(new Animal(), () => new Dog()); // ok >doSomething(new Animal(), () => new Dog()) : void > : ^^^^ >doSomething : (value: T, getDefault: () => NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Animal() : Animal > : ^^^^^^ >Animal : typeof Animal @@ -253,7 +253,7 @@ doSomething(new Dog(), () => new Animal()); // error >doSomething(new Dog(), () => new Animal()) : void > : ^^^^ >doSomething : (value: T, getDefault: () => NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Dog() : Dog > : ^^^ >Dog : typeof Dog @@ -277,7 +277,7 @@ assertEqual({ x: 1 }, { x: 3 }); // ok >assertEqual({ x: 1 }, { x: 3 }) : boolean > : ^^^^^^^ >assertEqual : (actual: T, expected: NoInfer) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -309,7 +309,7 @@ assertEqual(g, { x: 3 }); // error >assertEqual(g, { x: 3 }) : boolean > : ^^^^^^^ >assertEqual : (actual: T, expected: NoInfer) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >g : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x: 3 } : { x: number; } @@ -341,9 +341,9 @@ invoke(test, { x: 1, y: 2 }); // error >invoke(test, { x: 1, y: 2 }) : number > : ^^^^^^ >invoke : (func: (value: T) => R, value: NoInfer) => R -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >test : (value: { x: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -359,7 +359,7 @@ test({ x: 1, y: 2 }); // error >test({ x: 1, y: 2 }) : number > : ^^^^^^ >test : (value: { x: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -395,9 +395,9 @@ doWork(comp, { foo: 42 }); // ok >doWork(comp, { foo: 42 }) : void > : ^^^^ >doWork : (Component: Component, props: NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >comp : Component<{ foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >{ foo: 42 } : { foo: number; } > : ^^^^^^^^^^^^^^^^ >foo : number @@ -409,9 +409,9 @@ doWork(comp, {}); // error >doWork(comp, {}) : void > : ^^^^ >doWork : (Component: Component, props: NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >comp : Component<{ foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >{} : {} > : ^^ @@ -431,7 +431,7 @@ const mutate1 = mutate((a, b) => b); >mutate((a, b) => b) : unknown > : ^^^^^^^ >mutate : (callback: (a: NoInfer, b: number) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(a, b) => b : (a: unknown, b: number) => number > : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : unknown diff --git a/tests/baselines/reference/noInferCommonPropertyCheck1.types b/tests/baselines/reference/noInferCommonPropertyCheck1.types index 87977bad96111..af16a58da11d4 100644 --- a/tests/baselines/reference/noInferCommonPropertyCheck1.types +++ b/tests/baselines/reference/noInferCommonPropertyCheck1.types @@ -37,11 +37,11 @@ test1(partialObj1, someObj1); >test1(partialObj1, someObj1) : void > : ^^^^ >test1 : (a: T, b: NoInfer & { prop?: unknown; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >partialObj1 : Partial<{ a: unknown; b: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >someObj1 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ declare function test2( >test2 : (a: T1, b: T2, c: NoInfer & NoInfer) => void @@ -65,13 +65,13 @@ test2(partialObj1, partialObj2, someObj1); >test2(partialObj1, partialObj2, someObj1) : void > : ^^^^ >test2 : (a: T1, b: T2, c: NoInfer & NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >partialObj1 : Partial<{ a: unknown; b: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >partialObj2 : Partial<{ c: unknown; d: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >someObj1 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ declare function test3( >test3 : (a: T1, b: T2, c: NoInfer) => void @@ -95,11 +95,11 @@ test3(partialObj1, partialObj2, someObj1); >test3(partialObj1, partialObj2, someObj1) : void > : ^^^^ >test3 : (a: T1, b: T2, c: NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >partialObj1 : Partial<{ a: unknown; b: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >partialObj2 : Partial<{ c: unknown; d: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >someObj1 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types b/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types index 705e4c0f93833..b1394d0e58c61 100644 --- a/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types +++ b/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types @@ -21,7 +21,7 @@ test1({ x: "foo" }, { x: "bar" }); // no error >test1({ x: "foo" }, { x: "bar" }) : void > : ^^^^ >test1 : (a: T, b: NoInfer | (() => NoInfer)) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -39,7 +39,7 @@ test1({ x: "foo" }, { x: "bar", y: 42 }); // epc error >test1({ x: "foo" }, { x: "bar", y: 42 }) : void > : ^^^^ >test1 : (a: T, b: NoInfer | (() => NoInfer)) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -77,7 +77,7 @@ test2({ x: "foo" }, { x: "bar" }); // no error >test2({ x: "foo" }, { x: "bar" }) : void > : ^^^^ >test2 : (a: T, b: NoInfer | NoInfer<() => T>) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -95,7 +95,7 @@ test2({ x: "foo" }, { x: "bar", y: 42 }); // epc error >test2({ x: "foo" }, { x: "bar", y: 42 }) : void > : ^^^^ >test2 : (a: T, b: NoInfer | NoInfer<() => T>) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -133,7 +133,7 @@ test3({ x: "foo" }, { x: "bar" }); // no error >test3({ x: "foo" }, { x: "bar" }) : void > : ^^^^ >test3 : (a: T, b: NoInfer T)>) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -151,7 +151,7 @@ test3({ x: "foo" }, { x: "bar", y: 42 }); // epc error >test3({ x: "foo" }, { x: "bar", y: 42 }) : void > : ^^^^ >test3 : (a: T, b: NoInfer T)>) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/noIterationTypeErrorsInCFA.types b/tests/baselines/reference/noIterationTypeErrorsInCFA.types index 9a140916267cb..0e649fb42fd6b 100644 --- a/tests/baselines/reference/noIterationTypeErrorsInCFA.types +++ b/tests/baselines/reference/noIterationTypeErrorsInCFA.types @@ -18,11 +18,11 @@ export function doRemove(dds: F | F[]) { >Array.isArray(dds) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >dds : F | F[] > : ^^^^^^^ @@ -46,11 +46,11 @@ export function doRemove(dds: F | F[]) { >n.d() : void > : ^^^^ >n.d : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >n : F > : ^ >d : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } return dds >dds : F[] diff --git a/tests/baselines/reference/noObjectKeysToKeyofT.types b/tests/baselines/reference/noObjectKeysToKeyofT.types index 96ebf10a94c6a..67cdb477bc6a5 100644 --- a/tests/baselines/reference/noObjectKeysToKeyofT.types +++ b/tests/baselines/reference/noObjectKeysToKeyofT.types @@ -7,15 +7,15 @@ Object.keys({ a: 0 }).push("b"); >Object.keys({ a: 0 }).push("b") : number > : ^^^^^^ >Object.keys({ a: 0 }).push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >Object.keys({ a: 0 }) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ a: 0 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -23,7 +23,7 @@ Object.keys({ a: 0 }).push("b"); >0 : 0 > : ^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ diff --git a/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types b/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types index ba0799869428f..06137d4dbc86b 100644 --- a/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types +++ b/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types @@ -5,19 +5,19 @@ self.importScripts = (function (importScripts) { >self.importScripts = (function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: unknown[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >self.importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: unknown[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };}) : (importScripts: (...urls: string[]) => void) => (...args: unknown[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };} : (importScripts: (...urls: string[]) => void) => (...args: unknown[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ /** * @param {...unknown} rest @@ -30,11 +30,11 @@ self.importScripts = (function (importScripts) { >importScripts.apply(this, arguments) : any > : ^^^ >importScripts.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any > : ^^^ >arguments : IArguments @@ -43,5 +43,5 @@ self.importScripts = (function (importScripts) { }; })(importScripts); >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/noParameterReassignmentJSIIFE.types b/tests/baselines/reference/noParameterReassignmentJSIIFE.types index 34f6a86f40f6e..d5e593f6f7db7 100644 --- a/tests/baselines/reference/noParameterReassignmentJSIIFE.types +++ b/tests/baselines/reference/noParameterReassignmentJSIIFE.types @@ -5,19 +5,19 @@ self.importScripts = (function (importScripts) { >self.importScripts = (function (importScripts) { return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: string[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >self.importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(function (importScripts) { return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: string[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >(function (importScripts) { return function () { return importScripts.apply(this, arguments); };}) : (importScripts: (...urls: string[]) => void) => (...args: string[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >function (importScripts) { return function () { return importScripts.apply(this, arguments); };} : (importScripts: (...urls: string[]) => void) => (...args: string[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ return function () { >function () { return importScripts.apply(this, arguments); } : (...args: string[]) => any @@ -26,11 +26,11 @@ self.importScripts = (function (importScripts) { return importScripts.apply(this, arguments); >importScripts.apply(this, arguments) : any >importScripts.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >arguments : IArguments > : ^^^^^^^^^^ @@ -38,5 +38,5 @@ self.importScripts = (function (importScripts) { }; })(importScripts); >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/noSubtypeReduction.types b/tests/baselines/reference/noSubtypeReduction.types index e00145b86db77..03f91c6b50718 100644 --- a/tests/baselines/reference/noSubtypeReduction.types +++ b/tests/baselines/reference/noSubtypeReduction.types @@ -37,13 +37,13 @@ export function F(x: IA | IAB) { for (const el of x.arr) { >el : { A: number; } | { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >x.arr : { A: number; }[] | { A: number; B: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^ >x : IA | IAB > : ^^^^^^^^ >arr : { A: number; }[] | { A: number; B: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^ if ('A' in el) { } >'A' in el : boolean @@ -51,7 +51,7 @@ export function F(x: IA | IAB) { >'A' : "A" > : ^^^ >el : { A: number; } | { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ if ('B' in el) { >'B' in el : boolean @@ -59,7 +59,7 @@ export function F(x: IA | IAB) { >'B' : "B" > : ^^^ >el : { A: number; } | { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ useB(el.B); >useB(el.B) : void @@ -69,7 +69,7 @@ export function F(x: IA | IAB) { >el.B : number > : ^^^^^^ >el : { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B : number > : ^^^^^^ } diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.types b/tests/baselines/reference/noUncheckedIndexedAccess.types index 52def1c265ae5..35a00a1931b1f 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.types +++ b/tests/baselines/reference/noUncheckedIndexedAccess.types @@ -471,7 +471,7 @@ obj1["x"]; >obj1["x"] : string > : ^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >"x" : "x" > : ^^^ @@ -485,7 +485,7 @@ obj1[y]; >obj1[y] : number > : ^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >y : "y" > : ^^^ @@ -499,7 +499,7 @@ obj1[yy]; >obj1[yy] : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >yy : string > : ^^^^^^ @@ -513,7 +513,7 @@ obj1[z]; >obj1[z] : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >z : string > : ^^^^^^ @@ -556,7 +556,7 @@ const e15: string = symbolMap[s]; // Should OK >symbolMap[s] : string > : ^^^^^^ >symbolMap : { [s]: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : unique symbol > : ^^^^^^^^^^^^^ @@ -566,7 +566,7 @@ symbolMap[s] = undefined; // Should error >symbolMap[s] : string > : ^^^^^^ >symbolMap : { [s]: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : unique symbol > : ^^^^^^^^^^^^^ >undefined : undefined @@ -622,13 +622,13 @@ const fn1 = (key: Key): string => myRecord1[ >(key: Key): string => myRecord1[key] : (key: Key) => string > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >myRecord1 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ >myRecord1[key] : { a: string; b: string; }[Key] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >myRecord1 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ @@ -638,13 +638,13 @@ const fn2 = (key: Key): string => myRecord2[ >(key: Key): string => myRecord2[key] : (key: Key) => string > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >myRecord1 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ >myRecord2[key] : { [key: string]: string; a: string; b: string; }[Key] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ @@ -654,7 +654,7 @@ const fn3 = (key: Key) => { >(key: Key) => { myRecord2[key] = undefined; // Should error const v: string = myRecord2[key]; // Should error} : (key: Key) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ @@ -662,9 +662,9 @@ const fn3 = (key: Key) => { >myRecord2[key] = undefined : undefined > : ^^^^^^^^^ >myRecord2[key] : { [key: string]: string; a: string; b: string; }[Key] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ >undefined : undefined @@ -676,7 +676,7 @@ const fn3 = (key: Key) => { >myRecord2[key] : undefined > : ^^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ diff --git a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types index 5f20c9e300584..d0266cc8b359e 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types +++ b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types @@ -22,11 +22,11 @@ s1.toString(); // Should error, s1 possibly undefined >s1.toString() : string > : ^^^^^^ >s1.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s1 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Destructuring a rest element -> do not include undefined const [...s2] = strArray; @@ -39,11 +39,11 @@ s2.push(undefined); // Should error, 'undefined' not part of s2's element type >s2.push(undefined) : number > : ^^^^^^ >s2.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >s2 : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -62,11 +62,11 @@ s3.push(undefined); // Should error, 'undefined' not part of s2's element type >s3.push(undefined) : number > : ^^^^^^ >s3.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >s3 : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -88,11 +88,11 @@ t1.toString(); // Should error, t1 possibly undefined >t1.toString() : string > : ^^^^^^ >t1.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t1 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const { ...t2 } = strMap; >t2 : { [s: string]: string; } @@ -104,7 +104,7 @@ t2.z.toString(); // Should error >t2.z.toString() : string > : ^^^^^^ >t2.z.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t2.z : string | undefined > : ^^^^^^^^^^^^^^^^^^ >t2 : { [s: string]: string; } @@ -112,7 +112,7 @@ t2.z.toString(); // Should error >z : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Test intersections with declared properties declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; @@ -133,37 +133,37 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x.toFixed(); // Should OK >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y.toFixed(); // Should OK >y.toFixed() : string > : ^^^^^^ >y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z.toFixed(); // Should error >z.toFixed() : string > : ^^^^^^ >z.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } { @@ -171,47 +171,47 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; >x : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x.toFixed(); // Should OK >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q.y.toFixed(); // Should OK >q.y.toFixed() : string > : ^^^^^^ >q.y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q.y : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q.z.toFixed(); // Should error >q.z.toFixed() : string > : ^^^^^^ >q.z.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q.z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } { @@ -219,53 +219,53 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; >x : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x. >x. toFixed() : string > : ^^^^^^ >x. toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ toFixed(); // Should OK >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q. >q. y.toFixed() : string > : ^^^^^^ >q. y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q. y : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ y.toFixed(); // Should OK >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q. >q. z.toFixed() : string > : ^^^^^^ >q. z.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q. z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ z.toFixed(); // Should error >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } @@ -331,9 +331,9 @@ declare let target_string_arr: string[]; ({ x, y, z } = numMapPoint); // Should OK >({ x, y, z } = numMapPoint) : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x, y, z } = numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x, y, z } : { x: number; y: number; z: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -343,7 +343,7 @@ declare let target_string_arr: string[]; >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let q: number; >q : number @@ -351,14 +351,14 @@ declare let target_string_arr: string[]; ({ q } = numMapPoint); // Should error >({ q } = numMapPoint) : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ q } = numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ q } : { q: number; } > : ^^^^^^^^^^^^^^ >q : number > : ^^^^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/nodeColonModuleResolution.types b/tests/baselines/reference/nodeColonModuleResolution.types index c95eb9700def7..9160ddaf8f1be 100644 --- a/tests/baselines/reference/nodeColonModuleResolution.types +++ b/tests/baselines/reference/nodeColonModuleResolution.types @@ -69,11 +69,11 @@ console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) >console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE : number > : ^^^^^^ >ph.constants : typeof ph.constants diff --git a/tests/baselines/reference/nodeColonModuleResolution2.types b/tests/baselines/reference/nodeColonModuleResolution2.types index 66343e7ca3883..46628fb4f0467 100644 --- a/tests/baselines/reference/nodeColonModuleResolution2.types +++ b/tests/baselines/reference/nodeColonModuleResolution2.types @@ -9,11 +9,11 @@ console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) >console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE : number > : ^^^^^^ >ph.constants : typeof ph.constants diff --git a/tests/baselines/reference/nodeModuleReexportFromDottedPath.types b/tests/baselines/reference/nodeModuleReexportFromDottedPath.types index abb2f2e4a1229..c1b6670538ec8 100644 --- a/tests/baselines/reference/nodeModuleReexportFromDottedPath.types +++ b/tests/baselines/reference/nodeModuleReexportFromDottedPath.types @@ -33,11 +33,11 @@ declare const enhancePrisma: (client: TPrismaClientCtor) => T const EnhancedPrisma = enhancePrisma(PrismaClient); >EnhancedPrisma : typeof PrismaClient & { enhanced: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enhancePrisma(PrismaClient) : typeof PrismaClient & { enhanced: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enhancePrisma : (client: TPrismaClientCtor) => TPrismaClientCtor & { enhanced: unknown; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >PrismaClient : typeof PrismaClient > : ^^^^^^^^^^^^^^^^^^^ @@ -45,5 +45,5 @@ export default new EnhancedPrisma(); >new EnhancedPrisma() : PrismaClient > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >EnhancedPrisma : typeof PrismaClient & { enhanced: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/nodeModulesAtTypesPriority.types b/tests/baselines/reference/nodeModulesAtTypesPriority.types index 7f4841d706c47..ac1328acf58a1 100644 --- a/tests/baselines/reference/nodeModulesAtTypesPriority.types +++ b/tests/baselines/reference/nodeModulesAtTypesPriority.types @@ -26,5 +26,5 @@ import React from "react"; import { createStore } from "redux"; >createStore : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types index 9f282495a4376..dc944e2b96ae6 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types index 9f282495a4376..dc944e2b96ae6 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types b/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types index d6d490fe77c89..880b84aad2d77 100644 --- a/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,7 +22,7 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ import {a as a2} from "package"; >a : import("node_modules/inner/other").Thing @@ -34,7 +34,7 @@ import {a as a2} from "package"; // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types index d6d490fe77c89..880b84aad2d77 100644 --- a/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,7 +22,7 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ import {a as a2} from "package"; >a : import("node_modules/inner/other").Thing @@ -34,7 +34,7 @@ import {a as a2} from "package"; // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types index 9b7ab49d0aaff..d62dfd1155d03 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types index 9b7ab49d0aaff..d62dfd1155d03 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types index 1193272174fac..034994f0ff8bb 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types index 1193272174fac..034994f0ff8bb 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types index 6d46a91088624..78367ad6e9714 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types index 6d46a91088624..78367ad6e9714 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types index 65e27dfdbf6e5..79de08e8be8c3 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types @@ -32,5 +32,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types index 65e27dfdbf6e5..79de08e8be8c3 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types @@ -32,5 +32,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types index 8850493ca7b37..478e6741c1467 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types @@ -56,7 +56,7 @@ export default getInterI(); >getInterI() : ImportInterface > : ^^^^^^^^^^^^^^^ >getInterI : () => ImportInterface -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ === /sub2/uses.ts === /// @@ -64,5 +64,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types index 8850493ca7b37..478e6741c1467 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types @@ -56,7 +56,7 @@ export default getInterI(); >getInterI() : ImportInterface > : ^^^^^^^^^^^^^^^ >getInterI : () => ImportInterface -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ === /sub2/uses.ts === /// @@ -64,5 +64,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types b/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types index 305440b13f6d0..e7385b94595a2 100644 --- a/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types +++ b/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types @@ -20,11 +20,11 @@ export function getAddress(): string { >ip.address() : string > : ^^^^^^ >ip.address : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >ip : typeof ip > : ^^^^^^^^^ >address : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } === node_modules/@types/ip/index.d.ts === export function address(): string; diff --git a/tests/baselines/reference/nodeNextPackageImportMapRootDir.types b/tests/baselines/reference/nodeNextPackageImportMapRootDir.types index 0bfe5d6607d4f..6af87e2ee664e 100644 --- a/tests/baselines/reference/nodeNextPackageImportMapRootDir.types +++ b/tests/baselines/reference/nodeNextPackageImportMapRootDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types index 35dd87bb9f834..5e90a0c992f00 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types index ea1a233d25832..a60ba655b3395 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types index 922e485927370..77672d081a41f 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types index 56eb7b76b3865..6457cdf66a6c5 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types @@ -3,9 +3,9 @@ === index.ts === export {srcthing as thing} from "./src/thing.js"; >srcthing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === src/thing.ts === // The following import should cause `index.ts` @@ -23,11 +23,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function srcthing(): void {} >srcthing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types index 705d6d77762b3..1923d27551862 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types @@ -3,9 +3,9 @@ === index.ts === export {srcthing as thing} from "./src/thing.js"; >srcthing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === src/thing.ts === // The following import should cause `index.ts` @@ -23,11 +23,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function srcthing(): void {} >srcthing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types index c918f3253c4f5..3b69047104dac 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types index 22c60535195f4..e484792a1d20b 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nonInferrableTypePropagation1.types b/tests/baselines/reference/nonInferrableTypePropagation1.types index 8098a630d1699..cd315d1c62c79 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation1.types +++ b/tests/baselines/reference/nonInferrableTypePropagation1.types @@ -78,23 +78,23 @@ const result1 = createAndUnbox(() => thing.pipe( >createAndUnbox(() => thing.pipe( map((data) => box(data)), tap((v) => log(v)),)) : Thing > : ^^^^^^^^^^^^^ >createAndUnbox : (factory: () => Thing>) => Thing -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => thing.pipe( map((data) => box(data)), tap((v) => log(v)),) : () => Thing> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >thing.pipe( map((data) => box(data)), tap((v) => log(v)),) : Thing> > : ^^^^^^^^^^^^^^^^^^ >thing.pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ >thing : Thing > : ^^^^^^^^^^^^^ >pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ map((data) => box(data)), >map((data) => box(data)) : Op> > : ^^^^^^^^^^^^^^^^^^^^^^^ >map : (project: (value: T) => R) => Op -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(data) => box(data) : (data: number) => Box > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >data : number @@ -102,7 +102,7 @@ const result1 = createAndUnbox(() => thing.pipe( >box(data) : Box > : ^^^^^^^^^^^ >box : (data: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : number > : ^^^^^^ @@ -110,7 +110,7 @@ const result1 = createAndUnbox(() => thing.pipe( >tap((v) => log(v)) : Op, Box> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tap : (next: (value: T) => void) => Op -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(v) => log(v) : (v: Box) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >v : Box @@ -118,7 +118,7 @@ const result1 = createAndUnbox(() => thing.pipe( >log(v) : void > : ^^^^ >log : (value: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v : Box > : ^^^^^^^^^^^ @@ -130,23 +130,23 @@ const result2 = createAndUnbox(() => thing.pipe( >createAndUnbox(() => thing.pipe( tap((v) => log(v)), map((data) => box(data)),)) : Thing > : ^^^^^^^^^^^^^ >createAndUnbox : (factory: () => Thing>) => Thing -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => thing.pipe( tap((v) => log(v)), map((data) => box(data)),) : () => Thing> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >thing.pipe( tap((v) => log(v)), map((data) => box(data)),) : Thing> > : ^^^^^^^^^^^^^^^^^^ >thing.pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ >thing : Thing > : ^^^^^^^^^^^^^ >pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ tap((v) => log(v)), >tap((v) => log(v)) : Op > : ^^^^^^^^^^^^^^^^^^ >tap : (next: (value: T) => void) => Op -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(v) => log(v) : (v: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >v : number @@ -154,7 +154,7 @@ const result2 = createAndUnbox(() => thing.pipe( >log(v) : void > : ^^^^ >log : (value: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v : number > : ^^^^^^ @@ -162,7 +162,7 @@ const result2 = createAndUnbox(() => thing.pipe( >map((data) => box(data)) : Op> > : ^^^^^^^^^^^^^^^^^^^^^^^ >map : (project: (value: T) => R) => Op -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(data) => box(data) : (data: number) => Box > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >data : number @@ -170,7 +170,7 @@ const result2 = createAndUnbox(() => thing.pipe( >box(data) : Box > : ^^^^^^^^^^^ >box : (data: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : number > : ^^^^^^ diff --git a/tests/baselines/reference/nonInferrableTypePropagation2.types b/tests/baselines/reference/nonInferrableTypePropagation2.types index 5b1eedd20d235..20b3225fcedc0 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation2.types +++ b/tests/baselines/reference/nonInferrableTypePropagation2.types @@ -89,17 +89,17 @@ const x = pipe(es, filter(exists((n) => n > 0))) >pipe(es, filter(exists((n) => n > 0))) : readonly Either[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : (a: A, ab: (a: A) => B) => B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >es : Either[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->filter(exists((n) => n > 0)) : (as: readonly Either[]) => readonly Either[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->filter : { (refinement: Refinement): (as: ReadonlyArray) => readonly B[]; (predicate: Predicate): (bs: ReadonlyArray) => readonly B[]; (predicate: Predicate): (as: ReadonlyArray) => readonly A[]; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter(exists((n) => n > 0)) : (as: readonly Either[]) => ReadonlyArray> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (bs: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (as: ReadonlyArray) => ReadonlyArray; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >exists((n) => n > 0) : (ma: Either) => boolean -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >exists : (predicate: Predicate) => (ma: Either) => boolean -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(n) => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/nonInferrableTypePropagation3.types b/tests/baselines/reference/nonInferrableTypePropagation3.types index cce6d6cd5786f..0e7bfa98df92c 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation3.types +++ b/tests/baselines/reference/nonInferrableTypePropagation3.types @@ -21,11 +21,11 @@ declare function factory(): (callback: Callback(); >make : (callback: Callback) => (...args: Args) => R -> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^ >factory<{id: string, age: number}[]>() : (callback: Callback) => (...args: Args) => R -> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^ >factory : () => (callback: Callback) => (...args: Args) => R -> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^ >id : string > : ^^^^^^ >age : number @@ -33,39 +33,39 @@ const make = factory<{id: string, age: number}[]>(); const usersOverAge = make((age: number) => data => { >usersOverAge : (age: number) => { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >make((age: number) => data => { return data.filter(user => user.age >= age);}) : (age: number) => { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >make : (callback: Callback) => (...args: Args) => R -> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^ >(age: number) => data => { return data.filter(user => user.age >= age);} : (age: number) => (data: { id: string; age: number; }[]) => { id: string; age: number; }[] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >age : number > : ^^^^^^ >data => { return data.filter(user => user.age >= age);} : (data: { id: string; age: number; }[]) => { id: string; age: number; }[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >data : { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ return data.filter(user => user.age >= age); >data.filter(user => user.age >= age) : { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ >data.filter : { (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => unknown, thisArg?: any): { id: string; age: number; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >data : { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ >filter : { (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => unknown, thisArg?: any): { id: string; age: number; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >user => user.age >= age : (user: { id: string; age: number; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >user : { id: string; age: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >user.age >= age : boolean > : ^^^^^^^ >user.age : number > : ^^^^^^ >user : { id: string; age: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >age : number > : ^^^^^^ >age : number diff --git a/tests/baselines/reference/nonInstantiatedModule.types b/tests/baselines/reference/nonInstantiatedModule.types index 9526b8f30cbb8..640e6f374cda6 100644 --- a/tests/baselines/reference/nonInstantiatedModule.types +++ b/tests/baselines/reference/nonInstantiatedModule.types @@ -106,7 +106,7 @@ var p: { x: number; y: number; }; var p: M2.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M2 : any > : ^^^ @@ -122,7 +122,7 @@ var p2: { Origin() : { x: number; y: number; } }; var p2: typeof M2.Point; >p2 : { Origin(): { x: number; y: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >M2.Point : typeof M2.Point > : ^^^^^^^^^^^^^^^ >M2 : typeof M2 diff --git a/tests/baselines/reference/nonNullFullInference.types b/tests/baselines/reference/nonNullFullInference.types index 2d50e9ab4a79b..a22e98b6421f1 100644 --- a/tests/baselines/reference/nonNullFullInference.types +++ b/tests/baselines/reference/nonNullFullInference.types @@ -90,11 +90,11 @@ function testNonNullInferenceWithArrays(numbers: number[]) { >arr.push(n) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types b/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types index 1de98c9451575..4e0fcb3e21511 100644 --- a/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types +++ b/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types @@ -33,7 +33,7 @@ function fn(one: T, two: U) { >foo(one!) : void > : ^^^^ >foo : (p: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >one! : string > : ^^^^^^ >one : string | undefined @@ -43,7 +43,7 @@ function fn(one: T, two: U) { >foo(two!) : void > : ^^^^ >foo : (p: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >two! : U > : ^ >two : U @@ -53,7 +53,7 @@ function fn(one: T, two: U) { >foo(three!) : void > : ^^^^ >foo : (p: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >three! : string > : ^^^^^^ >three : string | undefined diff --git a/tests/baselines/reference/nonNullableTypes1.types b/tests/baselines/reference/nonNullableTypes1.types index 6c156fefa8fd1..c52464c3014f8 100644 --- a/tests/baselines/reference/nonNullableTypes1.types +++ b/tests/baselines/reference/nonNullableTypes1.types @@ -43,7 +43,7 @@ function f2(x: T) { // NonNullable >error() : never > : ^^^^^ >error : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ } function f3(x: unknown) { @@ -75,7 +75,7 @@ function f4(obj: T) { >obj?.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { x: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -89,7 +89,7 @@ function f4(obj: T) { >obj?.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { x: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -105,7 +105,7 @@ function f4(obj: T) { >obj?.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { x: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >"string" : "string" diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.types b/tests/baselines/reference/nonPrimitiveAccessProperty.types index 1f0592fe7f693..af249331e2a41 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.types +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.types @@ -9,11 +9,11 @@ a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ a.nonExist(); // error >a.nonExist() : any diff --git a/tests/baselines/reference/nonPrimitiveInFunction.types b/tests/baselines/reference/nonPrimitiveInFunction.types index 69b0760475d65..a11ac1b683c70 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.types +++ b/tests/baselines/reference/nonPrimitiveInFunction.types @@ -40,7 +40,7 @@ nonPrimitive = returnObject(); >returnObject() : object > : ^^^^^^ >returnObject : () => object -> : ^^^^^^^^^^^^ +> : ^^^^^^ takeObject(primitive); // expect error >takeObject(primitive) : void @@ -58,7 +58,7 @@ primitive = returnObject(); // expect error >returnObject() : object > : ^^^^^^ >returnObject : () => object -> : ^^^^^^^^^^^^ +> : ^^^^^^ function returnError(): object { >returnError : () => object diff --git a/tests/baselines/reference/nonPrimitiveNarrow.types b/tests/baselines/reference/nonPrimitiveNarrow.types index ce7d8047c5214..72d16fcdccb77 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.types +++ b/tests/baselines/reference/nonPrimitiveNarrow.types @@ -78,11 +78,11 @@ if (typeof b === 'object') { >b.toString() : string > : ^^^^^^ >b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { b.toString(); // error, never diff --git a/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types b/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types index d2e42ec06d881..bb81a7ec9f4ce 100644 --- a/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types +++ b/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types @@ -36,5 +36,5 @@ const b2 = "bar" in f(); >f() : object > : ^^^^^^ >f : () => object -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nonPrimitiveStrictNull.types b/tests/baselines/reference/nonPrimitiveStrictNull.types index 0aae19e5b787b..08dcd72710f04 100644 --- a/tests/baselines/reference/nonPrimitiveStrictNull.types +++ b/tests/baselines/reference/nonPrimitiveStrictNull.types @@ -23,11 +23,11 @@ var e: object | null a.toString; // error >a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ a = undefined; // error >a = undefined : undefined @@ -145,11 +145,11 @@ if (typeof d === 'object') { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object | null > : ^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { d.toString(); // error, undefined @@ -184,11 +184,11 @@ if (d == null) { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (d === null) { @@ -212,11 +212,11 @@ if (d === null) { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof d === 'undefined') { @@ -244,11 +244,11 @@ if (typeof d === 'undefined') { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object | null > : ^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } interface Proxy {} diff --git a/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types b/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types index 1d3263315c78a..a33bf02861182 100644 --- a/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types +++ b/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types @@ -33,17 +33,17 @@ declare let cfoo: ObjectContaining; cfoo = cafoo; >cfoo = cafoo : ObjectContaining<{ a: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ >cfoo : ObjectContaining > : ^^^^^^^^^^^^^^^^^^^^^ >cafoo : ObjectContaining<{ a: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ cafoo = cfoo; >cafoo = cfoo : ObjectContaining > : ^^^^^^^^^^^^^^^^^^^^^ >cafoo : ObjectContaining<{ a: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ >cfoo : ObjectContaining > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types b/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types index 81ba000e8a184..8424e057fb0ad 100644 --- a/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types +++ b/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types @@ -12,11 +12,11 @@ let rect2: SVGRectElement = document.querySelector('.svg-rectangle')!; // Error: >document.querySelector('.svg-rectangle') : SVGRectElement | null > : ^^^^^^^^^^^^^^^^^^^^^ >document.querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K): SVGElementTagNameMap[K] | null; (selectors: K): MathMLElementTagNameMap[K] | null; (selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; (selectors: string): E | null; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K): SVGElementTagNameMap[K] | null; (selectors: K): MathMLElementTagNameMap[K] | null; (selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; (selectors: string): E | null; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >'.svg-rectangle' : ".svg-rectangle" > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.types b/tests/baselines/reference/normalizedIntersectionTooComplex.types index 563f64d563c67..75f6433313e60 100644 --- a/tests/baselines/reference/normalizedIntersectionTooComplex.types +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.types @@ -38,8 +38,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"0" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "0"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "0"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "1": { common?: string; "1"?: number, ref?: Obj | Func; } >"1" : { common?: string; "1"?: number; ref?: Obj | Func; } @@ -48,8 +48,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"1" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "1"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "1"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "2": { common?: string; "2"?: number, ref?: Obj | Func; } >"2" : { common?: string; "2"?: number; ref?: Obj | Func; } @@ -58,8 +58,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"2" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "2"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "2"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "3": { common?: string; "3"?: number, ref?: Obj | Func; } >"3" : { common?: string; "3"?: number; ref?: Obj | Func; } @@ -68,8 +68,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"3" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "3"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "3"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "4": { common?: string; "4"?: number, ref?: Obj | Func; } >"4" : { common?: string; "4"?: number; ref?: Obj | Func; } @@ -78,8 +78,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"4" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "4"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "4"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "5": { common?: string; "5"?: number, ref?: Obj | Func; } >"5" : { common?: string; "5"?: number; ref?: Obj | Func; } @@ -88,8 +88,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"5" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "5"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "5"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "6": { common?: string; "6"?: number, ref?: Obj | Func; } >"6" : { common?: string; "6"?: number; ref?: Obj | Func; } @@ -98,8 +98,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"6" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "6"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "6"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "7": { common?: string; "7"?: number, ref?: Obj | Func; } >"7" : { common?: string; "7"?: number; ref?: Obj | Func; } @@ -108,8 +108,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"7" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "7"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "7"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "8": { common?: string; "8"?: number, ref?: Obj | Func; } >"8" : { common?: string; "8"?: number; ref?: Obj | Func; } @@ -118,8 +118,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"8" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "8"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "8"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "9": { common?: string; "9"?: number, ref?: Obj | Func; } >"9" : { common?: string; "9"?: number; ref?: Obj | Func; } @@ -128,8 +128,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"9" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "9"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "9"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "10": { common?: string; "10"?: number, ref?: Obj | Func; } >"10" : { common?: string; "10"?: number; ref?: Obj | Func; } @@ -138,8 +138,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"10" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "10"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "10"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "11": { common?: string; "11"?: number, ref?: Obj | Func; } >"11" : { common?: string; "11"?: number; ref?: Obj | Func; } @@ -148,8 +148,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"11" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "11"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "11"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "12": { common?: string; "12"?: number, ref?: Obj | Func; } >"12" : { common?: string; "12"?: number; ref?: Obj | Func; } @@ -158,8 +158,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"12" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "12"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "12"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "13": { common?: string; "13"?: number, ref?: Obj | Func; } >"13" : { common?: string; "13"?: number; ref?: Obj | Func; } @@ -168,8 +168,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"13" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "13"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "13"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "14": { common?: string; "14"?: number, ref?: Obj | Func; } >"14" : { common?: string; "14"?: number; ref?: Obj | Func; } @@ -178,8 +178,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"14" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "14"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "14"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "15": { common?: string; "15"?: number, ref?: Obj | Func; } >"15" : { common?: string; "15"?: number; ref?: Obj | Func; } @@ -188,8 +188,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"15" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "15"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "15"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "16": { common?: string; "16"?: number, ref?: Obj | Func; } >"16" : { common?: string; "16"?: number; ref?: Obj | Func; } @@ -198,8 +198,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"16" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "16"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "16"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "17": { common?: string; "17"?: number, ref?: Obj | Func; } >"17" : { common?: string; "17"?: number; ref?: Obj | Func; } @@ -208,8 +208,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"17" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "17"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "17"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ } declare function getCtor(comp: T): CtorOf >getCtor : (comp: T) => CtorOf @@ -222,22 +222,22 @@ declare var all: keyof Big; > : ^^^^^^^^^ const ctor = getCtor(all); ->ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->getCtor(all) : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ctor : CtorOf<{ common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; }> +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^ +>getCtor(all) : CtorOf<{ common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; }> +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^ >getCtor : (comp: T) => CtorOf -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >all : keyof Big > : ^^^^^^^^^ const comp = ctor({ common: "ok", ref: x => console.log(x) }); ->comp : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>comp : { common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; } +> : ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^ +>ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; } +> : ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^ +>ctor : CtorOf<{ common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; }> +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^ >{ common: "ok", ref: x => console.log(x) } : { common: string; ref: (x: any) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >common : string @@ -253,11 +253,11 @@ const comp = ctor({ common: "ok", ref: x => console.log(x) }); >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/nullishCoalescingOperator1.types b/tests/baselines/reference/nullishCoalescingOperator1.types index 0b83f552b1152..d6e8d07a6a864 100644 --- a/tests/baselines/reference/nullishCoalescingOperator1.types +++ b/tests/baselines/reference/nullishCoalescingOperator1.types @@ -273,7 +273,7 @@ if (!(maybeBool ?? true)) { >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } if (maybeBool ?? true) { @@ -288,14 +288,14 @@ if (maybeBool ?? true) { >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } if (false ?? true) { @@ -310,13 +310,13 @@ if (false ?? true) { >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/nullishCoalescingOperator10.types b/tests/baselines/reference/nullishCoalescingOperator10.types index 417fd4c834037..1bd2da8ebfbdb 100644 --- a/tests/baselines/reference/nullishCoalescingOperator10.types +++ b/tests/baselines/reference/nullishCoalescingOperator10.types @@ -13,7 +13,7 @@ let gg = f() ?? 'foo' >f() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/nullishCoalescingOperator12.types b/tests/baselines/reference/nullishCoalescingOperator12.types index c65421492b85d..de8f143ad8525 100644 --- a/tests/baselines/reference/nullishCoalescingOperator12.types +++ b/tests/baselines/reference/nullishCoalescingOperator12.types @@ -20,7 +20,7 @@ for (const i of obj?.arr ?? []) { } >obj?.arr : any[] > : ^^^^^ >obj : { arr: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >arr : any[] > : ^^^^^ >[] : never[] diff --git a/tests/baselines/reference/nullishCoalescingOperator8.types b/tests/baselines/reference/nullishCoalescingOperator8.types index 02757adfded38..df6f3e201d751 100644 --- a/tests/baselines/reference/nullishCoalescingOperator8.types +++ b/tests/baselines/reference/nullishCoalescingOperator8.types @@ -25,7 +25,7 @@ const n1 = a.p ?? "default"; >a.p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >a : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >"default" : "default" @@ -39,11 +39,11 @@ const n2 = a.m() ?? "default"; >a.m() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >a.m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >"default" : "default" > : ^^^^^^^^^ @@ -59,25 +59,25 @@ const n3 = a.m() ?? b.p ?? b.m() ?? "default";; >a.m() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >a.m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b.m() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b.m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >"default" : "default" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/nullishCoalescingOperator9.types b/tests/baselines/reference/nullishCoalescingOperator9.types index 10e98f8de5ecc..f8729a8d5cd62 100644 --- a/tests/baselines/reference/nullishCoalescingOperator9.types +++ b/tests/baselines/reference/nullishCoalescingOperator9.types @@ -9,11 +9,11 @@ declare let f: null | ((x: string) => void); let g = f || (abc => { void abc.toLowerCase() }) >g : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f || (abc => { void abc.toLowerCase() }) : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((x: string) => void) | null -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^ >(abc => { void abc.toLowerCase() }) : (abc: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >abc => { void abc.toLowerCase() } : (abc: string) => void @@ -25,19 +25,19 @@ let g = f || (abc => { void abc.toLowerCase() }) >abc.toLowerCase() : string > : ^^^^^^ >abc.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >abc : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ let gg = f ?? (abc => { void abc.toLowerCase() }) >gg : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f ?? (abc => { void abc.toLowerCase() }) : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((x: string) => void) | null -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^ >(abc => { void abc.toLowerCase() }) : (abc: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >abc => { void abc.toLowerCase() } : (abc: string) => void @@ -49,9 +49,9 @@ let gg = f ?? (abc => { void abc.toLowerCase() }) >abc.toLowerCase() : string > : ^^^^^^ >abc.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >abc : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/numberPropertyAccess.types b/tests/baselines/reference/numberPropertyAccess.types index e8726db483908..7e09f4b070569 100644 --- a/tests/baselines/reference/numberPropertyAccess.types +++ b/tests/baselines/reference/numberPropertyAccess.types @@ -13,11 +13,11 @@ var a = x.toExponential(); >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var b = x.hasOwnProperty('toFixed'); >b : boolean @@ -25,11 +25,11 @@ var b = x.hasOwnProperty('toFixed'); >x.hasOwnProperty('toFixed') : boolean > : ^^^^^^^ >x.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'toFixed' : "toFixed" > : ^^^^^^^^^ @@ -39,7 +39,7 @@ var c = x['toExponential'](); >x['toExponential']() : string > : ^^^^^^ >x['toExponential'] : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >'toExponential' : "toExponential" @@ -51,7 +51,7 @@ var d = x['hasOwnProperty']('toFixed'); >x['hasOwnProperty']('toFixed') : boolean > : ^^^^^^^ >x['hasOwnProperty'] : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >'hasOwnProperty' : "hasOwnProperty" diff --git a/tests/baselines/reference/numberToString.types b/tests/baselines/reference/numberToString.types index 14849a6f2ad3b..56e372eb93b06 100644 --- a/tests/baselines/reference/numberToString.types +++ b/tests/baselines/reference/numberToString.types @@ -23,7 +23,7 @@ f1(3); >f1(3) : string > : ^^^^^^ >f1 : (n: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ @@ -31,7 +31,7 @@ f2(3); // error no coercion to string >f2(3) : void > : ^^^^ >f2 : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ @@ -39,7 +39,7 @@ f2(3+""); // ok + operator promotes >f2(3+"") : void > : ^^^^ >f2 : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >3+"" : string > : ^^^^^^ >3 : 3 diff --git a/tests/baselines/reference/numberVsBigIntOperations.types b/tests/baselines/reference/numberVsBigIntOperations.types index 835bbd50d1968..1d54ea840370a 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.types +++ b/tests/baselines/reference/numberVsBigIntOperations.types @@ -1253,7 +1253,7 @@ if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); >isBigInt(zeroOrBigOne) : bigint > : ^^^^^^ >isBigInt : (x: 0n | 1n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >zeroOrBigOne : 1n > : ^^ @@ -1261,7 +1261,7 @@ else isNumber(zeroOrBigOne); >isNumber(zeroOrBigOne) : number > : ^^^^^^ >isNumber : (x: 0 | 1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >zeroOrBigOne : 0 > : ^ diff --git a/tests/baselines/reference/numericEnumMappedType.types b/tests/baselines/reference/numericEnumMappedType.types index 2b88803631191..7ede3b7c4554a 100644 --- a/tests/baselines/reference/numericEnumMappedType.types +++ b/tests/baselines/reference/numericEnumMappedType.types @@ -125,13 +125,13 @@ enum N1 { A = val(), B = val() } >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >B : N1.B > : ^^^^ >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ enum N2 { C = val(), D = val() } >N2 : N2 @@ -141,13 +141,13 @@ enum N2 { C = val(), D = val() } >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >D : N2.D > : ^^^^ >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ type T1 = { [K in N1 | N2]: K }; >T1 : T1 diff --git a/tests/baselines/reference/numericIndexerConstraint2.types b/tests/baselines/reference/numericIndexerConstraint2.types index 93aa678eede98..dc2f51b285e19 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.types +++ b/tests/baselines/reference/numericIndexerConstraint2.types @@ -21,9 +21,9 @@ var a: { one: number; }; x = a; >x = a : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { [index: string]: Foo; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/numericIndexingResults.types b/tests/baselines/reference/numericIndexingResults.types index 7fae0969529c3..5d0c4aba4a5e8 100644 --- a/tests/baselines/reference/numericIndexingResults.types +++ b/tests/baselines/reference/numericIndexingResults.types @@ -187,7 +187,7 @@ var r1 = a['1']; >a['1'] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -197,7 +197,7 @@ var r2 = a['2']; >a['2'] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'2' : "2" > : ^^^ @@ -207,7 +207,7 @@ var r3 = a['3']; >a['3'] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'3' : "3" > : ^^^ @@ -217,7 +217,7 @@ var r4 = a[1]; >a[1] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -227,7 +227,7 @@ var r5 = a[2]; >a[2] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >2 : 2 > : ^ @@ -237,7 +237,7 @@ var r6 = a[3]; >a[3] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >3 : 3 > : ^ @@ -343,7 +343,7 @@ var r1b = b2['1']; >b2['1'] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -353,7 +353,7 @@ var r2b = b2['2']; >b2['2'] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'2' : "2" > : ^^^ @@ -363,7 +363,7 @@ var r3 = b2['3']; >b2['3'] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'3' : "3" > : ^^^ @@ -373,7 +373,7 @@ var r4 = b2[1]; >b2[1] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -383,7 +383,7 @@ var r5 = b2[2]; >b2[2] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >2 : 2 > : ^ @@ -393,7 +393,7 @@ var r6 = b2[3]; >b2[3] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >3 : 3 > : ^ diff --git a/tests/baselines/reference/numericLiteralTypes1.types b/tests/baselines/reference/numericLiteralTypes1.types index 45fa716f66344..33f88ca37b238 100644 --- a/tests/baselines/reference/numericLiteralTypes1.types +++ b/tests/baselines/reference/numericLiteralTypes1.types @@ -321,19 +321,19 @@ function f4(a: 1, b: 0 | 1 | 2) { declare function g(x: 0): string; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 0 > : ^ declare function g(x: 1): boolean; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 1 > : ^ declare function g(x: number): number; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -351,7 +351,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(0) : string > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -361,7 +361,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(1) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -371,7 +371,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(2) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -381,7 +381,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(a) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : 1 > : ^ @@ -391,7 +391,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(b) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : 0 | 1 | 2 > : ^^^^^^^^^ } @@ -477,7 +477,7 @@ function f11(x: Tag) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -674,7 +674,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -684,7 +684,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -694,7 +694,7 @@ function f20(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -720,7 +720,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -730,7 +730,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -740,7 +740,7 @@ function f21(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -748,7 +748,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/numericLiteralTypes2.types b/tests/baselines/reference/numericLiteralTypes2.types index 6882a95edc58c..126d8471c2bb1 100644 --- a/tests/baselines/reference/numericLiteralTypes2.types +++ b/tests/baselines/reference/numericLiteralTypes2.types @@ -321,19 +321,19 @@ function f4(a: 1, b: 0 | 1 | 2) { declare function g(x: 0): string; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 0 > : ^ declare function g(x: 1): boolean; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 1 > : ^ declare function g(x: number): number; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -351,7 +351,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(0) : string > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -361,7 +361,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(1) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -371,7 +371,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(2) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -381,7 +381,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(a) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : 1 > : ^ @@ -391,7 +391,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(b) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : 0 | 1 | 2 > : ^^^^^^^^^ } @@ -477,7 +477,7 @@ function f11(x: Tag) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -674,7 +674,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -684,7 +684,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -694,7 +694,7 @@ function f20(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -720,7 +720,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -730,7 +730,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -740,7 +740,7 @@ function f21(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -748,7 +748,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types index 1f6f7447a2b1e..80664c96927ad 100644 --- a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types +++ b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types @@ -5,21 +5,21 @@ >1..toString() : string > : ^^^^^^ >1..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1. : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.0.toString(); >1.0.toString() : string > : ^^^^^^ >1.0.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1.0 : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.toString(); >1. : 1 @@ -54,11 +54,11 @@ var test1 = i.toString(); >i.toString() : string > : ^^^^^^ >i.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >i : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test2 = 2.toString(); >test2 : number @@ -78,11 +78,11 @@ var test3 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test4 = 3 .toString(); >test4 : string @@ -90,11 +90,11 @@ var test4 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test5 = 3 .toString(); >test5 : string @@ -102,11 +102,11 @@ var test5 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test6 = 3.['toString'](); >test6 : string @@ -114,7 +114,7 @@ var test6 = 3.['toString'](); >3.['toString']() : string > : ^^^^^^ >3.['toString'] : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >'toString' : "toString" @@ -126,13 +126,13 @@ var test7 = 3 >3.toString() : string > : ^^^^^^ >3.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test8 = new Number(4).toString(); >test8 : string @@ -140,7 +140,7 @@ var test8 = new Number(4).toString(); >new Number(4).toString() : string > : ^^^^^^ >new Number(4).toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Number(4) : Number > : ^^^^^^ >Number : NumberConstructor @@ -148,7 +148,7 @@ var test8 = new Number(4).toString(); >4 : 4 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test9 = 3. + 3.; >test9 : number @@ -166,11 +166,11 @@ var test10 = 0 /* comment */.toString(); >0 /* comment */.toString() : string > : ^^^^^^ >0 /* comment */.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test11 = 3. /* comment */ .toString(); >test11 : string @@ -178,11 +178,11 @@ var test11 = 3. /* comment */ .toString(); >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test12 = 3 >test12 : string @@ -190,13 +190,13 @@ var test12 = 3 >3 /* comment */ .toString() : string > : ^^^^^^ >3 /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test13 = 3. >test13 : string @@ -204,13 +204,13 @@ var test13 = 3. >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test14 = 3 >test14 : string @@ -218,14 +218,14 @@ var test14 = 3 >3 // comment .toString() : string > : ^^^^^^ >3 // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test15 = 3. >test15 : string @@ -233,14 +233,14 @@ var test15 = 3. >3. // comment .toString() : string > : ^^^^^^ >3. // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test16 = 3 // comment time >test16 : string @@ -248,13 +248,13 @@ var test16 = 3 // comment time >3 // comment time .toString() : string > : ^^^^^^ >3 // comment time .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test17 = 3. // comment time again >test17 : string @@ -262,12 +262,12 @@ var test17 = 3. // comment time again >3. // comment time again .toString() : string > : ^^^^^^ >3. // comment time again .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types index 5e1a7bf84ebbb..3e60cfed28f3c 100644 --- a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types +++ b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types @@ -5,21 +5,21 @@ >1..toString() : string > : ^^^^^^ >1..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1. : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.0.toString(); >1.0.toString() : string > : ^^^^^^ >1.0.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1.0 : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.toString(); >1. : 1 @@ -54,11 +54,11 @@ var test1 = i.toString(); >i.toString() : string > : ^^^^^^ >i.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >i : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test2 = 2.toString(); >test2 : number @@ -78,11 +78,11 @@ var test3 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test4 = 3 .toString(); >test4 : string @@ -90,11 +90,11 @@ var test4 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test5 = 3 .toString(); >test5 : string @@ -102,11 +102,11 @@ var test5 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test6 = 3.['toString'](); >test6 : string @@ -114,7 +114,7 @@ var test6 = 3.['toString'](); >3.['toString']() : string > : ^^^^^^ >3.['toString'] : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >'toString' : "toString" @@ -126,13 +126,13 @@ var test7 = 3 >3.toString() : string > : ^^^^^^ >3.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test8 = new Number(4).toString(); >test8 : string @@ -140,7 +140,7 @@ var test8 = new Number(4).toString(); >new Number(4).toString() : string > : ^^^^^^ >new Number(4).toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Number(4) : Number > : ^^^^^^ >Number : NumberConstructor @@ -148,7 +148,7 @@ var test8 = new Number(4).toString(); >4 : 4 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test9 = 3. + 3.; >test9 : number @@ -166,11 +166,11 @@ var test10 = 0 /* comment */.toString(); >0 /* comment */.toString() : string > : ^^^^^^ >0 /* comment */.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test11 = 3. /* comment */ .toString(); >test11 : string @@ -178,11 +178,11 @@ var test11 = 3. /* comment */ .toString(); >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test12 = 3 >test12 : string @@ -190,13 +190,13 @@ var test12 = 3 >3 /* comment */ .toString() : string > : ^^^^^^ >3 /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test13 = 3. >test13 : string @@ -204,13 +204,13 @@ var test13 = 3. >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test14 = 3 >test14 : string @@ -218,14 +218,14 @@ var test14 = 3 >3 // comment .toString() : string > : ^^^^^^ >3 // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test15 = 3. >test15 : string @@ -233,14 +233,14 @@ var test15 = 3. >3. // comment .toString() : string > : ^^^^^^ >3. // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test16 = 3 // comment time >test16 : string @@ -248,13 +248,13 @@ var test16 = 3 // comment time >3 // comment time .toString() : string > : ^^^^^^ >3 // comment time .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test17 = 3. // comment time again >test17 : string @@ -262,12 +262,12 @@ var test17 = 3. // comment time again >3. // comment time again .toString() : string > : ^^^^^^ >3. // comment time again .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/numericStringLiteralTypes.types b/tests/baselines/reference/numericStringLiteralTypes.types index 3d64aca4da603..02a2368a47802 100644 --- a/tests/baselines/reference/numericStringLiteralTypes.types +++ b/tests/baselines/reference/numericStringLiteralTypes.types @@ -110,7 +110,7 @@ const container1 = createContainer('hi') >createContainer('hi') : Container > : ^^^^^^^^^^^^^^^^^ >createContainer : (value: T) => Container -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -120,7 +120,7 @@ const container2 = createContainer(2) >createContainer(2) : Container > : ^^^^^^^^^^^^^^^^^ >createContainer : (value: T) => Container -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >2 : 2 > : ^ @@ -128,7 +128,7 @@ f([container1, container2], (value1, value2) => { >f([container1, container2], (value1, value2) => { value1; // string value2; // number}) : void > : ^^^^ >f : []>(containers: [...T], callback: (...values: UnwrapContainers) => void) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >[container1, container2] : [Container, Container] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >container1 : Container diff --git a/tests/baselines/reference/objectAssignLikeNonUnionResult.types b/tests/baselines/reference/objectAssignLikeNonUnionResult.types index f9a917650f4fc..5ff307a4874fd 100644 --- a/tests/baselines/reference/objectAssignLikeNonUnionResult.types +++ b/tests/baselines/reference/objectAssignLikeNonUnionResult.types @@ -32,7 +32,7 @@ const data1 = assign(defaultValue, Date.now() > 3 ? { field: 2 } : {}); >assign(defaultValue, Date.now() > 3 ? { field: 2 } : {}) : Interface & { field: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >assign : (target: T, source: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >defaultValue : Interface > : ^^^^^^^^^ >Date.now() > 3 ? { field: 2 } : {} : { field: number; } | {} @@ -42,11 +42,11 @@ const data1 = assign(defaultValue, Date.now() > 3 ? { field: 2 } : {}); >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >3 : 3 > : ^ >{ field: 2 } : { field: number; } diff --git a/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types b/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types index ebecce98852f4..53e20d999cb4c 100644 --- a/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types +++ b/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types @@ -9,7 +9,7 @@ declare function id(x: T): T; const { f = (x: string) => x.length } = id({ f: x => x.charAt }); >f : ((x: string) => number) | ((x: string) => (pos: number) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >(x: string) => x.length : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -21,21 +21,21 @@ const { f = (x: string) => x.length } = id({ f: x => x.charAt }); >length : number > : ^^^^^^ >id({ f: x => x.charAt }) : { f: (x: string) => (pos: number) => string; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ f: x => x.charAt } : { f: (x: string) => (pos: number) => string; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >f : (x: string) => (pos: number) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >x => x.charAt : (x: string) => (pos: number) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >x : string > : ^^^^^^ >x.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/objectCreate-errors.types b/tests/baselines/reference/objectCreate-errors.types index 198c5c3c3275b..34fc3dc55a09c 100644 --- a/tests/baselines/reference/objectCreate-errors.types +++ b/tests/baselines/reference/objectCreate-errors.types @@ -7,11 +7,11 @@ var e1 = Object.create(1); // Error >Object.create(1) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -21,11 +21,11 @@ var e2 = Object.create("string"); // Error >Object.create("string") : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -35,11 +35,11 @@ var e3 = Object.create(false); // Error >Object.create(false) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ @@ -49,11 +49,11 @@ var e4 = Object.create(undefined); // Error >Object.create(undefined) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -64,11 +64,11 @@ var e5 = Object.create(1, {}); // Error >Object.create(1, {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >{} : {} @@ -80,11 +80,11 @@ var e6 = Object.create("string", {}); // Error >Object.create("string", {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ >{} : {} @@ -96,11 +96,11 @@ var e7 = Object.create(false, {}); // Error >Object.create(false, {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ >{} : {} @@ -112,11 +112,11 @@ var e8 = Object.create(undefined, {}); // Error >Object.create(undefined, {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/objectCreate.types b/tests/baselines/reference/objectCreate.types index f8d6a2a9f1eb3..d72556ad25997 100644 --- a/tests/baselines/reference/objectCreate.types +++ b/tests/baselines/reference/objectCreate.types @@ -13,21 +13,21 @@ var n = Object.create(null); // object >n : any >Object.create(null) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : any >Object.create({ a: 1, b: "" }) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,23 +43,23 @@ var u = Object.create(union); // object | {a: number, b: string } >u : any >Object.create(union) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ var e = Object.create({}); // {} >e : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -67,11 +67,11 @@ var o = Object.create({}); // object >o : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} @@ -81,11 +81,11 @@ var a = Object.create(null, {}); // any >a : any >Object.create(null, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -93,11 +93,11 @@ var a = Object.create({ a: 1, b: "" }, {}); >a : any >Object.create({ a: 1, b: "" }, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -115,13 +115,13 @@ var a = Object.create(union, {}); >a : any >Object.create(union, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ >{} : {} > : ^^ @@ -129,11 +129,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >{} : {} @@ -143,11 +143,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} diff --git a/tests/baselines/reference/objectCreate2.types b/tests/baselines/reference/objectCreate2.types index 2ef0f11eb9421..c25a7e73d917b 100644 --- a/tests/baselines/reference/objectCreate2.types +++ b/tests/baselines/reference/objectCreate2.types @@ -13,21 +13,21 @@ var n = Object.create(null); // any >n : any >Object.create(null) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : any >Object.create({ a: 1, b: "" }) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,23 +43,23 @@ var u = Object.create(union); // {a: number, b: string } >u : any >Object.create(union) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var e = Object.create({}); // {} >e : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -67,11 +67,11 @@ var o = Object.create({}); // object >o : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} @@ -81,11 +81,11 @@ var a = Object.create(null, {}); // any >a : any >Object.create(null, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -93,11 +93,11 @@ var a = Object.create({ a: 1, b: "" }, {}); >a : any >Object.create({ a: 1, b: "" }, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -115,13 +115,13 @@ var a = Object.create(union, {}); >a : any >Object.create(union, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{} : {} > : ^^ @@ -129,11 +129,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >{} : {} @@ -143,11 +143,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} diff --git a/tests/baselines/reference/objectFreeze.types b/tests/baselines/reference/objectFreeze.types index 2da45098f3cb3..1f9e672b86769 100644 --- a/tests/baselines/reference/objectFreeze.types +++ b/tests/baselines/reference/objectFreeze.types @@ -7,11 +7,11 @@ const f = Object.freeze(function foo(a: number, b: string) { return false; }); >Object.freeze(function foo(a: number, b: string) { return false; }) : (a: number, b: string) => false > : ^ ^^ ^^ ^^ ^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >function foo(a: number, b: string) { return false; } : (a: number, b: string) => false > : ^ ^^ ^^ ^^ ^^^^^^^^^^ >foo : (a: number, b: string) => false @@ -49,11 +49,11 @@ const c = Object.freeze(C); >Object.freeze(C) : typeof C > : ^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ @@ -71,11 +71,11 @@ const a = Object.freeze([1, 2, 3]); >Object.freeze([1, 2, 3]) : readonly number[] > : ^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -97,7 +97,7 @@ a[0] = a[2].toString(); >a[2].toString() : string > : ^^^^^^ >a[2].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a[2] : number > : ^^^^^^ >a : readonly number[] @@ -105,7 +105,7 @@ a[0] = a[2].toString(); >2 : 2 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ const o = Object.freeze({ a: 1, b: "string", c: true }); >o : Readonly<{ a: 1; b: "string"; c: true; }> @@ -113,11 +113,11 @@ const o = Object.freeze({ a: 1, b: "string", c: true }); >Object.freeze({ a: 1, b: "string", c: true }) : Readonly<{ a: 1; b: "string"; c: true; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "string", c: true } : { a: 1; b: "string"; c: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -145,7 +145,7 @@ o.b = o.a.toString(); >o.a.toString() : string > : ^^^^^^ >o.a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >o.a : 1 > : ^ >o : Readonly<{ a: 1; b: "string"; c: true; }> @@ -153,5 +153,5 @@ o.b = o.a.toString(); >a : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/objectFreezeLiteralsDontWiden.types b/tests/baselines/reference/objectFreezeLiteralsDontWiden.types index c62bdea3b77a8..389588efaad97 100644 --- a/tests/baselines/reference/objectFreezeLiteralsDontWiden.types +++ b/tests/baselines/reference/objectFreezeLiteralsDontWiden.types @@ -7,11 +7,11 @@ const PUPPETEER_REVISIONS = Object.freeze({ >Object.freeze({ chromium: '1011831', firefox: 'latest',}) : Readonly<{ chromium: "1011831"; firefox: "latest"; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ chromium: '1011831', firefox: 'latest',} : { chromium: "1011831"; firefox: "latest"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectFromEntries.types b/tests/baselines/reference/objectFromEntries.types index 1b47993b00e8f..8baa6681b60f1 100644 --- a/tests/baselines/reference/objectFromEntries.types +++ b/tests/baselines/reference/objectFromEntries.types @@ -7,11 +7,11 @@ const o = Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]); >Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]) : { [k: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[['a', 1], ['b', 2], ['c', 3]] : [string, number][] > : ^^^^^^^^^^^^^^^^^^ >['a', 1] : [string, number] @@ -39,15 +39,15 @@ const o2 = Object.fromEntries(new URLSearchParams()); >Object.fromEntries(new URLSearchParams()) : { [k: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new URLSearchParams() : URLSearchParams > : ^^^^^^^^^^^^^^^ >URLSearchParams : { new (init?: string[][] | Record | string | URLSearchParams): URLSearchParams; prototype: URLSearchParams; } -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); >o3 : { [k: string]: string; } @@ -55,11 +55,11 @@ const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); >Object.fromEntries(new Map([[Symbol("key"), "value"]])) : { [k: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Map([[Symbol("key"), "value"]]) : Map > : ^^^^^^^^^^^^^^^^^^^ >Map : MapConstructor @@ -83,11 +83,11 @@ const frozenArray = Object.freeze([['a', 1], ['b', 2], ['c', 3]]); >Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[['a', 1], ['b', 2], ['c', 3]] : (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^ >['a', 1] : (string | number)[] @@ -113,11 +113,11 @@ const o4 = Object.fromEntries(frozenArray); >o4 : any >Object.fromEntries(frozenArray) : any >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >frozenArray : readonly (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -127,11 +127,11 @@ const frozenArray2: readonly [string, number][] = Object.freeze([['a', 1], ['b', >Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly [string, number][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[['a', 1], ['b', 2], ['c', 3]] : [string, number][] > : ^^^^^^^^^^^^^^^^^^ >['a', 1] : [string, number] @@ -159,11 +159,11 @@ const o5 = Object.fromEntries(frozenArray2); >Object.fromEntries(frozenArray2) : { [k: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >frozenArray2 : readonly [string, number][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectGroupBy.types b/tests/baselines/reference/objectGroupBy.types index 19961cc11736b..ec9a37f131b20 100644 --- a/tests/baselines/reference/objectGroupBy.types +++ b/tests/baselines/reference/objectGroupBy.types @@ -7,11 +7,11 @@ const basic = Object.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large'); >Object.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large') : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[0, 2, 8] : number[] > : ^^^^^^^^ >0 : 0 @@ -43,11 +43,11 @@ const chars = Object.groupBy('a string', c => c); >Object.groupBy('a string', c => c) : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'a string' : "a string" > : ^^^^^^^^^^ >c => c : (c: string) => string @@ -79,11 +79,11 @@ const byRole = Object.groupBy(employees, x => x.role); >Object.groupBy(employees, x => x.role) : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x.role : (x: Employee) => "ic" | "manager" @@ -103,11 +103,11 @@ const byNonKey = Object.groupBy(employees, x => x); >Object.groupBy(employees, x => x) : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x : (x: Employee) => Employee diff --git a/tests/baselines/reference/objectInstantiationFromUnionSpread.types b/tests/baselines/reference/objectInstantiationFromUnionSpread.types index 5144159cdadc2..6afcfcf098d3b 100644 --- a/tests/baselines/reference/objectInstantiationFromUnionSpread.types +++ b/tests/baselines/reference/objectInstantiationFromUnionSpread.types @@ -31,33 +31,33 @@ function f1(a: Item[]) { a.map(item => ({ ...item })).filter(value => {}); >a.map(item => ({ ...item })).filter(value => {}) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map(item => ({ ...item })).filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >a.map(item => ({ ...item })) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >a : Item[] > : ^^^^^^ >map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >item => ({ ...item }) : (item: Item) => { isSuccess: true; } | { isSuccess: false; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >({ ...item }) : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >{ ...item } : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >value => {} : (value: { isSuccess: true; } | { isSuccess: false; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >value : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ } function f2(a: Item[]) { @@ -68,32 +68,32 @@ function f2(a: Item[]) { a.map(item => ({ ...item })).filter(value => {}); >a.map(item => ({ ...item })).filter(value => {}) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map(item => ({ ...item })).filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >a.map(item => ({ ...item })) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >a : Item[] > : ^^^^^^ >map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >item => ({ ...item }) : (item: Item) => { isSuccess: true; } | { isSuccess: false; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >({ ...item }) : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >{ ...item } : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >value => {} : (value: { isSuccess: true; } | { isSuccess: false; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >value : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/objectLitGetterSetter.types b/tests/baselines/reference/objectLitGetterSetter.types index ec6ee0f49ea63..180cef7e06e9b 100644 --- a/tests/baselines/reference/objectLitGetterSetter.types +++ b/tests/baselines/reference/objectLitGetterSetter.types @@ -11,11 +11,11 @@ >Object.defineProperty(obj, "accProperty", ({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } })) : {} > : ^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : {} > : ^^ >"accProperty" : "accProperty" @@ -36,7 +36,7 @@ eval("public = 1;"); >eval("public = 1;") : any >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"public = 1;" : "public = 1;" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectLitPropertyScoping.types b/tests/baselines/reference/objectLitPropertyScoping.types index 060c51e6c492e..37305471c38da 100644 --- a/tests/baselines/reference/objectLitPropertyScoping.types +++ b/tests/baselines/reference/objectLitPropertyScoping.types @@ -43,11 +43,11 @@ function makePoint(x: number, y: number) { >Math.sqrt(x * x + y * y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x * x + y * y : number > : ^^^^^^ >x * x : number diff --git a/tests/baselines/reference/objectLitTargetTypeCallSite.types b/tests/baselines/reference/objectLitTargetTypeCallSite.types index a05c6e19be737..a9f3c8a286167 100644 --- a/tests/baselines/reference/objectLitTargetTypeCallSite.types +++ b/tests/baselines/reference/objectLitTargetTypeCallSite.types @@ -15,7 +15,7 @@ function process( x: {a:number; b:string;}) { >x.a : number > : ^^^^^^ >x : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/objectLiteralArraySpecialization.types b/tests/baselines/reference/objectLiteralArraySpecialization.types index 0caad36571eea..f9d6305eaa756 100644 --- a/tests/baselines/reference/objectLiteralArraySpecialization.types +++ b/tests/baselines/reference/objectLiteralArraySpecialization.types @@ -30,7 +30,7 @@ var thing = create([ { name: "bob", id: 24 }, { name: "doug", id: 32 } ]); // sh >create([ { name: "bob", id: 24 }, { name: "doug", id: 32 } ]) : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (initialValues?: T[]) => MyArrayWrapper -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >[ { name: "bob", id: 24 }, { name: "doug", id: 32 } ] : { name: string; id: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ name: "bob", id: 24 } : { name: string; id: number; } @@ -58,11 +58,11 @@ thing.doSomething((x, y) => x.name === "bob"); // should not error >thing.doSomething((x, y) => x.name === "bob") : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => boolean) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => boolean) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.name === "bob" : (x: { name: string; id: number; }, y: { name: string; id: number; }) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralContextualTyping.types b/tests/baselines/reference/objectLiteralContextualTyping.types index aac9e0e5fa731..510d639e4013e 100644 --- a/tests/baselines/reference/objectLiteralContextualTyping.types +++ b/tests/baselines/reference/objectLiteralContextualTyping.types @@ -18,13 +18,13 @@ interface Item { declare function foo(item: Item): string; >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >item : Item > : ^^^^ declare function foo(item: any): number; >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >item : any > : ^^^ @@ -34,7 +34,7 @@ var x = foo({ name: "Sprocket" }); >foo({ name: "Sprocket" }) : string > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ name: "Sprocket" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -52,7 +52,7 @@ var y = foo({ name: "Sprocket", description: "Bumpy wheel" }); >foo({ name: "Sprocket", description: "Bumpy wheel" }) : string > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ name: "Sprocket", description: "Bumpy wheel" } : { name: string; description: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -74,7 +74,7 @@ var z = foo({ name: "Sprocket", description: false }); >foo({ name: "Sprocket", description: false }) : number > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ name: "Sprocket", description: false } : { name: string; description: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -96,7 +96,7 @@ var w = foo({ a: 10 }); >foo({ a: 10 }) : number > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ a: 10 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -122,7 +122,7 @@ var b = bar({}); >bar({}) : unknown > : ^^^^^^^ >bar : (param: { x?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/objectLiteralGettersAndSetters.types b/tests/baselines/reference/objectLiteralGettersAndSetters.types index ee7061ae4f3b3..bc6c524814217 100644 --- a/tests/baselines/reference/objectLiteralGettersAndSetters.types +++ b/tests/baselines/reference/objectLiteralGettersAndSetters.types @@ -327,7 +327,7 @@ var setParamType1 = { get n() { return (t) => { >n : (t: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(t) => { var p: string; var p = t; } : (t: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >t : string @@ -353,7 +353,7 @@ var setParamType2 = { get n() { return (t) => { >n : (t: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(t) => { var p: string; var p = t; } : (t: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >t : string diff --git a/tests/baselines/reference/objectLiteralNormalization.types b/tests/baselines/reference/objectLiteralNormalization.types index 90d5804ebf512..5905535a8a209 100644 --- a/tests/baselines/reference/objectLiteralNormalization.types +++ b/tests/baselines/reference/objectLiteralNormalization.types @@ -241,11 +241,11 @@ declare let b1: { a: string, b: string } | { b: string, c: string }; let b2 = { ...b1, z: 55 }; >b2 : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...b1, z: 55 } : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >b1 : { a: string; b: string; } | { b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >z : number > : ^^^^^^ >55 : 55 @@ -253,11 +253,11 @@ let b2 = { ...b1, z: 55 }; let b3 = { ...b2 }; >b3 : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...b2 } : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >b2 : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ // Before widening {} acts like { [x: string]: undefined }, which is a // subtype of types with all optional properties @@ -272,30 +272,30 @@ declare let opts: { foo?: string, bar?: string, baz?: boolean }; > : ^^^^^^^^^^^^^^^^^^^ let c1 = !true ? {} : opts; ->c1 : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->!true ? {} : opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c1 : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ +>!true ? {} : opts : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ >!true : false > : ^^^^^ >true : true > : ^^^^ >{} : {} > : ^^ ->opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opts : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ let c2 = !true ? opts : {}; ->c2 : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->!true ? opts : {} : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c2 : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ +>!true ? opts : {} : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ >!true : false > : ^^^^^ >true : true > : ^^^^ ->opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opts : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ >{} : {} > : ^^ @@ -487,7 +487,7 @@ let e1 = f({ a: 1, b: 2 }, { a: "abc" }, {}); >f({ a: 1, b: 2 }, { a: "abc" }, {}) : { a: number; b: number; } | { a: string; b?: undefined; } | { a?: undefined; b?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -513,7 +513,7 @@ let e2 = f({}, { a: "abc" }, { a: 1, b: 2 }); >f({}, { a: "abc" }, { a: 1, b: 2 }) : { a?: undefined; b?: undefined; } | { a: string; b?: undefined; } | { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{} : {} > : ^^ >{ a: "abc" } : { a: string; } @@ -535,13 +535,13 @@ let e2 = f({}, { a: "abc" }, { a: 1, b: 2 }); let e3 = f(data, { a: 2 }); >e3 : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f(data, { a: 2 }) : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >data : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ a: 2 } : { a: 2; } > : ^^^^^^^^^ >a : 2 @@ -551,11 +551,11 @@ let e3 = f(data, { a: 2 }); let e4 = f({ a: 2 }, data); >e4 : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f({ a: 2 }, data) : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{ a: 2 } : { a: 2; } > : ^^^^^^^^^ >a : 2 @@ -563,5 +563,5 @@ let e4 = f({ a: 2 }, data); >2 : 2 > : ^ >data : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/objectLiteralParameterResolution.types b/tests/baselines/reference/objectLiteralParameterResolution.types index 256c94b05c26c..1c4d9a4ed4333 100644 --- a/tests/baselines/reference/objectLiteralParameterResolution.types +++ b/tests/baselines/reference/objectLiteralParameterResolution.types @@ -4,7 +4,7 @@ interface Foo{ extend(target: T, ...objs: any[]): T; >extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >target : T > : ^ >objs : any[] @@ -12,7 +12,7 @@ interface Foo{ extend(deep: boolean, target: T, ...objs: any[]): T; >extend : { (target: T_1, ...objs: any[]): T_1; (deep: boolean, target: T, ...objs: any[]): T; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >deep : boolean > : ^^^^^^^ >target : T @@ -30,11 +30,11 @@ var s = $.extend({ >$.extend({ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, }, "") : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: boolean; timeout: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$.extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >$ : Foo > : ^^^ >extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, } : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: true; timeout: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types index 7386218ba1b96..9850daf6e9469 100644 --- a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types +++ b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types @@ -7,11 +7,11 @@ const foo = Symbol.for("foo"); >Symbol.for("foo") : unique symbol > : ^^^^^^^^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types index 48803ed76d8d5..c79a544f1d96e 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types @@ -83,9 +83,9 @@ foo(person); >foo(person) : void > : ^^^^ >foo : (obj: { name: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >person : { name: string; id: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ var person1 = bar("Hello", 5); >person1 : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types index 54e9583827db4..5fd6f717c806a 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types @@ -83,9 +83,9 @@ foo(person); >foo(person) : void > : ^^^^ >foo : (obj: { name: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >person : { name: string; id: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ var person1 = bar("Hello", 5); >person1 : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types index 6e3901cb94042..0597a019c03ae 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types @@ -79,9 +79,9 @@ var person2: { name: string, id: number } = bar("hello", 5); >id : number > : ^^^^^^ >bar("hello", 5) : { name: number; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >bar : (name: string, id: number) => { name: number; id: string; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >5 : 5 diff --git a/tests/baselines/reference/objectLiteralThisWidenedOnUse.types b/tests/baselines/reference/objectLiteralThisWidenedOnUse.types index abf7e52332311..0d6350096dbda 100644 --- a/tests/baselines/reference/objectLiteralThisWidenedOnUse.types +++ b/tests/baselines/reference/objectLiteralThisWidenedOnUse.types @@ -37,13 +37,13 @@ var GlobalIns = { >this.accept_foo(this) : boolean > : ^^^^^^^ >this.accept_foo : (foo: Foo) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : { prop1: number; prop2: number; prop3: number; test(): void; accept_foo(foo: Foo): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >accept_foo : (foo: Foo) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : { prop1: number; prop2: number; prop3: number; test(): void; accept_foo(foo: Foo): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ }, accept_foo (foo: Foo): boolean { diff --git a/tests/baselines/reference/objectMembersOnTypes.types b/tests/baselines/reference/objectMembersOnTypes.types index 10fa35bff925d..b9e8ae5bb6dc7 100644 --- a/tests/baselines/reference/objectMembersOnTypes.types +++ b/tests/baselines/reference/objectMembersOnTypes.types @@ -14,11 +14,11 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var i: I; >i : I @@ -28,11 +28,11 @@ i.toString(); // used to be an error >i.toString() : string > : ^^^^^^ >i.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var c: AAA; >c : AAA @@ -42,9 +42,9 @@ c.toString(); // used to be an error >c.toString() : string > : ^^^^^^ >c.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : AAA > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/objectRest.types b/tests/baselines/reference/objectRest.types index e798b3df2da13..f363e066c76c9 100644 --- a/tests/baselines/reference/objectRest.types +++ b/tests/baselines/reference/objectRest.types @@ -131,11 +131,11 @@ var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; >n3 : any > : ^^^ >nr : { n4: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >restrest : { rest: number; restrest: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^ let complex: { x: { ka, ki }, y: number }; >complex : { x: { ka: any; ki: any; }; y: number; } @@ -163,13 +163,13 @@ var { x: { ka, ...nested }, y: other, ...rest } = complex; >rest : {} > : ^^ >complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ ({x: { ka, ...nested }, y: other, ...rest} = complex); >({x: { ka, ...nested }, y: other, ...rest} = complex) : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} = complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} : { x: { ki: any; ka: any; }; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { ki: any; ka: any; } @@ -187,7 +187,7 @@ var { x: { ka, ...nested }, y: other, ...rest } = complex; >rest : {} > : ^^ >complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ var { x, ...fresh } = { x: 1, y: 2 }; >x : number @@ -294,7 +294,7 @@ var { removed, ...removableRest } = removable; >removed : string > : ^^^^^^ >removableRest : { remainder: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >removable : Removable > : ^^^^^^^^^ @@ -308,7 +308,7 @@ var { removed, ...removableRest2 } = i; >removed : string > : ^^^^^^ >removableRest2 : { m(): void; remainder: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/objectRest2.types b/tests/baselines/reference/objectRest2.types index 0f8e0aef3f8f1..0b7e60347631d 100644 --- a/tests/baselines/reference/objectRest2.types +++ b/tests/baselines/reference/objectRest2.types @@ -47,7 +47,7 @@ function rootConnection(name: string) { >connectionFromArray(objects, args) : {} > : ^^ >connectionFromArray : (objects: number, args: any) => {} -> : ^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >objects : number > : ^^^^^^ >args : any diff --git a/tests/baselines/reference/objectRestAssignment.types b/tests/baselines/reference/objectRestAssignment.types index d8e97c331827f..f14bf427a65da 100644 --- a/tests/baselines/reference/objectRestAssignment.types +++ b/tests/baselines/reference/objectRestAssignment.types @@ -29,9 +29,9 @@ let complex: { x: { ka, ki }, y: number }; ({x: { ka, ...nested }, y: other, ...rest} = complex); >({x: { ka, ...nested }, y: other, ...rest} = complex) : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} = complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} : { x: { ki: any; ka: any; }; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { ki: any; ka: any; } @@ -48,7 +48,7 @@ let complex: { x: { ka, ki }, y: number }; >rest : {} > : ^^ >complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ // should be: let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string }; @@ -78,49 +78,49 @@ var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit; >a : any > : ^^^ >nested2 : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >y : { ka: string; x: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ >b : any > : ^^^ >z : string > : ^^^^^^ >c : { ki: string; ku: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >rest2 : { ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ ({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit); >({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit) : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ >{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ >{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } : { ke: string; ko: string; a: [{ ka: string; x: string; }, ...{ ka: string; x: string; }[]]; b: { ki: string; ku: string; z: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ >a : [{ ka: string; x: string; }, ...{ ka: string; x: string; }[]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ >[{ ...nested2 }, ...y] : [{ ka: string; x: string; }, ...{ ka: string; x: string; }[]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ >{ ...nested2 } : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >nested2 : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >...y : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >y : { ka: string; x: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ >b : { ki: string; ku: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ >{ z, ...c } : { ki: string; ku: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ >z : string > : ^^^^^^ >c : { ki: string; ku: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >rest2 : { ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/objectRestBindingContextualInference.types b/tests/baselines/reference/objectRestBindingContextualInference.types index c057870be8e8b..f6fced90ceeed 100644 --- a/tests/baselines/reference/objectRestBindingContextualInference.types +++ b/tests/baselines/reference/objectRestBindingContextualInference.types @@ -59,13 +59,13 @@ declare const test: TestInterface; const { prepare, ...rest } = setupImages(test, ["image"]); >prepare : () => { type: "image"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ >rest : { image: File; } > : ^^^^^^^^^^^^^^^^ >setupImages(test, ["image"]) : SetupImages<"image"> > : ^^^^^^^^^^^^^^^^^^^^ >setupImages : , K extends string>(item: R, keys: K[]) => SetupImages -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >test : TestInterface > : ^^^^^^^^^^^^^ >["image"] : "image"[] diff --git a/tests/baselines/reference/objectRestForOf.types b/tests/baselines/reference/objectRestForOf.types index 7fbfe39301202..618ae25b14441 100644 --- a/tests/baselines/reference/objectRestForOf.types +++ b/tests/baselines/reference/objectRestForOf.types @@ -13,17 +13,17 @@ for (let { x, ...restOf } of array) { >x : number > : ^^^^^^ >restOf : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >array : { x: number; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ [x, restOf]; >[x, restOf] : (number | { y: string; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ >x : number > : ^^^^^^ >restOf : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } let xx: number; >xx : number @@ -37,45 +37,45 @@ let rrestOff: { y: string }; for ({ x: xx, ...rrestOff } of array ) { >{ x: xx, ...rrestOff } : { y: string; x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >xx : number > : ^^^^^^ >rrestOff : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >array : { x: number; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ [xx, rrestOff]; >[xx, rrestOff] : (number | { y: string; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ >xx : number > : ^^^^^^ >rrestOff : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } for (const norest of array.map(a => ({ ...a, x: 'a string' }))) { >norest : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >array.map(a => ({ ...a, x: 'a string' })) : { x: string; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ >array.map : (callbackfn: (value: { x: number; y: string; }, index: number, array: { x: number; y: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >array : { x: number; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ >map : (callbackfn: (value: { x: number; y: string; }, index: number, array: { x: number; y: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >a => ({ ...a, x: 'a string' }) : (a: { x: number; y: string; }) => { x: string; y: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >({ ...a, x: 'a string' }) : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...a, x: 'a string' } : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >a : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : string > : ^^^^^^ >'a string' : "a string" @@ -87,13 +87,13 @@ for (const norest of array.map(a => ({ ...a, x: 'a string' }))) { >norest.x : string > : ^^^^^^ >norest : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >x : string > : ^^^^^^ >norest.y : string > : ^^^^^^ >norest : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >y : string > : ^^^^^^ diff --git a/tests/baselines/reference/objectRestNegative.types b/tests/baselines/reference/objectRestNegative.types index 3d332de2ce76d..b57c5777e38a7 100644 --- a/tests/baselines/reference/objectRestNegative.types +++ b/tests/baselines/reference/objectRestNegative.types @@ -39,11 +39,11 @@ let notAssignable: { a: string }; >{ b, ...notAssignable } = o : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ b, ...notAssignable } : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >b : string > : ^^^^^^ >notAssignable : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -52,7 +52,7 @@ function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { >stillMustBeLast : ({ ...mustBeLast, a }: { a: number; b: string; }) => void > : ^ ^^ ^^^^^ >mustBeLast : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >a : number @@ -103,13 +103,13 @@ let rest: { b: string } >rest.b : string > : ^^^^^^ >rest : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >rest.b : string > : ^^^^^^ >rest : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >o : { a: number; b: string; } diff --git a/tests/baselines/reference/objectRestParameter.types b/tests/baselines/reference/objectRestParameter.types index d8b213883da9d..5e6fc34404e63 100644 --- a/tests/baselines/reference/objectRestParameter.types +++ b/tests/baselines/reference/objectRestParameter.types @@ -7,7 +7,7 @@ function cloneAgain({ a, ...clone }: { a: number, b: string }): void { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -33,17 +33,17 @@ suddenly(({ x: a, ...rest }) => rest.y); >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: a, ...rest }) => rest.y : ({ x: a, ...rest }: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >a : { z: any; ka: any; } > : ^^^^^^^^^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ @@ -52,7 +52,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' }) => rest.y + nested.ka : ({ x: { z, ...nested }, ...rest }?: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >z : any @@ -62,7 +62,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >nested : { ka: any; } > : ^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: { z: 1, ka: 1 }, y: 'noo' } : { x: { z: number; ka: number; }; y: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { z: number; ka: number; } @@ -86,7 +86,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ >nested.ka : any @@ -105,7 +105,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -119,7 +119,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/objectRestParameterES5.types b/tests/baselines/reference/objectRestParameterES5.types index de5a21f6d94a9..bb237dd286d39 100644 --- a/tests/baselines/reference/objectRestParameterES5.types +++ b/tests/baselines/reference/objectRestParameterES5.types @@ -7,7 +7,7 @@ function cloneAgain({ a, ...clone }: { a: number, b: string }): void { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -33,17 +33,17 @@ suddenly(({ x: a, ...rest }) => rest.y); >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: a, ...rest }) => rest.y : ({ x: a, ...rest }: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >a : { z: any; ka: any; } > : ^^^^^^^^^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ @@ -52,7 +52,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' }) => rest.y + nested.ka : ({ x: { z, ...nested }, ...rest }?: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >z : any @@ -62,7 +62,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >nested : { ka: any; } > : ^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: { z: 1, ka: 1 }, y: 'noo' } : { x: { z: number; ka: number; }; y: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { z: number; ka: number; } @@ -86,7 +86,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ >nested.ka : any @@ -105,7 +105,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -119,7 +119,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/objectRestReadonly.types b/tests/baselines/reference/objectRestReadonly.types index 188dbc91e7645..24c6049b2505d 100644 --- a/tests/baselines/reference/objectRestReadonly.types +++ b/tests/baselines/reference/objectRestReadonly.types @@ -48,7 +48,7 @@ const { foo, ...rest } = obj >foo : string > : ^^^^^^ >rest : { baz: string; quux: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >obj : Readonly > : ^^^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ delete rest.baz >rest.baz : string > : ^^^^^^ >rest : { baz: string; quux: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >baz : string > : ^^^^^^ diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types index 2b1b13cac88b9..92ca81fce93ad 100644 --- a/tests/baselines/reference/objectSpread.types +++ b/tests/baselines/reference/objectSpread.types @@ -269,7 +269,7 @@ getter.a = 12; >getter.a : number > : ^^^^^^ >getter : { a: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ >12 : 12 @@ -310,13 +310,13 @@ function from16326(this: { header: Header }, header: Header, authToken: string): return { >{ ...this.header, ...header, ...authToken && { authToken } } : { authToken: string; head: string; body: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ ...this.header, >this.header : Header > : ^^^^^^ >this : { header: Header; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >header : Header > : ^^^^^^ @@ -606,11 +606,11 @@ cplus.plus(); >cplus.plus() : void > : ^^^^ >cplus.plus : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >cplus : { p: number; plus(): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ ^^^ >plus : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // new field's type conflicting with existing field is OK let changeTypeAfter: { a: string, b: string } = @@ -684,11 +684,11 @@ function container( >{ ...definiteBoolean, ...definiteString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber }; >optionalUnionDuplicates : { sn: string | number; } @@ -698,13 +698,13 @@ function container( >{ ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; >allOptional : { sn?: string | number; } @@ -713,10 +713,10 @@ function container( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ // computed property let computedFirst: { a: number, b: string, "before everything": number } = @@ -1052,9 +1052,9 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { let x07 = { a: 5, b: 'hi', ...t, c: true, ...obj }; >x07 : { a: number; b: string; } & T & { x: number; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{ a: 5, b: 'hi', ...t, c: true, ...obj } : { a: number; b: string; } & T & { x: number; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >5 : 5 @@ -1070,13 +1070,13 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { >true : true > : ^^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x09 = { a: 5, ...t, b: 'hi', c: true, ...obj }; >x09 : { a: number; } & T & { x: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: 5, ...t, b: 'hi', c: true, ...obj } : { a: number; } & T & { x: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >5 : 5 @@ -1092,13 +1092,13 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { >true : true > : ^^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x10 = { a: 5, ...t, b: 'hi', ...u, ...obj }; >x10 : { a: number; } & T & { b: string; } & U & { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ a: 5, ...t, b: 'hi', ...u, ...obj } : { a: number; } & T & { b: string; } & U & { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : number > : ^^^^^^ >5 : 5 @@ -1112,7 +1112,7 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { >u : U > : ^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x11 = { ...v }; >x11 : T | U @@ -1124,31 +1124,31 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { let x12 = { ...v, ...obj }; >x12 : (T & { x: number; }) | (U & { x: number; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ >{ ...v, ...obj } : (T & { x: number; }) | (U & { x: number; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ >v : T | U > : ^^^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x13 = { ...w }; >x13 : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...w } : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ let x14 = { ...w, ...obj }; >x14 : (T & { x: number; }) | { x: number; s: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...w, ...obj } : (T & { x: number; }) | { x: number; s: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x15 = { ...t, ...v }; >x15 : T | (T & U) @@ -1162,36 +1162,36 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { let x16 = { ...t, ...w }; >x16 : T | (T & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >{ ...t, ...w } : T | (T & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >t : T > : ^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ let x17 = { ...t, ...w, ...obj }; >x17 : (T & { x: number; }) | (T & { x: number; s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >{ ...t, ...w, ...obj } : (T & { x: number; }) | (T & { x: number; s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >t : T > : ^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x18 = { ...t, ...v, ...w }; >x18 : T | (T & U) | (T & { s: string; }) | (T & U & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ >{ ...t, ...v, ...w } : T | (T & U) | (T & { s: string; }) | (T & U & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ >t : T > : ^ >v : T | U > : ^^^^^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/objectSpreadIndexSignature.types b/tests/baselines/reference/objectSpreadIndexSignature.types index 48f8d8567a848..037cdf90324e4 100644 --- a/tests/baselines/reference/objectSpreadIndexSignature.types +++ b/tests/baselines/reference/objectSpreadIndexSignature.types @@ -25,11 +25,11 @@ declare let indexed3: { [n: string]: number }; let i = { ...indexed1, b: 11 }; >i : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...indexed1, b: 11 } : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >indexed1 : { [n: string]: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : number > : ^^^^^^ >11 : 11 @@ -40,26 +40,26 @@ i[101]; >i[101] : any > : ^^^ >i : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >101 : 101 > : ^^^ let ii = { ...indexed1, ...indexed2 }; >ii : { [x: string]: number | boolean; c: boolean; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...indexed1, ...indexed2 } : { [x: string]: number | boolean; c: boolean; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >indexed1 : { [n: string]: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >indexed2 : { [n: string]: boolean; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ // both have indexer, so i[1001]: number | boolean ii[1001]; >ii[1001] : number | boolean > : ^^^^^^^^^^^^^^^^ >ii : { [x: string]: number | boolean; c: boolean; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >1001 : 1001 > : ^^^^ diff --git a/tests/baselines/reference/objectSpreadNegative.types b/tests/baselines/reference/objectSpreadNegative.types index 33f2e3d867e9e..75bdcf50aeb07 100644 --- a/tests/baselines/reference/objectSpreadNegative.types +++ b/tests/baselines/reference/objectSpreadNegative.types @@ -79,10 +79,10 @@ let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumbe > : ^^^^^^^^^^^^^^^ >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ // error, 'sn' is optional in source, required in target diff --git a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types index 0d75502309945..920ff914c2267 100644 --- a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types +++ b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types @@ -137,7 +137,7 @@ function parseWithSpread(config: Record): Props { >config.a.toString() : string > : ^^^^^^ >config.a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.a : number > : ^^^^^^ >config : Record @@ -145,7 +145,7 @@ function parseWithSpread(config: Record): Props { >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.b !== undefined && { b: config.b.toString() }, >config.b !== undefined && { b: config.b.toString() } : false | { b: string; } @@ -167,7 +167,7 @@ function parseWithSpread(config: Record): Props { >config.b.toString() : string > : ^^^^^^ >config.b.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.b : number > : ^^^^^^ >config : Record @@ -175,7 +175,7 @@ function parseWithSpread(config: Record): Props { >b : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.c !== undefined && { c: config.c.toString() }, >config.c !== undefined && { c: config.c.toString() } : false | { c: string; } @@ -197,7 +197,7 @@ function parseWithSpread(config: Record): Props { >config.c.toString() : string > : ^^^^^^ >config.c.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.c : number > : ^^^^^^ >config : Record @@ -205,7 +205,7 @@ function parseWithSpread(config: Record): Props { >c : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.d !== undefined && { d: config.d.toString() }, >config.d !== undefined && { d: config.d.toString() } : false | { d: string; } @@ -227,7 +227,7 @@ function parseWithSpread(config: Record): Props { >config.d.toString() : string > : ^^^^^^ >config.d.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.d : number > : ^^^^^^ >config : Record @@ -235,7 +235,7 @@ function parseWithSpread(config: Record): Props { >d : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.e !== undefined && { e: config.e.toString() }, >config.e !== undefined && { e: config.e.toString() } : false | { e: string; } @@ -257,7 +257,7 @@ function parseWithSpread(config: Record): Props { >config.e.toString() : string > : ^^^^^^ >config.e.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.e : number > : ^^^^^^ >config : Record @@ -265,7 +265,7 @@ function parseWithSpread(config: Record): Props { >e : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.f !== undefined && { f: config.f.toString() }, >config.f !== undefined && { f: config.f.toString() } : false | { f: string; } @@ -287,7 +287,7 @@ function parseWithSpread(config: Record): Props { >config.f.toString() : string > : ^^^^^^ >config.f.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.f : number > : ^^^^^^ >config : Record @@ -295,7 +295,7 @@ function parseWithSpread(config: Record): Props { >f : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.g !== undefined && { g: config.g.toString() }, >config.g !== undefined && { g: config.g.toString() } : false | { g: string; } @@ -317,7 +317,7 @@ function parseWithSpread(config: Record): Props { >config.g.toString() : string > : ^^^^^^ >config.g.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.g : number > : ^^^^^^ >config : Record @@ -325,7 +325,7 @@ function parseWithSpread(config: Record): Props { >g : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.h !== undefined && { h: config.h.toString() }, >config.h !== undefined && { h: config.h.toString() } : false | { h: string; } @@ -347,7 +347,7 @@ function parseWithSpread(config: Record): Props { >config.h.toString() : string > : ^^^^^^ >config.h.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.h : number > : ^^^^^^ >config : Record @@ -355,7 +355,7 @@ function parseWithSpread(config: Record): Props { >h : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.i !== undefined && { i: config.i.toString() }, >config.i !== undefined && { i: config.i.toString() } : false | { i: string; } @@ -377,7 +377,7 @@ function parseWithSpread(config: Record): Props { >config.i.toString() : string > : ^^^^^^ >config.i.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.i : number > : ^^^^^^ >config : Record @@ -385,7 +385,7 @@ function parseWithSpread(config: Record): Props { >i : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.j !== undefined && { j: config.j.toString() }, >config.j !== undefined && { j: config.j.toString() } : false | { j: string; } @@ -407,7 +407,7 @@ function parseWithSpread(config: Record): Props { >config.j.toString() : string > : ^^^^^^ >config.j.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.j : number > : ^^^^^^ >config : Record @@ -415,7 +415,7 @@ function parseWithSpread(config: Record): Props { >j : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.k !== undefined && { k: config.k.toString() }, >config.k !== undefined && { k: config.k.toString() } : false | { k: string; } @@ -437,7 +437,7 @@ function parseWithSpread(config: Record): Props { >config.k.toString() : string > : ^^^^^^ >config.k.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.k : number > : ^^^^^^ >config : Record @@ -445,7 +445,7 @@ function parseWithSpread(config: Record): Props { >k : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.l !== undefined && { l: config.l.toString() }, >config.l !== undefined && { l: config.l.toString() } : false | { l: string; } @@ -467,7 +467,7 @@ function parseWithSpread(config: Record): Props { >config.l.toString() : string > : ^^^^^^ >config.l.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.l : number > : ^^^^^^ >config : Record @@ -475,7 +475,7 @@ function parseWithSpread(config: Record): Props { >l : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.m !== undefined && { m: config.m.toString() }, >config.m !== undefined && { m: config.m.toString() } : false | { m: string; } @@ -497,7 +497,7 @@ function parseWithSpread(config: Record): Props { >config.m.toString() : string > : ^^^^^^ >config.m.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.m : number > : ^^^^^^ >config : Record @@ -505,7 +505,7 @@ function parseWithSpread(config: Record): Props { >m : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.n !== undefined && { n: config.n.toString() }, >config.n !== undefined && { n: config.n.toString() } : false | { n: string; } @@ -527,7 +527,7 @@ function parseWithSpread(config: Record): Props { >config.n.toString() : string > : ^^^^^^ >config.n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.n : number > : ^^^^^^ >config : Record @@ -535,7 +535,7 @@ function parseWithSpread(config: Record): Props { >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.o !== undefined && { o: config.o.toString() }, >config.o !== undefined && { o: config.o.toString() } : false | { o: string; } @@ -557,7 +557,7 @@ function parseWithSpread(config: Record): Props { >config.o.toString() : string > : ^^^^^^ >config.o.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.o : number > : ^^^^^^ >config : Record @@ -565,7 +565,7 @@ function parseWithSpread(config: Record): Props { >o : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.p !== undefined && { p: config.p.toString() }, >config.p !== undefined && { p: config.p.toString() } : false | { p: string; } @@ -587,7 +587,7 @@ function parseWithSpread(config: Record): Props { >config.p.toString() : string > : ^^^^^^ >config.p.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.p : number > : ^^^^^^ >config : Record @@ -595,7 +595,7 @@ function parseWithSpread(config: Record): Props { >p : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.q !== undefined && { q: config.q.toString() }, >config.q !== undefined && { q: config.q.toString() } : false | { q: string; } @@ -617,7 +617,7 @@ function parseWithSpread(config: Record): Props { >config.q.toString() : string > : ^^^^^^ >config.q.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.q : number > : ^^^^^^ >config : Record @@ -625,7 +625,7 @@ function parseWithSpread(config: Record): Props { >q : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.r !== undefined && { r: config.r.toString() }, >config.r !== undefined && { r: config.r.toString() } : false | { r: string; } @@ -647,7 +647,7 @@ function parseWithSpread(config: Record): Props { >config.r.toString() : string > : ^^^^^^ >config.r.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.r : number > : ^^^^^^ >config : Record @@ -655,7 +655,7 @@ function parseWithSpread(config: Record): Props { >r : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.s !== undefined && { s: config.s.toString() }, >config.s !== undefined && { s: config.s.toString() } : false | { s: string; } @@ -677,7 +677,7 @@ function parseWithSpread(config: Record): Props { >config.s.toString() : string > : ^^^^^^ >config.s.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.s : number > : ^^^^^^ >config : Record @@ -685,7 +685,7 @@ function parseWithSpread(config: Record): Props { >s : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.t !== undefined && { t: config.t.toString() }, >config.t !== undefined && { t: config.t.toString() } : false | { t: string; } @@ -707,7 +707,7 @@ function parseWithSpread(config: Record): Props { >config.t.toString() : string > : ^^^^^^ >config.t.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.t : number > : ^^^^^^ >config : Record @@ -715,7 +715,7 @@ function parseWithSpread(config: Record): Props { >t : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.u !== undefined && { u: config.u.toString() }, >config.u !== undefined && { u: config.u.toString() } : false | { u: string; } @@ -737,7 +737,7 @@ function parseWithSpread(config: Record): Props { >config.u.toString() : string > : ^^^^^^ >config.u.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.u : number > : ^^^^^^ >config : Record @@ -745,7 +745,7 @@ function parseWithSpread(config: Record): Props { >u : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.v !== undefined && { v: config.v.toString() }, >config.v !== undefined && { v: config.v.toString() } : false | { v: string; } @@ -767,7 +767,7 @@ function parseWithSpread(config: Record): Props { >config.v.toString() : string > : ^^^^^^ >config.v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.v : number > : ^^^^^^ >config : Record @@ -775,7 +775,7 @@ function parseWithSpread(config: Record): Props { >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.w !== undefined && { w: config.w.toString() }, >config.w !== undefined && { w: config.w.toString() } : false | { w: string; } @@ -797,7 +797,7 @@ function parseWithSpread(config: Record): Props { >config.w.toString() : string > : ^^^^^^ >config.w.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.w : number > : ^^^^^^ >config : Record @@ -805,7 +805,7 @@ function parseWithSpread(config: Record): Props { >w : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.x !== undefined && { x: config.x.toString() }, >config.x !== undefined && { x: config.x.toString() } : false | { x: string; } @@ -827,7 +827,7 @@ function parseWithSpread(config: Record): Props { >config.x.toString() : string > : ^^^^^^ >config.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.x : number > : ^^^^^^ >config : Record @@ -835,7 +835,7 @@ function parseWithSpread(config: Record): Props { >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.y !== undefined && { y: config.y.toString() }, >config.y !== undefined && { y: config.y.toString() } : false | { y: string; } @@ -857,7 +857,7 @@ function parseWithSpread(config: Record): Props { >config.y.toString() : string > : ^^^^^^ >config.y.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.y : number > : ^^^^^^ >config : Record @@ -865,7 +865,7 @@ function parseWithSpread(config: Record): Props { >y : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.z !== undefined && { z: config.z.toString() } >config.z !== undefined && { z: config.z.toString() } : false | { z: string; } @@ -887,7 +887,7 @@ function parseWithSpread(config: Record): Props { >config.z.toString() : string > : ^^^^^^ >config.z.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.z : number > : ^^^^^^ >config : Record @@ -895,7 +895,7 @@ function parseWithSpread(config: Record): Props { >z : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -903,7 +903,7 @@ parseWithSpread({ a: 1, b: 2, z: 26 }) >parseWithSpread({ a: 1, b: 2, z: 26 }) : Props > : ^^^^^ >parseWithSpread : (config: Record) => Props -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2, z: 26 } : { a: number; b: number; z: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/objectSpreadStrictNull.types b/tests/baselines/reference/objectSpreadStrictNull.types index acafb5bb04e19..b8d6a1cbeb5e7 100644 --- a/tests/baselines/reference/objectSpreadStrictNull.types +++ b/tests/baselines/reference/objectSpreadStrictNull.types @@ -50,11 +50,11 @@ function f( >{ ...definiteBoolean, ...definiteString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber }; >optionalUnionDuplicates : { sn: string | number; } @@ -64,13 +64,13 @@ function f( >{ ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; >allOptional : { sn?: string | number; } @@ -79,10 +79,10 @@ function f( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ // undefined let undefinedUnionStops: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...undefinedNumber }; @@ -91,13 +91,13 @@ function f( >sn : string | number > : ^^^^^^^^^^^^^^^ >{ ...definiteBoolean, ...definiteString, ...undefinedNumber } : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedNumber : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let undefinedUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...undefinedString, ...undefinedNumber }; >undefinedUnionDuplicates : { sn: string | number; } @@ -105,15 +105,15 @@ function f( >sn : string | number > : ^^^^^^^^^^^^^^^ >{ ...definiteBoolean, ...definiteString, ...undefinedString, ...undefinedNumber } : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedString : { sn: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedNumber : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let allUndefined: { sn: string | number | undefined } = { ...undefinedString, ...undefinedNumber }; >allUndefined : { sn: string | number | undefined; } @@ -121,11 +121,11 @@ function f( >sn : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...undefinedString, ...undefinedNumber } : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedString : { sn: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedNumber : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let undefinedWithOptionalContinues: { sn: string | number | boolean } = { ...definiteBoolean, ...undefinedString, ...optionalNumber }; >undefinedWithOptionalContinues : { sn: string | number | boolean; } @@ -135,11 +135,11 @@ function f( >{ ...definiteBoolean, ...undefinedString, ...optionalNumber } : { sn: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedString : { sn: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ } type Movie = { @@ -213,11 +213,11 @@ function g(fields: Fields, partialFields: Partial, nearlyPartialFields: // ok, undefined is stripped from optional properties when spread fields = { ...fields, ...partialFields }; >fields = { ...fields, ...partialFields } : { foo: number; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >{ ...fields, ...partialFields } : { foo: number; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >partialFields : Partial @@ -226,11 +226,11 @@ function g(fields: Fields, partialFields: Partial, nearlyPartialFields: // error: not optional, undefined remains fields = { ...fields, ...nearlyPartialFields }; >fields = { ...fields, ...nearlyPartialFields } : { foo: number | undefined; bar: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >{ ...fields, ...nearlyPartialFields } : { foo: number | undefined; bar: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >nearlyPartialFields : NearlyPartialFields diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types index 316299db5fb80..817c5b6620625 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types @@ -123,11 +123,11 @@ var r2: void = i.valueOf(); >i.valueOf() : void > : ^^^^ >i.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r2b: B = i.data; >r2b : B @@ -245,9 +245,9 @@ var r4: void = b.valueOf(); >b.valueOf() : void > : ^^^^ >b.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : { [x: string]: any; valueOf(): void; data: B; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObject.types b/tests/baselines/reference/objectTypeHidingMembersOfObject.types index f9d0c31c3856c..68986806ff8f3 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObject.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfObject.types @@ -44,11 +44,11 @@ var r2: void = i.valueOf(); >i.valueOf() : void > : ^^^^ >i.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var a = { >a : { valueOf: () => void; } @@ -90,9 +90,9 @@ var r4: void = b.valueOf(); >b.valueOf() : void > : ^^^^ >b.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : { valueOf(): void; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/objectTypePropertyAccess.types b/tests/baselines/reference/objectTypePropertyAccess.types index 7a1dade40bf16..a7f5a403ce761 100644 --- a/tests/baselines/reference/objectTypePropertyAccess.types +++ b/tests/baselines/reference/objectTypePropertyAccess.types @@ -21,11 +21,11 @@ var r1 = c.toString(); >c.toString() : string > : ^^^^^^ >c.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2 = c['toString'](); >r2 : string @@ -33,7 +33,7 @@ var r2 = c['toString'](); >c['toString']() : string > : ^^^^^^ >c['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >'toString' : "toString" @@ -74,11 +74,11 @@ var r4 = i.toString(); >i.toString() : string > : ^^^^^^ >i.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r5 = i['toString'](); >r5 : string @@ -86,7 +86,7 @@ var r5 = i['toString'](); >i['toString']() : string > : ^^^^^^ >i['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >'toString' : "toString" @@ -131,11 +131,11 @@ var r8 = a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : { foo: string; } > : ^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r9 = a['toString'](); >r9 : string @@ -143,7 +143,7 @@ var r9 = a['toString'](); >a['toString']() : string > : ^^^^^^ >a['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : { foo: string; } > : ^^^^^^^^^^^^^^^^ >'toString' : "toString" diff --git a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types index d6b96f600f822..eb392542f2549 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types @@ -26,11 +26,11 @@ var r2b: (x: any, y?: any) => any = i.apply; >x : any >y : any >i.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ var b: { >b : () => void @@ -45,7 +45,7 @@ var r4: void = b(); >b() : void > : ^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var rb4: (x: any, y?: any) => any = b.apply; >rb4 : (x: any, y?: any) => any @@ -53,9 +53,9 @@ var rb4: (x: any, y?: any) => any = b.apply; >x : any >y : any >b.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types index 2e38d61a2492e..4f0e22af53940 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types @@ -41,11 +41,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -55,11 +55,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -113,11 +113,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -127,17 +127,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ @@ -147,7 +147,7 @@ var r2d = x.data; >x.data : number > : ^^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >data : number > : ^^^^^^ @@ -155,7 +155,7 @@ var r2e = x['hm']; // should be Object >r2e : error >x['hm'] : error >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types index 025e55b275d61..92a0418827371 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types @@ -31,11 +31,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -45,11 +45,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -85,11 +85,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -99,17 +99,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types index 72c1dbe45c078..48208f8f41aeb 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types @@ -37,17 +37,17 @@ var a: { } f = a; >f = a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ a = f; >a = f : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f : Object > : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types index 432368d987b25..9526daf2cd7a0 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types @@ -35,11 +35,11 @@ var r2c: (x: any, y?: any) => any = i.apply; >y : any > : ^^^ >i.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ var b: { >b : new () => number @@ -54,7 +54,7 @@ var r4: number = b(); >b() : any > : ^^^ >b : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b: number = new b(); >r4b : number @@ -62,7 +62,7 @@ var r4b: number = new b(); >new b() : number > : ^^^^^^ >b : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4c: (x: any, y?: any) => any = b.apply; >r4c : (x: any, y?: any) => any @@ -72,9 +72,9 @@ var r4c: (x: any, y?: any) => any = b.apply; >y : any > : ^^^ >b.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >b : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types index 37fb5e33f03ee..e2afe0291538d 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types @@ -38,11 +38,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -52,11 +52,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -110,11 +110,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -124,17 +124,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ @@ -144,7 +144,7 @@ var r2d = x.data; >x.data : number > : ^^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >data : number > : ^^^^^^ @@ -152,7 +152,7 @@ var r2e = x['hm']; // should be Object >r2e : error >x['hm'] : error >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types index 5aa608309505c..dba1f49ab3c48 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types @@ -28,11 +28,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -42,11 +42,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -82,11 +82,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -96,17 +96,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types index e6e3159dcb971..534338085cce2 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types @@ -37,17 +37,17 @@ var a: { } f = a; >f = a : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f : Object > : ^^^^^^ >a : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a = f; >a = f : Object > : ^^^^^^ >a : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f : Object > : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithNumericProperty.types b/tests/baselines/reference/objectTypeWithNumericProperty.types index c6486b23e8471..7cee8ae075481 100644 --- a/tests/baselines/reference/objectTypeWithNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithNumericProperty.types @@ -133,7 +133,7 @@ var r1 = a[1]; >a[1] : number > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -143,7 +143,7 @@ var r2 = a[1.1]; >a[1.1] : string > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >1.1 : 1.1 > : ^^^ @@ -153,7 +153,7 @@ var r3 = a['1']; >a['1'] : number > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -163,7 +163,7 @@ var r4 = a['1.1']; >a['1.1'] : string > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >'1.1' : "1.1" > : ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types index 79476a30ee9f1..6f9d98b105d7c 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types @@ -97,7 +97,7 @@ var r4: string = o2['']; >o2[''] : string > : ^^^^^^ >o2 : { [x: string]: string; baz: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types index 1a1ebe739b07e..653fb50d33f09 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types @@ -485,7 +485,7 @@ var r1 = a['0.1']; >a['0.1'] : void > : ^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'0.1' : "0.1" > : ^^^^^ @@ -495,7 +495,7 @@ var r2 = a['.1']; >a['.1'] : Object > : ^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'.1' : ".1" > : ^^^^ @@ -505,7 +505,7 @@ var r3 = a['1']; >a['1'] : number > : ^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -525,7 +525,7 @@ var r4 = a['1.']; >a['1.'] : string > : ^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1.' : "1." > : ^^^^ @@ -545,7 +545,7 @@ var r5 = a['1..']; >a['1..'] : boolean > : ^^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1..' : "1.." > : ^^^^^ @@ -555,7 +555,7 @@ var r6 = a['1.0']; >a['1.0'] : Date > : ^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1.0' : "1.0" > : ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types index c3e037a350c4e..0c24f0f5b9da6 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types +++ b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types @@ -150,7 +150,7 @@ var r = a[" "]; >a[" "] : number > : ^^^^^^ >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >" " : " " > : ^^^^^ @@ -158,7 +158,7 @@ var r2 = a[" "]; >r2 : error >a[" "] : error >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >" " : " " > : ^^^^^^ @@ -168,7 +168,7 @@ var r3 = a["a b"]; >a["a b"] : string > : ^^^^^^ >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"a b" : "a b" > : ^^^^^^^ @@ -179,7 +179,7 @@ var r4 = a["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >a["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number > : ^^^^^^ >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectTypesIdentity.types b/tests/baselines/reference/objectTypesIdentity.types index ae71d8e9ff560..1e95c086a00fd 100644 --- a/tests/baselines/reference/objectTypesIdentity.types +++ b/tests/baselines/reference/objectTypesIdentity.types @@ -124,17 +124,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -223,9 +223,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -276,9 +276,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -331,9 +331,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentity2.types b/tests/baselines/reference/objectTypesIdentity2.types index c083e0f3eb5ba..e4c6f7840c411 100644 --- a/tests/baselines/reference/objectTypesIdentity2.types +++ b/tests/baselines/reference/objectTypesIdentity2.types @@ -123,9 +123,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -176,9 +176,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -231,9 +231,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types index 7c3ac4b5efb66..1abd6acc7b51b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types index b3286c2f475b0..f1f800cd33dd5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types index 3a2547539b037..e5b849c6a2add 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types @@ -43,17 +43,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -93,9 +93,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -125,9 +125,9 @@ function foo14b(x: typeof a); >foo14b : { (x: typeof a): any; (x: I2): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo14b(x: I2); // error >foo14b : { (x: typeof a): any; (x: I2): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types index 4496ce4c405cf..0f170f8a747ff 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types @@ -150,17 +150,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -249,9 +249,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -302,9 +302,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -374,9 +374,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types index 4a7c1aed6425d..b7c3b93da993a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types @@ -44,17 +44,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -105,9 +105,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -135,9 +135,9 @@ function foo14b(x: typeof a); >foo14b : { (x: typeof a): any; (x: I2): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo14b(x: I2); // ok >foo14b : { (x: typeof a): any; (x: I2): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types index 5d4e84e2233a6..fdbf09c883385 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types @@ -9,19 +9,19 @@ class A { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { return null; } >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } @@ -31,19 +31,19 @@ class B { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { return null; } >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } @@ -53,38 +53,38 @@ class C { foo(x: number): number; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: T): T; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ foo(x: any): any { return null; } >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } interface I { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -92,19 +92,19 @@ interface I { interface I2 { foo(x: number): number; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: T): T; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ } @@ -115,13 +115,13 @@ var a: { foo(x: number): number >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -214,17 +214,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -313,9 +313,9 @@ function foo7(x: typeof a); // BUG 831930 >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -366,9 +366,9 @@ function foo10(x: typeof a); // BUG 831930 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -438,9 +438,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types index 9907595199db1..4d282106da4bc 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -188,9 +188,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -260,9 +260,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types index 8d269e784ecfe..0f52eec54300d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types @@ -112,17 +112,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -194,9 +194,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -266,9 +266,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types index a635720f818a6..9f43223125e0b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types index b19beec24edcd..d84b7b6bb6f41 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types @@ -158,17 +158,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -257,9 +257,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -310,9 +310,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -382,9 +382,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types index f8bca6d4b02de..489f22cbb212f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types @@ -146,17 +146,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -245,9 +245,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -298,9 +298,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B>): any; (x: typeof a): any; } @@ -370,9 +370,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types index a39ec444f912f..0ea25a22ec46c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types @@ -173,17 +173,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -306,9 +306,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -359,9 +359,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B, Array>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B, Array>): any; (x: typeof a): any; } @@ -431,9 +431,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo>(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types index 34794f5feff9b..65dfe33f02c85 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types @@ -200,17 +200,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -333,9 +333,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -386,9 +386,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -458,9 +458,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I, Five>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I, Five>): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types index c059fb7091f00..1e8801a8736e9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types index 173c71a68574c..50060d43f8764 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types index cfc970e4c8621..91dc91f65f955 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types index 65bcdccb364f9..79435f5bab00d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types @@ -60,17 +60,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -87,9 +87,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -117,9 +117,9 @@ function foo14b(x: typeof a); >foo14b : { (x: typeof a): any; (x: I2): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo14b(x: I2); // ok >foo14b : { (x: typeof a): any; (x: I2): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types index efe8256b66397..76953ef17532e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types index d1055d88fdf44..d8acad80861c5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types @@ -160,17 +160,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -259,9 +259,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -312,9 +312,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -384,9 +384,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types index b5e5131110093..ee5fb26e6fb7a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types @@ -160,17 +160,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -259,9 +259,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -312,9 +312,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -384,9 +384,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types index 51d3644c98cbe..9cbc59835c1bf 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types @@ -160,17 +160,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -259,9 +259,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -312,9 +312,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -384,9 +384,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types index 7f1d9d8573632..c41b39fc503f4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types @@ -108,17 +108,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -190,9 +190,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B>): any; (x: typeof a): any; } @@ -262,9 +262,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new >(x: T) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types index a157180721c4e..25f8c46e34ce6 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types @@ -131,17 +131,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -247,9 +247,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B, Array>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B, Array>): any; (x: typeof a): any; } @@ -319,9 +319,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new >(x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types index 1c12c76f035fd..07fd3ba9aee1a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types @@ -158,17 +158,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -274,9 +274,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -346,9 +346,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I, Five>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I, Five>): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types index 22fb98f4be53b..aadd4f64bf845 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -127,17 +127,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -146,23 +146,23 @@ function foo4(x: any) { } function foo5(x: typeof a): number; >foo5 : { (x: typeof a): number; (x: typeof b): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo5(x: typeof b): string; // ok >foo5 : { (x: typeof a): number; (x: typeof b): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo5(x: any): any { } >foo5 : { (x: typeof a): number; (x: typeof b): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any function foo8(x: B); @@ -209,9 +209,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -228,9 +228,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo11(x: any) { } >foo11 : { (x: B): any; (x: typeof b): any; } @@ -281,9 +281,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -300,9 +300,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types index b4224f06d8ef4..dc49f95cc0366 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -188,9 +188,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -260,9 +260,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types index 40f78de04a497..f77d9219b6576 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -188,9 +188,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -260,9 +260,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types index 1c670e8ae631b..8ba9abd909cb1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types @@ -110,17 +110,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -192,9 +192,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -264,9 +264,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types index a252ed87b94d4..464f0e5e0ab21 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types @@ -126,17 +126,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -166,19 +166,19 @@ function foo4(x: any) { } function foo8(x: B): string; >foo8 : { (x: B): string; (x: I): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : B > : ^^^^^^^^^ function foo8(x: I): number; // BUG 832086 >foo8 : { (x: B): string; (x: I): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : I > : ^^^^^^^^^ function foo8(x: any): any { } >foo8 : { (x: B): string; (x: I): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any function foo9(x: B); @@ -208,9 +208,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -280,9 +280,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types index 1161cefbdc7e0..8caccc6bcb748 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types @@ -126,17 +126,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -208,9 +208,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -280,9 +280,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types index b542cb69981b7..422ea196d3f9e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types @@ -126,17 +126,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -208,9 +208,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -280,9 +280,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithOptionality.types b/tests/baselines/reference/objectTypesIdentityWithOptionality.types index 2ded39592446f..cbb26835f0711 100644 --- a/tests/baselines/reference/objectTypesIdentityWithOptionality.types +++ b/tests/baselines/reference/objectTypesIdentityWithOptionality.types @@ -73,17 +73,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -117,9 +117,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -153,9 +153,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -189,9 +189,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates.types b/tests/baselines/reference/objectTypesIdentityWithPrivates.types index 4e3a0d8795793..0d1066431e584 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates.types +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates.types @@ -138,17 +138,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -271,9 +271,9 @@ function foo7(x: typeof a); // no error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -324,9 +324,9 @@ function foo10(x: typeof a); // no error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -413,9 +413,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates2.types b/tests/baselines/reference/objectTypesIdentityWithPrivates2.types index 0669828ed7f79..1f7cb5296efe5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates2.types +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates2.types @@ -72,19 +72,19 @@ function foo3(x: any) { } function foo4(x: C): number; >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : C > : ^^^^^^^^^ function foo4(x: D): string; // BUG 831926 >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : D > : ^^^^^^^^^ function foo4(x: any): any { } >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r = foo4(new C()); @@ -93,7 +93,7 @@ var r = foo4(new C()); >foo4(new C()) : number > : ^^^^^^ >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C() : C > : ^^^^^^^^^ >C : typeof C @@ -105,7 +105,7 @@ var r = foo4(new D()); >foo4(new D()) : number > : ^^^^^^ >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new D() : D > : ^^^^^^^^^ >D : typeof D @@ -113,36 +113,36 @@ var r = foo4(new D()); function foo5(x: C): number; >foo5 : { (x: C): number; (x: C): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : C > : ^^^^^^^^^ function foo5(x: C): string; // error >foo5 : { (x: C): number; (x: C): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : C > : ^^^^^^^^^ function foo5(x: any): any { } >foo5 : { (x: C): number; (x: C): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any function foo6(x: D): number; >foo6 : { (x: D): number; (x: D): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : D > : ^^^^^^^^^ function foo6(x: D): string; // error >foo6 : { (x: D): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : D > : ^^^^^^^^^ function foo6(x: any): any { } >foo6 : { (x: D): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithPublics.types b/tests/baselines/reference/objectTypesIdentityWithPublics.types index e4f415ca4bdb6..8bc0a61cd3b8e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPublics.types +++ b/tests/baselines/reference/objectTypesIdentityWithPublics.types @@ -124,17 +124,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -223,9 +223,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -276,9 +276,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -331,9 +331,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/observableInferenceCanBeMade.types b/tests/baselines/reference/observableInferenceCanBeMade.types index 54e02118752fc..55cb97f5290fd 100644 --- a/tests/baselines/reference/observableInferenceCanBeMade.types +++ b/tests/baselines/reference/observableInferenceCanBeMade.types @@ -76,13 +76,13 @@ function asObservable(input: string | ObservableInput): Observableof(input) : Observable > : ^^^^^^^^^^^^^^^^^^ >of : (a: T) => Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >input : string > : ^^^^^^ >from(input) : Observable > : ^^^^^^^^^^^^^^^^^^ >from : >(input: O) => Observable> -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >input : ObservableInput > : ^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/operationsAvailableOnPromisedType.types b/tests/baselines/reference/operationsAvailableOnPromisedType.types index 8564fcc967411..22b5172995832 100644 --- a/tests/baselines/reference/operationsAvailableOnPromisedType.types +++ b/tests/baselines/reference/operationsAvailableOnPromisedType.types @@ -115,19 +115,19 @@ async function fn( >c : Promise > : ^^^^^^^^^^^^^^^^^ >d : Promise<{ prop: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >e : Promise<() => void> -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >f : Promise<() => void> | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >g : Promise any> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^ d.prop; >d.prop : any > : ^^^ >d : Promise<{ prop: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >prop : any > : ^^^ } @@ -141,19 +141,19 @@ async function fn( >e() : any > : ^^^ >e : Promise<() => void> -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ f(); >f() : any > : ^^^ >f : Promise<() => void> | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ new g(); >new g() : any > : ^^^ >g : Promise any> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^ b(); >b() : any diff --git a/tests/baselines/reference/operatorsAndIntersectionTypes.types b/tests/baselines/reference/operatorsAndIntersectionTypes.types index 235d18be03d39..aa72d3577368f 100644 --- a/tests/baselines/reference/operatorsAndIntersectionTypes.types +++ b/tests/baselines/reference/operatorsAndIntersectionTypes.types @@ -109,11 +109,11 @@ const s2 = guid.toLowerCase(); >guid.toLowerCase() : string > : ^^^^^^ >guid.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >guid : Guid > : ^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const s3 = guid + guid; >s3 : string @@ -141,11 +141,11 @@ const s5 = serialNo.toPrecision(0); >serialNo.toPrecision(0) : string > : ^^^^^^ >serialNo.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >serialNo : SerialNo > : ^^^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/optionalAccessorsInInterface1.types b/tests/baselines/reference/optionalAccessorsInInterface1.types index 9fd71d29fb174..dfbf4a49512b5 100644 --- a/tests/baselines/reference/optionalAccessorsInInterface1.types +++ b/tests/baselines/reference/optionalAccessorsInInterface1.types @@ -24,7 +24,7 @@ declare function defineMyProperty(o: any, p: string, attributes: MyPropertyDescr defineMyProperty({}, "name", { get: function () { return 5; } }); >defineMyProperty({}, "name", { get: function () { return 5; } }) : any >defineMyProperty : (o: any, p: string, attributes: MyPropertyDescriptor) => any -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >"name" : "name" @@ -61,7 +61,7 @@ declare function defineMyProperty2(o: any, p: string, attributes: MyPropertyDesc defineMyProperty2({}, "name", { get: function () { return 5; } }); >defineMyProperty2({}, "name", { get: function () { return 5; } }) : any >defineMyProperty2 : (o: any, p: string, attributes: MyPropertyDescriptor2) => any -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >"name" : "name" diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types index 5981f0b14cdd1..fa3e0eb221a9f 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types @@ -33,7 +33,7 @@ a?.b.d; >a?.b.d : number > : ^^^^^^ >a?.b : { new (x: unknown): A.b; prototype: A.b; d: number; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a?.b : typeof A.b > : ^^^^^^^^^^ >a : typeof A diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types index 5981f0b14cdd1..fa3e0eb221a9f 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types @@ -33,7 +33,7 @@ a?.b.d; >a?.b.d : number > : ^^^^^^ >a?.b : { new (x: unknown): A.b; prototype: A.b; d: number; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a?.b : typeof A.b > : ^^^^^^^^^^ >a : typeof A diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types index e801b99d373f8..e50112b2e5a77 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types @@ -27,7 +27,7 @@ a?.(); >a?.() : "b type" > : ^^^^^^^^ >a : { (): "b type"; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ >a : A > : ^ diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types index e801b99d373f8..e50112b2e5a77 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types @@ -27,7 +27,7 @@ a?.(); >a?.() : "b type" > : ^^^^^^^^ >a : { (): "b type"; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ >a : A > : ^ diff --git a/tests/baselines/reference/optionalChainingInference.types b/tests/baselines/reference/optionalChainingInference.types index 9087927f9e5fa..ad8f1ca5f155b 100644 --- a/tests/baselines/reference/optionalChainingInference.types +++ b/tests/baselines/reference/optionalChainingInference.types @@ -50,7 +50,7 @@ const v1: number = unbox(b1); >unbox(b1) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b1 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -76,7 +76,7 @@ const v2: number = unbox(b2); >unbox(b2) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : { value: number | undefined; } > : ^^^^^^^^^ ^^^ @@ -102,9 +102,9 @@ const v3: number = unbox(b3); >unbox(b3) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ ->b3 : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b3 : { value: number | undefined; } +> : ^^^^^^^^^ ^^^ const b4 = { value: fnu?.() }; >b4 : { value: number; } @@ -116,7 +116,7 @@ const b4 = { value: fnu?.() }; >fnu?.() : number > : ^^^^^^ >fnu : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const v4: number = unbox(b4); >v4 : number @@ -124,7 +124,7 @@ const v4: number = unbox(b4); >unbox(b4) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b4 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -148,7 +148,7 @@ const v5: number = unbox(b5); >unbox(b5) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b5 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -164,7 +164,7 @@ const b6 = { value: osu?.prop.length }; >osu?.prop : string > : ^^^^^^ >osu : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >length : number @@ -176,7 +176,7 @@ const v6: number = unbox(b6); >unbox(b6) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b6 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -192,7 +192,7 @@ const b7 = { value: osu?.prop["length"] }; >osu?.prop : string > : ^^^^^^ >osu : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >"length" : "length" @@ -204,7 +204,7 @@ const v7: number = unbox(b7); >unbox(b7) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b7 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -218,11 +218,11 @@ const b8 = { value: ofnu?.prop() }; >ofnu?.prop() : number > : ^^^^^^ >ofnu?.prop : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >ofnu : { prop: () => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const v8: number = unbox(b8); >v8 : number @@ -230,7 +230,7 @@ const v8: number = unbox(b8); >unbox(b8) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b8 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/optionalFunctionArgAssignability.types b/tests/baselines/reference/optionalFunctionArgAssignability.types index b382e6902af6e..c7190317bdae9 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.types +++ b/tests/baselines/reference/optionalFunctionArgAssignability.types @@ -4,7 +4,7 @@ interface Promise { then(onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfill : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -49,9 +49,9 @@ var b = function then(onFulFill?: (value: number) => U, onReject?: (reason: a a = b; // error because number is not assignable to string >a = b : (onFulFill?: (value: number) => U, onReject?: (reason: any) => U) => Promise -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : (onFulfill?: (value: string) => U, onReject?: (reason: any) => U) => Promise -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : (onFulFill?: (value: number) => U, onReject?: (reason: any) => U) => Promise -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/optionalMethods.types b/tests/baselines/reference/optionalMethods.types index 95a771df1bf8e..7230b9e6cfb01 100644 --- a/tests/baselines/reference/optionalMethods.types +++ b/tests/baselines/reference/optionalMethods.types @@ -43,19 +43,19 @@ function test1(x: Foo) { x.f; >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.g; >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Foo > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ let f1 = x.f(); >f1 : number @@ -63,11 +63,11 @@ function test1(x: Foo) { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let g1 = x.g && x.g(); >g1 : number | undefined @@ -75,19 +75,19 @@ function test1(x: Foo) { >x.g && x.g() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Foo > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let g2 = x.g ? x.g() : 0; >g2 : number @@ -95,19 +95,19 @@ function test1(x: Foo) { >x.g ? x.g() : 0 : number > : ^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Foo > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ } @@ -216,11 +216,11 @@ function test2(x: Bar) { x.g; >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Bar > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ let f1 = x.f(); >f1 : number @@ -240,19 +240,19 @@ function test2(x: Bar) { >x.g && x.g() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Bar > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Bar > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let g2 = x.g ? x.g() : 0; >g2 : number @@ -260,19 +260,19 @@ function test2(x: Bar) { >x.g ? x.g() : 0 : number > : ^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Bar > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Bar > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/optionalParamArgsTest.types b/tests/baselines/reference/optionalParamArgsTest.types index 75669edf7bc31..389e09f6a8d8d 100644 --- a/tests/baselines/reference/optionalParamArgsTest.types +++ b/tests/baselines/reference/optionalParamArgsTest.types @@ -331,11 +331,11 @@ i1o1.C1M2(1); >i1o1.C1M2(1) : number > : ^^^^^^ >i1o1.C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -378,11 +378,11 @@ i1o1.C1M3(1,2); >i1o1.C1M3(1,2) : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -431,11 +431,11 @@ i1o1.C1M4(1,2); >i1o1.C1M4(1,2) : number > : ^^^^^^ >i1o1.C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -482,11 +482,11 @@ i1o1.C1M3(1); >i1o1.C1M3(1) : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -525,11 +525,11 @@ i1o1.C1M3(); >i1o1.C1M3() : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ var f3v3=F3(); >f3v3 : number @@ -564,11 +564,11 @@ i1o1.C1M4(1); >i1o1.C1M4(1) : number > : ^^^^^^ >i1o1.C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -609,11 +609,11 @@ i1o1.C1M1(1); >i1o1.C1M1(1) : number > : ^^^^^^ >i1o1.C1M1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i1o1 : I1 > : ^^ >C1M1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -647,11 +647,11 @@ i1o1.C1M2(); >i1o1.C1M2() : number > : ^^^^^^ >i1o1.C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ F2(); >F2() : number @@ -683,11 +683,11 @@ i1o1.C1M2(1,2); >i1o1.C1M2(1,2) : number > : ^^^^^^ >i1o1.C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -733,11 +733,11 @@ i1o1.C1M3(1,2,3); >i1o1.C1M3(1,2,3) : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -783,11 +783,11 @@ i1o1.C1M4(); >i1o1.C1M4() : number > : ^^^^^^ >i1o1.C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ F4(); >F4() : number @@ -833,7 +833,7 @@ fnOpt1(1, [2, 3], [1], true); >fnOpt1(1, [2, 3], [1], true) : void > : ^^^^ >fnOpt1 : (id: number, children?: number[], expectedPath?: number[], isRoot?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >[2, 3] : number[] @@ -853,7 +853,7 @@ fnOpt2(1, [2, 3], [1], true); >fnOpt2(1, [2, 3], [1], true) : void > : ^^^^ >fnOpt2 : (id: number, children?: number[], expectedPath?: number[], isRoot?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >[2, 3] : number[] diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.types b/tests/baselines/reference/optionalParamAssignmentCompat.types index de017ff15f4ed..3cebb1e292b27 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.types +++ b/tests/baselines/reference/optionalParamAssignmentCompat.types @@ -37,9 +37,9 @@ var d: I1 = i2.m1; // should error >d : I1 > : ^^ >i2.m1 : (p1?: string) => I1 -> : ^ ^^^ ^^^^^^^ +> : ^ ^^^ ^^^^^ >i2 : I2 > : ^^ >m1 : (p1?: string) => I1 -> : ^ ^^^ ^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/optionalParamTypeComparison.types b/tests/baselines/reference/optionalParamTypeComparison.types index 378fea242caa9..3ced38ac55666 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.types +++ b/tests/baselines/reference/optionalParamTypeComparison.types @@ -19,17 +19,17 @@ var g: (s: string, b?: boolean) => void; f = g; >f = g : (s: string, b?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >f : (s: string, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >g : (s: string, b?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ g = f; >g = f : (s: string, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >g : (s: string, b?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >f : (s: string, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types index 21c75f05fcefe..e4aa613f53756 100644 --- a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types +++ b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types @@ -37,7 +37,7 @@ function func1( {a, b}: {a: number, b?: number} = {a: 1, b: 2} ) { >f(a, b) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number | undefined @@ -74,7 +74,7 @@ function func2( {a, b = 3}: {a: number, b?:number} = {a: 1,b: 2} ) { >f(a, b) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number @@ -105,7 +105,7 @@ function func3( {a, b}: {a: number, b?: number} = {a: 1} ) { >f(a,b) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number | undefined @@ -156,7 +156,7 @@ function func4( {a: {b, c}, d}: {a: {b: number,c?: number},d: number} = {a: {b: >f(b,c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number | undefined @@ -209,7 +209,7 @@ function func5({a: {b, c = 4}, d}: {a: {b: number,c?: number},d: number} = {a: { >f(b, c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number @@ -270,7 +270,7 @@ function func6( {a: {b, c} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, d: n >f(b, c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number | undefined @@ -333,7 +333,7 @@ function func7( {a: {b, c = 6} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, >f(b, c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number @@ -360,7 +360,7 @@ function performFoo({ bar }: Foo = {}) { >useBar(bar) : void > : ^^^^ >useBar : (bar: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : number | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -389,7 +389,7 @@ function performFoo2({ bar = null }: Foo = {}) { >useBar2(bar) : void > : ^^^^ >useBar2 : (bar: number | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : number > : ^^^^^^ } diff --git a/tests/baselines/reference/optionalPropertiesSyntax.types b/tests/baselines/reference/optionalPropertiesSyntax.types index bd52ca2bd6dc1..d78e65b22061b 100644 --- a/tests/baselines/reference/optionalPropertiesSyntax.types +++ b/tests/baselines/reference/optionalPropertiesSyntax.types @@ -5,11 +5,11 @@ interface fnSigs { //functions signatures can be optional fn(): void; >fn : { (): void; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ fn?(): void; //err >fn : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ fn2?(): void; >fn2 : () => void diff --git a/tests/baselines/reference/optionalPropertiesTest.types b/tests/baselines/reference/optionalPropertiesTest.types index 229bf5d043a30..4a907bb1ca1a4 100644 --- a/tests/baselines/reference/optionalPropertiesTest.types +++ b/tests/baselines/reference/optionalPropertiesTest.types @@ -105,21 +105,21 @@ if (foo.print !== undefined) foo.print(); >foo.print !== undefined : boolean > : ^^^^^^^ >foo.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >foo : IFoo > : ^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ >foo.print() : void > : ^^^^ >foo.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >foo : IFoo > : ^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ interface i1 { M: () => void; }; >M : () => void diff --git a/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types b/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types index fa197257ed75c..96932c8384642 100644 --- a/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types +++ b/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types @@ -20,20 +20,20 @@ declare let stringDictionary: { [key: string]: string }; > : ^^^^^^ stringDictionary = optionalProperties; // ok ->stringDictionary = optionalProperties : { k1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>stringDictionary = optionalProperties : { k1?: string; } +> : ^^^^^^^ ^^^ >stringDictionary : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalProperties : { k1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalProperties : { k1?: string; } +> : ^^^^^^^ ^^^ stringDictionary = undefinedProperties; // error >stringDictionary = undefinedProperties : { k1: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >stringDictionary : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedProperties : { k1: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ declare let probablyArray: { [key: number]: string }; >probablyArray : { [key: number]: string; } @@ -48,12 +48,12 @@ declare let numberLiteralKeys: { 1?: string }; > : ^^^^^^^^^^^^^^^^^^ probablyArray = numberLiteralKeys; // error ->probablyArray = numberLiteralKeys : { 1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>probablyArray = numberLiteralKeys : { 1?: string; } +> : ^^^^^^ ^^^ >probablyArray : { [key: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->numberLiteralKeys : { 1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>numberLiteralKeys : { 1?: string; } +> : ^^^^^^ ^^^ declare let optionalUndefined: { k1?: undefined }; >optionalUndefined : { k1?: undefined; } @@ -67,7 +67,7 @@ let dict: { [key: string]: string } = optionalUndefined; // error >key : string > : ^^^^^^ >optionalUndefined : { k1?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function f() { >f : () => void @@ -88,7 +88,7 @@ function f() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : string > : ^^^^^^ ->optional : { k1?: T | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>optional : { k1?: T; } +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/overEagerReturnTypeSpecialization.types b/tests/baselines/reference/overEagerReturnTypeSpecialization.types index e844655b550de..ed68d1089007c 100644 --- a/tests/baselines/reference/overEagerReturnTypeSpecialization.types +++ b/tests/baselines/reference/overEagerReturnTypeSpecialization.types @@ -23,15 +23,15 @@ var r1: I1 = v1.func(num => num.toString()) // Correctly returns an I1v1.func(num => num.toString()) // Correctly returns an I1 .func(str => str.length) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) // Correctly returns an I1 .func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -39,15 +39,15 @@ var r1: I1 = v1.func(num => num.toString()) // Correctly returns an I1num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ .func(str => str.length); // should error >func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >str => str.length : (str: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >str : string @@ -65,15 +65,15 @@ var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1v1.func(num => num.toString()) // Correctly returns an I1 .func(str => str.length) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) // Correctly returns an I1 .func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -81,15 +81,15 @@ var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ .func(str => str.length); // should be ok >func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >str => str.length : (str: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >str : string diff --git a/tests/baselines/reference/overload1.types b/tests/baselines/reference/overload1.types index 656ab8e3f9681..610004a716bc7 100644 --- a/tests/baselines/reference/overload1.types +++ b/tests/baselines/reference/overload1.types @@ -29,19 +29,19 @@ module O { export interface I { f(s:string):number; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ f(n:number):string; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(n1:number,n2:number):number; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n1 : number > : ^^^^^^ >n2 : number @@ -49,25 +49,25 @@ module O { g(n:number):string; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(a:A):C; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : A > : ^ g(c:C):string; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ h(s1:string,s2:number):string; >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >s1 : string > : ^^^^^^ >s2 : number @@ -75,7 +75,7 @@ module O { h(s1:number,s2:string):number; >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >s1 : number > : ^^^^^^ >s2 : string @@ -95,11 +95,11 @@ var e:string=x.g(new O.A()); // matches overload but bad assignment >x.g(new O.A()) : O.C > : ^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >new O.A() : O.A > : ^^^ >O.A : typeof O.A @@ -115,11 +115,11 @@ var y:string=x.f(3); // good >x.f(3) : string > : ^^^^^^ >x.f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -131,11 +131,11 @@ y=x.f("nope"); // can't assign number to string >x.f("nope") : number > : ^^^^^^ >x.f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"nope" : "nope" > : ^^^^^^ @@ -145,19 +145,19 @@ var z:string=x.g(x.g(3,3)); // good >x.g(x.g(3,3)) : string > : ^^^^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x.g(3,3) : number > : ^^^^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >3 : 3 > : ^ >3 : 3 @@ -171,11 +171,11 @@ z=x.g(2,2,2); // no match >x.g(2,2,2) : never > : ^^^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >2 : 2 > : ^ >2 : 2 @@ -191,11 +191,11 @@ z=x.g(); // no match >x.g() : never > : ^^^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ z=x.g(new O.B()); // ambiguous (up and down conversion) >z=x.g(new O.B()) : O.C @@ -205,11 +205,11 @@ z=x.g(new O.B()); // ambiguous (up and down conversion) >x.g(new O.B()) : O.C > : ^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >new O.B() : O.B > : ^^^ >O.B : typeof O.B @@ -227,11 +227,11 @@ z=x.h(2,2); // no match >x.h(2,2) : never > : ^^^^^ >x.h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ >2 : 2 @@ -245,11 +245,11 @@ z=x.h("hello",0); // good >x.h("hello",0) : string > : ^^^^^^ >x.h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 @@ -257,12 +257,12 @@ z=x.h("hello",0); // good var v=x.g; >v : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ >g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/overloadAssignmentCompat.types b/tests/baselines/reference/overloadAssignmentCompat.types index b1df258b63bce..ee74b126ed7f8 100644 --- a/tests/baselines/reference/overloadAssignmentCompat.types +++ b/tests/baselines/reference/overloadAssignmentCompat.types @@ -8,13 +8,13 @@ class Accessor {} function attr(name: string): string; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function attr(name: string, value: string): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -22,13 +22,13 @@ function attr(name: string, value: string): Accessor; function attr(map: any): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any > : ^^^ function attr(nameOrMap: any, value?: string): any { >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >nameOrMap : any > : ^^^ >value : string @@ -66,13 +66,13 @@ function attr(nameOrMap: any, value?: string): any { // not ok - there's an assignment compat error function attr2(name: string): string; >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function attr2(name: string, value: string): Accessor; >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -80,13 +80,13 @@ function attr2(name: string, value: string): Accessor; function attr2(map: any): Accessor; >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any > : ^^^ function attr2(nameOrMap: any, value?: string): string { >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >nameOrMap : any > : ^^^ >value : string @@ -126,7 +126,7 @@ function foo():number; function foo():string { return "a" }; >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types index 1ab3451cf3ba3..080ab316185a1 100644 --- a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types +++ b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types @@ -20,13 +20,13 @@ interface Opt4 { interface A { a(o: Opt1): Opt1; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt1 > : ^^^^ a(o: Opt2): Opt2; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt2 > : ^^^^ @@ -49,13 +49,13 @@ interface A { interface A { a(o: Opt3): Opt3; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt3 > : ^^^^ a(o: Opt4): Opt4; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt4 > : ^^^^ @@ -87,11 +87,11 @@ var a1 = a.a({}); >a.a({}) : Opt3 > : ^^^^ >a.a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : A > : ^ >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types index 94b7c3e7f6732..aa13c6bd4c4ac 100644 --- a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types +++ b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types @@ -21,13 +21,13 @@ interface Opt4 { interface A { a(o: Opt1): Opt1; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt1 > : ^^^^ a(o: Opt2): Opt2; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt2 > : ^^^^ @@ -52,13 +52,13 @@ interface A { interface A { a(o: Opt3): Opt3; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt3 > : ^^^^ a(o: Opt4): Opt4; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt4 > : ^^^^ @@ -90,11 +90,11 @@ var a1 = a.a({}); >a.a({}) : Opt3 > : ^^^^ >a.a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : A > : ^ >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/overloadCallTest.types b/tests/baselines/reference/overloadCallTest.types index 36b3d5dbdd6b3..a2bcd979b7de6 100644 --- a/tests/baselines/reference/overloadCallTest.types +++ b/tests/baselines/reference/overloadCallTest.types @@ -12,13 +12,13 @@ class foo { function bar(s:string); >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ function bar(foo?: string) { return "foo" }; >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >foo : string > : ^^^^^^ >"foo" : "foo" @@ -28,7 +28,7 @@ class foo { >test : any >bar("test") : any >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >"test" : "test" > : ^^^^^^ @@ -38,7 +38,7 @@ class foo { >bar() : string > : ^^^^^^ >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ goo = bar("test"); >goo = bar("test") : any @@ -46,7 +46,7 @@ class foo { > : ^^^^^^ >bar("test") : any >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >"test" : "test" > : ^^^^^^ } diff --git a/tests/baselines/reference/overloadEquivalenceWithStatics.types b/tests/baselines/reference/overloadEquivalenceWithStatics.types index e17745e733255..35db77c545ccb 100644 --- a/tests/baselines/reference/overloadEquivalenceWithStatics.types +++ b/tests/baselines/reference/overloadEquivalenceWithStatics.types @@ -7,19 +7,19 @@ class A1 { static B(v: A1): A1; // 1 >B : { (v: A1): A1; (v: S_1): A1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : A1 > : ^^^^^ static B(v: S): A1; // 2 : Error Duplicate signature >B : { (v: A1): A1; (v: S): A1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : S > : ^ static B(v: any): A1 { >B : { (v: A1): A1; (v: S_1): A1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : any return null; diff --git a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types index 308df5be67e68..bf4a9a587c9cb 100644 --- a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types +++ b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types @@ -15,7 +15,7 @@ class EventAggregator publish(event: T): void {} >publish : (event: string, data?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >event : T > : ^ } @@ -28,11 +28,11 @@ ea.publish([1,2,3]); >ea.publish([1,2,3]) : void > : ^^^^ >ea.publish : (event: string, data?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >ea : EventAggregator > : ^^^^^^^^^^^^^^^ >publish : (event: string, data?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >[1,2,3] : number[] > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types index b26495ba70648..2f8b51eac2750 100644 --- a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types +++ b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types @@ -25,7 +25,7 @@ function Choice(...v_args: T[]): A; function Choice(...v_args: T[]): A { >Choice : (...v_args: T_1[]) => A -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >v_args : T[] > : ^^^ diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks1.types b/tests/baselines/reference/overloadOnConstConstraintChecks1.types index 4e349d6ee3084..0435f9c5aa294 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks1.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks1.types @@ -34,25 +34,25 @@ class Derived3 extends Base { biz() { } } interface MyDoc { // Document createElement(tagName: string): Base; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ createElement(tagName: 'canvas'): Derived1; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): Derived2; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): Derived3; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ @@ -65,31 +65,31 @@ class D implements MyDoc { createElement(tagName:string): Base; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ createElement(tagName: 'canvas'): Derived1; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): Derived2; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): Derived3; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ createElement(tagName:any): Base { >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks2.types b/tests/baselines/reference/overloadOnConstConstraintChecks2.types index 15ac0bc1fd858..fa858c33ac07f 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks2.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks2.types @@ -23,25 +23,25 @@ class C extends A { } function foo(name: 'hi'): B; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "hi" > : ^^^^ function foo(name: 'bye'): C; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "bye" > : ^^^^^ function foo(name: string): A; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function foo(name: any): A { >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : any return null; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks3.types b/tests/baselines/reference/overloadOnConstConstraintChecks3.types index 0783b5a2ff200..2f11866bac12f 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks3.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks3.types @@ -27,25 +27,25 @@ class C extends A { } function foo(name: 'hi'): B; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "hi" > : ^^^^ function foo(name: 'bye'): C; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "bye" > : ^^^^^ function foo(name: string): A; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function foo(name: any): A { >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : any return null; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks4.types b/tests/baselines/reference/overloadOnConstConstraintChecks4.types index c868c3d785fd0..e952a8b82a8a9 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks4.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks4.types @@ -33,25 +33,25 @@ class C extends A { } function foo(name: 'hi'): B; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "hi" > : ^^^^ function foo(name: 'bye'): C; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "bye" > : ^^^^^ function foo(name: string): A; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function foo(name: any): Z { >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : any return null; diff --git a/tests/baselines/reference/overloadOnConstInCallback1.types b/tests/baselines/reference/overloadOnConstInCallback1.types index 79490be69f4d6..d6fbf6618b16d 100644 --- a/tests/baselines/reference/overloadOnConstInCallback1.types +++ b/tests/baselines/reference/overloadOnConstInCallback1.types @@ -28,7 +28,7 @@ class C { >callback('hi') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -36,7 +36,7 @@ class C { >callback('bye') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -50,7 +50,7 @@ class C { >callback(hm) : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstInheritance1.types b/tests/baselines/reference/overloadOnConstInheritance1.types index 77ba8a53af977..3e80860905016 100644 --- a/tests/baselines/reference/overloadOnConstInheritance1.types +++ b/tests/baselines/reference/overloadOnConstInheritance1.types @@ -4,26 +4,26 @@ interface Base { addEventListener(x: string): any; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ addEventListener(x: 'foo'): string; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ } interface Deriver extends Base { addEventListener(x: string): any; >addEventListener : { (x: string): any; (x: "bar"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ addEventListener(x: 'bar'): string; >addEventListener : { (x: string): any; (x: "bar"): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bar" > : ^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstInheritance2.types b/tests/baselines/reference/overloadOnConstInheritance2.types index cbdf8fca6904f..844822f06ef40 100644 --- a/tests/baselines/reference/overloadOnConstInheritance2.types +++ b/tests/baselines/reference/overloadOnConstInheritance2.types @@ -4,13 +4,13 @@ interface Base { addEventListener(x: string): any; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ addEventListener(x: 'foo'): string; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstInheritance3.types b/tests/baselines/reference/overloadOnConstInheritance3.types index a165e797ba1bc..3ea531168275a 100644 --- a/tests/baselines/reference/overloadOnConstInheritance3.types +++ b/tests/baselines/reference/overloadOnConstInheritance3.types @@ -12,13 +12,13 @@ interface Deriver extends Base { // shouldn't need to redeclare the string overload addEventListener(x: 'bar'): string; >addEventListener : { (x: "bar"): string; (x: "foo"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bar" > : ^^^^^ addEventListener(x: 'foo'): string; >addEventListener : { (x: "bar"): string; (x: "foo"): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation.types index 3bf89baf9fb74..dfdb13723b2b8 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation.types @@ -35,7 +35,7 @@ function x1(a: number, cb: (x: string) => number) { >cb('hi') : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -43,7 +43,7 @@ function x1(a: number, cb: (x: string) => number) { >cb('bye') : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -57,7 +57,7 @@ function x1(a: number, cb: (x: string) => number) { >cb(hm) : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -65,7 +65,7 @@ function x1(a: number, cb: (x: string) => number) { >cb('uh') : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'uh' : "uh" > : ^^^^ @@ -73,7 +73,7 @@ function x1(a: number, cb: (x: string) => number) { >cb(1) : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } @@ -98,7 +98,7 @@ x1(1, cb); >1 : 1 > : ^ >cb : (number: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ x1(1, (x: 'hi') => 1); // error >x1(1, (x: 'hi') => 1) : any diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types index f24442ff295b7..f0950110a396e 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types @@ -41,7 +41,7 @@ class C { >callback('hi') : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -49,7 +49,7 @@ class C { >callback('bye') : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -63,7 +63,7 @@ class C { >callback(hm) : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -71,7 +71,7 @@ class C { >callback(1) : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation.types b/tests/baselines/reference/overloadOnConstNoStringImplementation.types index d509eed66a046..b377838889555 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation.types @@ -34,7 +34,7 @@ function x2(a: number, cb: (x: any) => number) { >cb('hi') : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -42,7 +42,7 @@ function x2(a: number, cb: (x: any) => number) { >cb('bye') : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -56,7 +56,7 @@ function x2(a: number, cb: (x: any) => number) { >cb(hm) : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -64,7 +64,7 @@ function x2(a: number, cb: (x: any) => number) { >cb('uh') : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'uh' : "uh" > : ^^^^ @@ -72,7 +72,7 @@ function x2(a: number, cb: (x: any) => number) { >cb(1) : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } @@ -95,7 +95,7 @@ x2(1, cb); // error >1 : 1 > : ^ >cb : (number: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ x2(1, (x: 'hi') => 1); // error >x2(1, (x: 'hi') => 1) : any diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types index bb7e4a87b6d84..c8994bf9cab05 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types @@ -41,7 +41,7 @@ class C implements I { >callback('hi') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -49,7 +49,7 @@ class C implements I { >callback('bye') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -63,7 +63,7 @@ class C implements I { >callback(hm) : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -71,7 +71,7 @@ class C implements I { >callback(1) : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types b/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types index cb1ef0a355bc4..e9333a833da3b 100644 --- a/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types +++ b/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types @@ -39,7 +39,7 @@ function foo(name: "SPAN"): Derived1; function foo(name: "DIV"): Derived2 { >foo : (name: "SPAN") => Derived1 -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : "DIV" > : ^^^^^ @@ -50,7 +50,7 @@ foo("HI"); >foo("HI") : Derived1 > : ^^^^^^^^ >foo : (name: "SPAN") => Derived1 -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"HI" : "HI" > : ^^^^ diff --git a/tests/baselines/reference/overloadOnGenericArity.types b/tests/baselines/reference/overloadOnGenericArity.types index f678693b06db8..c335bdf0018f6 100644 --- a/tests/baselines/reference/overloadOnGenericArity.types +++ b/tests/baselines/reference/overloadOnGenericArity.types @@ -4,13 +4,13 @@ interface Test { then(p: string): string; >then : { (p: string): string; (p: string): Date; } -> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ then(p: string): Date; // Error: Overloads cannot differ only by return type >then : { (p: string): string; (p: string): Date; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ } diff --git a/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types b/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types index cb778538826be..de8bc662be9d8 100644 --- a/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types +++ b/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types @@ -36,19 +36,19 @@ class X2 { x: string; } function f(a: X1): A; >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : X1 > : ^^ function f(a: X): B; >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : X > : ^^^^ function f(a): any { >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : any } @@ -62,7 +62,7 @@ var t3 = f(xs); >f(xs) : A > : ^ >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >xs : X > : ^^^^^^^^^ diff --git a/tests/baselines/reference/overloadResolution.types b/tests/baselines/reference/overloadResolution.types index 3dbb5c449f353..22fd83e475b3d 100644 --- a/tests/baselines/reference/overloadResolution.types +++ b/tests/baselines/reference/overloadResolution.types @@ -48,19 +48,19 @@ class SomeDerived3 extends SomeBase { // Ambiguous call picks the first overload in declaration order function fn1(s: string): string; >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function fn1(s: number): number; >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function fn1() { return null; } >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s = fn1(undefined); >s : string @@ -68,7 +68,7 @@ var s = fn1(undefined); >fn1(undefined) : string > : ^^^^^^ >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -82,14 +82,14 @@ fn1({}); // Error >fn1({}) : never > : ^^^^^ >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ // Generic and non - generic overload where generic overload is the only candidate when called with type arguments function fn2(s: string, n: number): number; >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >n : number @@ -97,7 +97,7 @@ function fn2(s: string, n: number): number; function fn2(n: number, t: T): T; >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >t : T @@ -105,7 +105,7 @@ function fn2(n: number, t: T): T; function fn2() { return undefined; } >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -115,7 +115,7 @@ var d = fn2(0, undefined); >fn2(0, undefined) : Date > : ^^^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >undefined : undefined @@ -132,7 +132,7 @@ var s = fn2(0, ''); >fn2(0, '') : "" > : ^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >'' : "" @@ -143,7 +143,7 @@ fn2('', 0); // Error >fn2('', 0) : number > : ^^^^^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >0 : 0 @@ -154,7 +154,7 @@ fn2('', 0); // OK >fn2('', 0) : number > : ^^^^^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >0 : 0 @@ -163,13 +163,13 @@ fn2('', 0); // OK // Generic overloads with differing arity called without type arguments function fn3(n: T): string; >fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U, t: T_1): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >n : T > : ^ function fn3(s: string, t: T, u: U): U; >fn3 : { (n: T_1): string; (s: string, t: T, u: U): U; (v: V, u: U_1, t: T_1): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >t : T @@ -179,7 +179,7 @@ function fn3(s: string, t: T, u: U): U; function fn3(v: V, u: U, t: T): number; >fn3 : { (n: T_1): string; (s: string, t: T_1, u: U_1): U_1; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >v : V > : ^ >u : U @@ -189,7 +189,7 @@ function fn3(v: V, u: U, t: T): number; function fn3() { return null; } >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s = fn3(3); >s : string @@ -197,7 +197,7 @@ var s = fn3(3); >fn3(3) : string > : ^^^^^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -207,7 +207,7 @@ var s = fn3('', 3, ''); >fn3('', 3, '') : "" > : ^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >3 : 3 @@ -221,7 +221,7 @@ var n = fn3(5, 5, 5); >fn3(5, 5, 5) : number > : ^^^^^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ >5 : 5 @@ -240,7 +240,7 @@ var s = fn3(4); >fn3(4) : string > : ^^^^^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -250,7 +250,7 @@ var s = fn3('', '', ''); >fn3('', '', '') : string > : ^^^^^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >'' : "" @@ -264,7 +264,7 @@ var n = fn3('', '', 3); >fn3('', '', 3) : number > : ^^^^^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >'' : "" @@ -277,7 +277,7 @@ fn3(); // Error >fn3() : string > : ^^^^^^ >fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // Generic overloads with constraints called with type arguments that satisfy the constraints function fn4(n: T, m: U); @@ -406,7 +406,7 @@ fn4(null, true); // Error // Non - generic overloads where contextual typing of function arguments has errors function fn5(f: (n: string) => void): string; >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : (n: string) => void > : ^ ^^ ^^^^^ >n : string @@ -414,7 +414,7 @@ function fn5(f: (n: string) => void): string; function fn5(f: (n: number) => void): number; >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : (n: number) => void > : ^ ^^ ^^^^^ >n : number @@ -422,7 +422,7 @@ function fn5(f: (n: number) => void): number; function fn5() { return undefined; } >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -432,7 +432,7 @@ var n = fn5((n) => n.toFixed()); >fn5((n) => n.toFixed()) : string > : ^^^^^^ >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(n) => n.toFixed() : (n: string) => any > : ^ ^^^^^^^^^^^^^^^^ >n : string @@ -452,7 +452,7 @@ var s = fn5((n) => n.substr(0)); >fn5((n) => n.substr(0)) : string > : ^^^^^^ >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(n) => n.substr(0) : (n: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n : string @@ -460,11 +460,11 @@ var s = fn5((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.types b/tests/baselines/reference/overloadResolutionClassConstructors.types index c91a2811f5eb7..9d542b036f5d5 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.types +++ b/tests/baselines/reference/overloadResolutionClassConstructors.types @@ -412,11 +412,11 @@ new fn5((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/overloadResolutionConstructors.types b/tests/baselines/reference/overloadResolutionConstructors.types index 70e2e15dc5cd0..5b6ab01d63534 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.types +++ b/tests/baselines/reference/overloadResolutionConstructors.types @@ -437,11 +437,11 @@ var s = new fn5((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types index b7053444e3b97..1543da64f1476 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types @@ -25,11 +25,11 @@ module Bugs { >message.replace(/\{(\d+)\}/g, function(match, ...rest) { var index= rest[0]; return typeof args[index] !== 'undefined' ? args[index] : match; }) : string > : ^^^^^^ >message.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >message : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\{(\d+)\}/g : RegExp > : ^^^^^^ >function(match, ...rest) { var index= rest[0]; return typeof args[index] !== 'undefined' ? args[index] : match; } : (match: string, ...rest: any[]) => any @@ -87,7 +87,7 @@ function bug3(f:(x:string)=>string) { return f("s") } >f("s") : string > : ^^^^^^ >f : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"s" : "s" > : ^^^ @@ -105,7 +105,7 @@ bug3(fprime); >bug3 : (f: (x: string) => string) => string > : ^ ^^ ^^^^^^^^^^^ >fprime : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ bug3(function(x:string):string { return x; }); >bug3(function(x:string):string { return x; }) : string diff --git a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types index 5e1a544e62b0d..70f803ce6b125 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types @@ -46,11 +46,11 @@ module Bugs { >tokens.push({ startIndex: 1, type: '', bracket: 3 }) : number > : ^^^^^^ >tokens.push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >tokens : IToken[] > : ^^^^^^^^ >push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >{ startIndex: 1, type: '', bracket: 3 } : { startIndex: number; type: string; bracket: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >startIndex : number @@ -70,11 +70,11 @@ module Bugs { >tokens.push(({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 })) : number > : ^^^^^^ >tokens.push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >tokens : IToken[] > : ^^^^^^^^ >push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 }) : IToken > : ^^^^^^ >({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 }) : { startIndex: number; type: string; bracket: number; state: null; length: number; } diff --git a/tests/baselines/reference/overloadResolutionTest1.types b/tests/baselines/reference/overloadResolutionTest1.types index c7d11942ff614..5b9f0714d1a0b 100644 --- a/tests/baselines/reference/overloadResolutionTest1.types +++ b/tests/baselines/reference/overloadResolutionTest1.types @@ -3,7 +3,7 @@ === overloadResolutionTest1.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar }; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x1 = foo([{a:true}]); // works >x1 : number @@ -33,7 +33,7 @@ var x1 = foo([{a:true}]); // works >foo([{a:true}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:true}] : { a: true; }[] > : ^^^^^^^^^^^^^^ >{a:true} : { a: true; } @@ -49,7 +49,7 @@ var x11 = foo([{a:0}]); // works >foo([{a:0}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:0}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a:0} : { a: number; } @@ -65,7 +65,7 @@ var x111 = foo([{a:"s"}]); // error - does not match any signature >foo([{a:"s"}]) : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:"s"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a:"s"} : { a: string; } @@ -81,7 +81,7 @@ var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the fir >foo([{a:null}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:null}] : { a: null; }[] > : ^^^^^^^^^^^^^^ >{a:null} : { a: null; } @@ -93,7 +93,7 @@ var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the fir function foo2(bar:{a:number;}):string; >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -101,7 +101,7 @@ function foo2(bar:{a:number;}):string; function foo2(bar:{a:boolean;}):number; >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; } > : ^^^^^ ^^^ >a : boolean @@ -109,13 +109,13 @@ function foo2(bar:{a:boolean;}):number; function foo2(bar:{a:any;}):any{ return bar }; >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any > : ^^^ >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x2 = foo2({a:0}); // works >x2 : string @@ -123,7 +123,7 @@ var x2 = foo2({a:0}); // works >foo2({a:0}) : string > : ^^^^^^ >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:0} : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -137,7 +137,7 @@ var x3 = foo2({a:true}); // works >foo2({a:true}) : number > : ^^^^^^ >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:true} : { a: true; } > : ^^^^^^^^^^^^ >a : true @@ -151,7 +151,7 @@ var x4 = foo2({a:"s"}); // error >foo2({a:"s"}) : never > : ^^^^^ >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:"s"} : { a: string; } > : ^^^^^^^^^^^^^^ >a : string @@ -162,7 +162,7 @@ var x4 = foo2({a:"s"}); // error function foo4(bar:{a:number;}):number; >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -170,7 +170,7 @@ function foo4(bar:{a:number;}):number; function foo4(bar:{a:string;}):string; >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -178,13 +178,13 @@ function foo4(bar:{a:string;}):string; function foo4(bar:{a:any;}):any{ return bar }; >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any > : ^^^ >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo4({a:true}); // error >x : never @@ -192,7 +192,7 @@ var x = foo4({a:true}); // error >foo4({a:true}) : never > : ^^^^^ >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:true} : { a: boolean; } > : ^^^^^^^^^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/overloadResolutionWithAny.types b/tests/baselines/reference/overloadResolutionWithAny.types index 5bea6cc56bcbe..66e5881c7a44c 100644 --- a/tests/baselines/reference/overloadResolutionWithAny.types +++ b/tests/baselines/reference/overloadResolutionWithAny.types @@ -18,7 +18,7 @@ func(""); // number >func("") : number > : ^^^^^^ >func : { (s: string): number; (s: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"" : "" > : ^^ @@ -26,7 +26,7 @@ func(3); // string >func(3) : string > : ^^^^^^ >func : { (s: string): number; (s: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -37,7 +37,7 @@ func(x); // string >func(x) : string > : ^^^^^^ >func : { (s: string): number; (s: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var func2: { @@ -69,7 +69,7 @@ func2(x, x); // string >func2(x, x) : string > : ^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : any >x : any @@ -77,7 +77,7 @@ func2("", ""); // number >func2("", "") : number > : ^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >"" : "" @@ -87,7 +87,7 @@ func2(x, ""); // boolean >func2(x, "") : boolean > : ^^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : any >"" : "" > : ^^ @@ -96,7 +96,7 @@ func2("", x); // RegExp >func2("", x) : RegExp > : ^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >x : any diff --git a/tests/baselines/reference/overloadRet.types b/tests/baselines/reference/overloadRet.types index c4a0750d9d1bb..8a807d2971dfa 100644 --- a/tests/baselines/reference/overloadRet.types +++ b/tests/baselines/reference/overloadRet.types @@ -4,25 +4,25 @@ interface I { f(s:string):number; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ f(n:number):string; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(n:number):any; >g : { (n: number): any; (n: number, m: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(n:number,m:number):string; >g : { (n: number): any; (n: number, m: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -30,25 +30,25 @@ interface I { h(n:number):I; >h : { (n: number): I; (b: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ h(b:boolean):number; >h : { (n: number): I; (b: boolean): number; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ i(b:boolean):number; >i : { (b: boolean): number; (b: boolean): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ i(b:boolean):any; >i : { (b: boolean): number; (b: boolean): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ } diff --git a/tests/baselines/reference/overloadReturnTypes.types b/tests/baselines/reference/overloadReturnTypes.types index c4c14a98a25b7..589609d4a6895 100644 --- a/tests/baselines/reference/overloadReturnTypes.types +++ b/tests/baselines/reference/overloadReturnTypes.types @@ -7,13 +7,13 @@ class Accessor {} function attr(name: string): string; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function attr(name: string, value: string): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -21,12 +21,12 @@ function attr(name: string, value: string): Accessor; function attr(map: any): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any function attr(nameOrMap: any, value?: string): any { >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >nameOrMap : any >value : string > : ^^^^^^ @@ -62,13 +62,13 @@ function attr(nameOrMap: any, value?: string): any { interface IFace { attr(name:string):string; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ attr(name: string, value: string): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -76,7 +76,7 @@ interface IFace { attr(map: any): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any } diff --git a/tests/baselines/reference/overloadTag1.types b/tests/baselines/reference/overloadTag1.types index 6e1fa7d864fb9..c31f5dc42a7d9 100644 --- a/tests/baselines/reference/overloadTag1.types +++ b/tests/baselines/reference/overloadTag1.types @@ -94,7 +94,7 @@ var o1 = overloaded(1,2) >overloaded(1,2) : number > : ^^^^^^ >overloaded : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >2 : 2 @@ -106,7 +106,7 @@ var o2 = overloaded("zero", "one") >overloaded("zero", "one") : never > : ^^^^^ >overloaded : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"zero" : "zero" > : ^^^^^^ >"one" : "one" @@ -118,7 +118,7 @@ var o3 = overloaded("a",false) >overloaded("a",false) : string > : ^^^^^^ >overloaded : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a" : "a" > : ^^^ >false : false @@ -155,7 +155,7 @@ uncheckedInternally(1,2) >uncheckedInternally(1,2) : number > : ^^^^^^ >uncheckedInternally : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >2 : 2 @@ -165,7 +165,7 @@ uncheckedInternally("zero", "one") >uncheckedInternally("zero", "one") : never > : ^^^^^ >uncheckedInternally : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"zero" : "zero" > : ^^^^^^ >"one" : "one" diff --git a/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types b/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types index cc37dabd59f84..244bb76f0d115 100644 --- a/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types +++ b/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types @@ -59,30 +59,30 @@ function load(): Box<{ success: true } | ErrorResult> { new AsyncLoader({ >new AsyncLoader({ asyncLoad: load, children: result => result.success as any,}) : AsyncLoader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >AsyncLoader : typeof AsyncLoader > : ^^^^^^^^^^^^^^^^^^ ->{ asyncLoad: load, children: result => result.success as any,} : { asyncLoad: () => Box; children: (result: { success: true; }) => any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>{ asyncLoad: load, children: result => result.success as any,} : { asyncLoad: () => Box<{ success: true; } | ErrorResult>; children: (result: { success: true; }) => any; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ asyncLoad: load, ->asyncLoad : () => Box -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->load : () => Box -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>asyncLoad : () => Box<{ success: true; } | ErrorResult> +> : ^^^^^^ +>load : () => Box<{ success: true; } | ErrorResult> +> : ^^^^^^ children: result => result.success as any, >children : (result: { success: true; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^ >result => result.success as any : (result: { success: true; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >result.success as any : any >result.success : true > : ^^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >success : true > : ^^^^ diff --git a/tests/baselines/reference/overloadedStaticMethodSpecialization.types b/tests/baselines/reference/overloadedStaticMethodSpecialization.types index 97646041dee9a..b15c918aa034a 100644 --- a/tests/baselines/reference/overloadedStaticMethodSpecialization.types +++ b/tests/baselines/reference/overloadedStaticMethodSpecialization.types @@ -7,19 +7,19 @@ class A { static B(v: A): A; >B : { (v: A): A; (v: S_1): A; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : A > : ^^^^ static B(v: S): A; >B : { (v: A): A; (v: S): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : S > : ^ static B(v: any): A { >B : { (v: A): A; (v: S_1): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : any return null; diff --git a/tests/baselines/reference/overloadingOnConstants1.types b/tests/baselines/reference/overloadingOnConstants1.types index 985b2de05188f..d5eaa38fcc370 100644 --- a/tests/baselines/reference/overloadingOnConstants1.types +++ b/tests/baselines/reference/overloadingOnConstants1.types @@ -34,25 +34,25 @@ class Derived3 extends Base { biz() { } } interface Document2 { createElement(tagName: 'canvas'): Derived1; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): Derived2; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): Derived3; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ createElement(tagName: string): Base; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ } @@ -68,11 +68,11 @@ var htmlElement: Base = d2.createElement("yo") >d2.createElement("yo") : Base > : ^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"yo" : "yo" > : ^^^^ @@ -82,11 +82,11 @@ var htmlCanvasElement: Derived1 = d2.createElement("canvas"); >d2.createElement("canvas") : Derived1 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"canvas" : "canvas" > : ^^^^^^^^ @@ -96,11 +96,11 @@ var htmlDivElement: Derived2 = d2.createElement("div"); >d2.createElement("div") : Derived2 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"div" : "div" > : ^^^^^ @@ -110,11 +110,11 @@ var htmlSpanElement: Derived3 = d2.createElement("span"); >d2.createElement("span") : Derived3 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"span" : "span" > : ^^^^^^ @@ -125,11 +125,11 @@ var htmlElement2: Derived1 = d2.createElement("yo") >d2.createElement("yo") : Base > : ^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"yo" : "yo" > : ^^^^ @@ -139,11 +139,11 @@ var htmlCanvasElement2: Derived3 = d2.createElement("canvas"); >d2.createElement("canvas") : Derived1 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"canvas" : "canvas" > : ^^^^^^^^ @@ -153,11 +153,11 @@ var htmlDivElement2: Derived1 = d2.createElement("div"); >d2.createElement("div") : Derived2 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"div" : "div" > : ^^^^^ @@ -167,11 +167,11 @@ var htmlSpanElement2: Derived1 = d2.createElement("span"); >d2.createElement("span") : Derived3 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"span" : "span" > : ^^^^^^ diff --git a/tests/baselines/reference/overloadingOnConstants2.types b/tests/baselines/reference/overloadingOnConstants2.types index 7f3ab5eef9edf..bcb5e6eb3aae7 100644 --- a/tests/baselines/reference/overloadingOnConstants2.types +++ b/tests/baselines/reference/overloadingOnConstants2.types @@ -29,7 +29,7 @@ class E { } function foo(x: "hi", items: string[]): D; >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ >items : string[] @@ -37,7 +37,7 @@ function foo(x: "hi", items: string[]): D; function foo(x: "bye", items: string[]): E; >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ >items : string[] @@ -45,7 +45,7 @@ function foo(x: "bye", items: string[]): E; function foo(x: string, items: string[]): C { >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >items : string[] @@ -59,7 +59,7 @@ var a: D = foo("hi", []); // D >foo("hi", []) : D > : ^ >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ >[] : undefined[] @@ -71,7 +71,7 @@ var b: E = foo("bye", []); // E >foo("bye", []) : E > : ^ >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"bye" : "bye" > : ^^^^^ >[] : undefined[] @@ -83,7 +83,7 @@ var c = foo("um", []); // error >foo("um", []) : D & E > : ^^^^^ >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"um" : "um" > : ^^^^ >[] : undefined[] @@ -93,7 +93,7 @@ var c = foo("um", []); // error //function bar(x: "hi", items: string[]): D; function bar(x: "bye", items: string[]): E; >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ >items : string[] @@ -101,7 +101,7 @@ function bar(x: "bye", items: string[]): E; function bar(x: string, items: string[]): C; >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >items : string[] @@ -109,7 +109,7 @@ function bar(x: string, items: string[]): C; function bar(x: string, items: string[]): C { >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >items : string[] @@ -124,7 +124,7 @@ var d: D = bar("hi", []); // D >bar("hi", []) : C > : ^ >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ >[] : undefined[] @@ -136,7 +136,7 @@ var e: E = bar("bye", []); // E >bar("bye", []) : E > : ^ >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"bye" : "bye" > : ^^^^^ >[] : undefined[] @@ -148,7 +148,7 @@ var f: C = bar("um", []); // C >bar("um", []) : C > : ^ >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"um" : "um" > : ^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types index 4fde2d05a3e30..335f52b8f58e4 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types @@ -30,7 +30,7 @@ class G { declare function foo(arg: (x: D) => number): string; >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arg : (x: D) => number > : ^ ^^ ^^^^^ >x : D @@ -38,7 +38,7 @@ declare function foo(arg: (x: D) => number): string; declare function foo(arg: (x: C) => any): string; >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arg : (x: C) => any > : ^ ^^ ^^^^^ >x : C @@ -46,7 +46,7 @@ declare function foo(arg: (x: C) => any): string; declare function foo(arg: (x: B) => any): number; >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arg : (x: B) => any > : ^ ^^ ^^^^^ >x : B @@ -58,7 +58,7 @@ var result: number = foo(x => new G(x)); // x has type D, new G(x) fails, so fir >foo(x => new G(x)) : never > : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => new G(x) : (x: D) => G > : ^ ^^^^^^^^^^^^ >x : D @@ -76,7 +76,7 @@ var result2: number = foo(x => new G(x)); // x has type D, new G(x) fa >foo(x => new G(x)) : never > : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => new G(x) : (x: D) => G > : ^ ^^^^^^^^^^^^ >x : D @@ -96,7 +96,7 @@ var result3: string = foo(x => { // x has type D >foo(x => { // x has type D var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;}) : never > : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => { // x has type D var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;} : (x: D) => G > : ^ ^^^^^^^^^^^^ >x : D diff --git a/tests/baselines/reference/overloadsAndTypeArgumentArity.types b/tests/baselines/reference/overloadsAndTypeArgumentArity.types index a83fe3671200a..8b2c8402aa69d 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArity.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArity.types @@ -3,25 +3,25 @@ === overloadsAndTypeArgumentArity.ts === declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ @@ -29,14 +29,14 @@ Callbacks('s'); // no error >Callbacks('s') : void > : ^^^^ >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ new Callbacks('s'); // no error >new Callbacks('s') : any >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ diff --git a/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types b/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types index e8e73974b393e..3993ee93aff0a 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types @@ -3,19 +3,19 @@ === overloadsAndTypeArgumentArityErrors.ts === declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ @@ -23,7 +23,7 @@ Callbacks('s'); // wrong number of type arguments >Callbacks('s') : void > : ^^^^ >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ @@ -31,7 +31,7 @@ new Callbacks('s'); // wrong number of type arguments >new Callbacks('s') : any > : ^^^ >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ @@ -45,5 +45,5 @@ f(); // wrong number of arguments (#25683) >f() : void > : ^^^^ >f : (arg: number) => void -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/overloadsWithComputedNames.types b/tests/baselines/reference/overloadsWithComputedNames.types index 7b6aace509aca..b85d49a729052 100644 --- a/tests/baselines/reference/overloadsWithComputedNames.types +++ b/tests/baselines/reference/overloadsWithComputedNames.types @@ -38,12 +38,12 @@ let p = new Person(); p.A(0) >p.A(0) : string | number > : ^^^^^^^^^^^^^^^ ->p.A : (a: string | number) => string | number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>p.A : (a: string | number) => number | string +> : ^ ^^ ^^^^^ >p : Person > : ^^^^^^ ->A : (a: string | number) => string | number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>A : (a: string | number) => number | string +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -51,11 +51,11 @@ p.B(0) >p.B(0) : string > : ^^^^^^ >p.B : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >p : Person > : ^^^^^^ >B : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -78,7 +78,7 @@ class C { ["foo"]() { >["foo"] : { (): void; (): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >"foo" : "foo" > : ^^^^^ @@ -128,7 +128,7 @@ class C1 { [uniqueSym]() { } >[uniqueSym] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >uniqueSym : unique symbol > : ^^^^^^^^^^^^^ } @@ -148,13 +148,13 @@ interface I1 { [uniqueSym](): void; >[uniqueSym] : { (): void; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >uniqueSym : unique symbol > : ^^^^^^^^^^^^^ [uniqueSym](): void; >[uniqueSym] : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ >uniqueSym : unique symbol > : ^^^^^^^^^^^^^ } @@ -211,7 +211,7 @@ class C3 { [2]() { } >[2] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >2 : 2 > : ^ } @@ -225,13 +225,13 @@ interface I3 { [2](): void; >[2] : { (): void; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >2 : 2 > : ^ [2](): void; >[2] : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ >2 : 2 > : ^ } diff --git a/tests/baselines/reference/overloadsWithConstraints.types b/tests/baselines/reference/overloadsWithConstraints.types index e745380f56e96..68d8ddf15e6e5 100644 --- a/tests/baselines/reference/overloadsWithConstraints.types +++ b/tests/baselines/reference/overloadsWithConstraints.types @@ -3,13 +3,13 @@ === overloadsWithConstraints.ts === declare function f(x: T): T; >f : { (x: T): T; (x: T_1): T_1; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function f(x: T): T >f : { (x: T_1): T_1; (x: T): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ @@ -19,7 +19,7 @@ var v = f(""); >f("") : string > : ^^^^^^ >f : { (x: T): T; (x: T): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.types b/tests/baselines/reference/overloadsWithProvisionalErrors.types index 1a0ad10b5ca7b..669e5c332e166 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.types +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.types @@ -25,7 +25,7 @@ func(s => ({})); // Error for no applicable overload (object type is missing a a >func(s => ({})) : never > : ^^^^^ >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s => ({}) : (s: string) => {} > : ^ ^^^^^^^^^^^^^^^ >s : string @@ -39,7 +39,7 @@ func(s => ({ a: blah, b: 3 })); // Only error inside the function, but not outsi >func(s => ({ a: blah, b: 3 })) : string > : ^^^^^^ >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s => ({ a: blah, b: 3 }) : (s: string) => { a: any; b: number; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string @@ -61,7 +61,7 @@ func(s => ({ a: blah })); // Two errors here, one for blah not being defined, an >func(s => ({ a: blah })) : never > : ^^^^^ >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s => ({ a: blah }) : (s: string) => { a: any; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/overloadsWithinClasses.types b/tests/baselines/reference/overloadsWithinClasses.types index 9d89dc5d450ba..1d6f820f2c04d 100644 --- a/tests/baselines/reference/overloadsWithinClasses.types +++ b/tests/baselines/reference/overloadsWithinClasses.types @@ -39,13 +39,13 @@ class X { public attr(name:string):string; >attr : { (name: string): string; (name: string, value: string): X; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ public attr(name:string, value:string):X; >attr : { (name: string): string; (name: string, value: string): X; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -53,7 +53,7 @@ class X { public attr(first:any, second?:any):any { >attr : { (name: string): string; (name: string, value: string): X; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >first : any > : ^^^ >second : any diff --git a/tests/baselines/reference/override19.types b/tests/baselines/reference/override19.types index 8e5ae5820ebfd..dbbb22363b513 100644 --- a/tests/baselines/reference/override19.types +++ b/tests/baselines/reference/override19.types @@ -39,8 +39,8 @@ class B extends CreateMixin(Context, A) { > : ^ >CreateMixin(Context, A) : A & { context: Context; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>CreateMixin : (Context: C, Base: T) => T & { new (...args: any[]): { context: InstanceType; }; } +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Context : typeof Context > : ^^^^^^^^^^^^^^ >A : typeof A @@ -56,8 +56,8 @@ class C extends CreateMixin(Context, A) { > : ^ >CreateMixin(Context, A) : A & { context: Context; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>CreateMixin : (Context: C, Base: T) => T & { new (...args: any[]): { context: InstanceType; }; } +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Context : typeof Context > : ^^^^^^^^^^^^^^ >A : typeof A diff --git a/tests/baselines/reference/override20.types b/tests/baselines/reference/override20.types index 5c083486e6c93..4fef3822f9c65 100644 --- a/tests/baselines/reference/override20.types +++ b/tests/baselines/reference/override20.types @@ -60,11 +60,11 @@ export class Bar extends Foo { >super.m1() : void > : ^^^^ >super.m1 : (() => void) & (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >super : I1 & I2 > : ^^^^^^^ >m1 : (() => void) & (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ } m2() { >m2 : () => void @@ -74,11 +74,11 @@ export class Bar extends Foo { >super.m2() : void > : ^^^^ >super.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : I1 & I2 > : ^^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/overrideBaseIntersectionMethod.types b/tests/baselines/reference/overrideBaseIntersectionMethod.types index 9dd54cc961397..672cc21411efb 100644 --- a/tests/baselines/reference/overrideBaseIntersectionMethod.types +++ b/tests/baselines/reference/overrideBaseIntersectionMethod.types @@ -33,11 +33,11 @@ const WithLocation = >(Base: T) => class extends Ba >super.getLocation() : [number, number] > : ^^^^^^^^^^^^^^^^ >super.getLocation : () => [number, number] -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >super : Point > : ^^^^^ >getLocation : () => [number, number] -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return [this.x | x, this.y | y]; >[this.x | x, this.y | y] : [number, number] @@ -127,11 +127,11 @@ class Foo extends WithLocation(Point) { >super.getLocation() : [number, number] > : ^^^^^^^^^^^^^^^^ >super.getLocation : (() => [number, number]) & (() => [number, number]) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >super : WithLocation.(Anonymous class) & Point > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getLocation : (() => [number, number]) & (() => [number, number]) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ } whereAmI() { >whereAmI : () => [number, number] diff --git a/tests/baselines/reference/paramTagOnCallExpression.types b/tests/baselines/reference/paramTagOnCallExpression.types index a1461dc4d4233..9910b0b054571 100644 --- a/tests/baselines/reference/paramTagOnCallExpression.types +++ b/tests/baselines/reference/paramTagOnCallExpression.types @@ -22,7 +22,7 @@ exports.inherits = factory('inherits') >factory('inherits') : {} > : ^^ >factory : (type: string) => {} -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >'inherits' : "inherits" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/paramTagTypeResolution.types b/tests/baselines/reference/paramTagTypeResolution.types index 459ccaf23d0d9..51591c439a707 100644 --- a/tests/baselines/reference/paramTagTypeResolution.types +++ b/tests/baselines/reference/paramTagTypeResolution.types @@ -41,11 +41,11 @@ module.exports = function (x, k) { return k(x) } >x : T > : ^ >k : (t: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >k(x) : void > : ^^^^ >k : (t: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/paramTagTypeResolution2.types b/tests/baselines/reference/paramTagTypeResolution2.types index 59051e5817bbd..230fdd153eecb 100644 --- a/tests/baselines/reference/paramTagTypeResolution2.types +++ b/tests/baselines/reference/paramTagTypeResolution2.types @@ -12,7 +12,7 @@ function f(a, b) { >a : T > : ^ >b : { [K in keyof T]: (value: T[K]) => void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ } f({ x: 42 }, { x(param) { param.toFixed() } }); @@ -35,9 +35,9 @@ f({ x: 42 }, { x(param) { param.toFixed() } }); >param.toFixed() : string > : ^^^^^^ >param.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >param : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types b/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types index 1df1d8b736056..f464bbb935189 100644 --- a/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types +++ b/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types @@ -17,7 +17,7 @@ function foobar({ bar = {}, ...opts }: Foo = {}) { >{} : {} > : ^^ >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{} : {} > : ^^ @@ -33,7 +33,7 @@ function foobar({ bar = {}, ...opts }: Foo = {}) { >opts.baz(bar) : any >opts.baz : any >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >baz : any > : ^^^ >bar : any @@ -49,7 +49,7 @@ class C { >{} : {} > : ^^ >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{} : {} > : ^^ @@ -65,7 +65,7 @@ class C { >opts.baz(bar) : any >opts.baz : any >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >baz : any > : ^^^ >bar : any diff --git a/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types b/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types index baa600a30e4d3..74ff87a4c0cb9 100644 --- a/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types +++ b/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types @@ -79,11 +79,11 @@ class Foo4 { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -111,11 +111,11 @@ class Foo5 { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -145,11 +145,11 @@ class Foo6 { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -181,11 +181,11 @@ class Foo7 extends C { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -227,11 +227,11 @@ class Foo8 extends C { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -276,11 +276,11 @@ class Foo9 extends C { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } diff --git a/tests/baselines/reference/parameterReferenceInInitializer1.types b/tests/baselines/reference/parameterReferenceInInitializer1.types index d286a4b0bf260..92d4b1f984e60 100644 --- a/tests/baselines/reference/parameterReferenceInInitializer1.types +++ b/tests/baselines/reference/parameterReferenceInInitializer1.types @@ -36,7 +36,7 @@ class C { >fn(y, (y, x) => y.x = x) : unknown > : ^^^^^^^ >fn : (y: Y, set: (y: Y, x: number) => void) => a -> : ^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >y : Y > : ^ >(y, x) => y.x = x : (y: Y, x: number) => number diff --git a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types index 077132f7a8044..1014f917a993c 100644 --- a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types +++ b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types @@ -47,11 +47,11 @@ export function appendToOptionalArray< >array.push(value) : number > : ^^^^^^ >array.push : (...items: Lower[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >array : Lower[] > : ^^^^^^^^^^ >push : (...items: Lower[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >value : T > : ^ @@ -88,8 +88,8 @@ appendToOptionalArray(foo, 'x', 123); // ok > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'x' : "x" > : ^^^ >123 : 123 @@ -100,8 +100,8 @@ appendToOptionalArray(foo, 'y', 'bar'); // ok > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'y' : "y" > : ^^^ >'bar' : "bar" @@ -112,8 +112,8 @@ appendToOptionalArray(foo, 'y', 12); // should fail > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'y' : "y" > : ^^^ >12 : 12 @@ -124,8 +124,8 @@ appendToOptionalArray(foo, 'x', "no"); // should fail > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'x' : "x" > : ^^^ >"no" : "no" diff --git a/tests/baselines/reference/parenthesizedContexualTyping1.types b/tests/baselines/reference/parenthesizedContexualTyping1.types index 85dfd9e77e9c0..fafb520700f26 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping1.types +++ b/tests/baselines/reference/parenthesizedContexualTyping1.types @@ -3,7 +3,7 @@ === parenthesizedContexualTyping1.ts === function fun(g: (x: T) => T, x: T): T; >fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >g : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -13,7 +13,7 @@ function fun(g: (x: T) => T, x: T): T; function fun(g: (x: T) => T, h: (y: T) => T, x: T): T; >fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >g : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -27,7 +27,7 @@ function fun(g: (x: T) => T, h: (y: T) => T, x: T): T; function fun(g: (x: T) => T, x: T): T { >fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >g : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -39,7 +39,7 @@ function fun(g: (x: T) => T, x: T): T { >g(x) : T > : ^ >g : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -50,7 +50,7 @@ var a = fun(x => x, 10); >fun(x => x, 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -66,7 +66,7 @@ var b = fun((x => x), 10); >fun((x => x), 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => x) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number @@ -84,7 +84,7 @@ var c = fun(((x => x)), 10); >fun(((x => x)), 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => x)) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >(x => x) : (x: number) => number @@ -104,7 +104,7 @@ var d = fun((((x => x))), 10); >fun((((x => x))), 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => x))) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >((x => x)) : (x: number) => number @@ -126,7 +126,7 @@ var e = fun(x => x, x => x, 10); >fun(x => x, x => x, 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -148,7 +148,7 @@ var f = fun((x => x), (x => x), 10); >fun((x => x), (x => x), 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => x) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number @@ -174,7 +174,7 @@ var g = fun(((x => x)), ((x => x)), 10); >fun(((x => x)), ((x => x)), 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => x)) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >(x => x) : (x: number) => number @@ -204,7 +204,7 @@ var h = fun((((x => x))), ((x => x)), 10); >fun((((x => x))), ((x => x)), 10) : number > : ^^^^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => x))) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >((x => x)) : (x: number) => number @@ -237,7 +237,7 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); >fun((Math.random() < 0.5 ? x => x : x => undefined), 10) : any > : ^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? x => x : x => undefined) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >Math.random() < 0.5 ? x => x : x => undefined : (x: number) => any @@ -247,11 +247,11 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >x => x : (x: number) => number @@ -275,7 +275,7 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10) : any > : ^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => x) : (x => undefined)) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >Math.random() < 0.5 ? (x => x) : (x => undefined) : (x: number) => any @@ -285,11 +285,11 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => x) : (x: number) => number @@ -317,7 +317,7 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10) : any > : ^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => x) : (x => undefined)) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >Math.random() < 0.5 ? (x => x) : (x => undefined) : (x: number) => any @@ -327,11 +327,11 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => x) : (x: number) => number @@ -365,7 +365,7 @@ var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x) >fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x)), 10) : any > : ^^^ >fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >(Math.random() < 0.5 ? ((x => x)) : ((x => undefined))) : (x: number) => any @@ -377,11 +377,11 @@ var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x) >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >((x => x)) : (x: number) => number diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types index c67b6bcdcc6d1..4cd8a3931ad4e 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping2.types +++ b/tests/baselines/reference/parenthesizedContexualTyping2.types @@ -15,11 +15,11 @@ type FuncType = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ function fun(f: FuncType, x: T): T; >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >f : FuncType > : ^^^^^^^^ >x : T @@ -27,7 +27,7 @@ function fun(f: FuncType, x: T): T; function fun(f: FuncType, g: FuncType, x: T): T; >fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >f : FuncType > : ^^^^^^^^ >g : FuncType @@ -37,7 +37,7 @@ function fun(f: FuncType, g: FuncType, x: T): T; function fun(...rest: any[]): T { >fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >rest : any[] > : ^^^^^ @@ -52,19 +52,19 @@ var a = fun(x => { x(undefined); return x; }, 10); >fun(x => { x(undefined); return x; }, 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -74,21 +74,21 @@ var b = fun((x => { x(undefined); return x; }), 10); >fun((x => { x(undefined); return x; }), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -98,23 +98,23 @@ var c = fun(((x => { x(undefined); return x; })), 10); >fun(((x => { x(undefined); return x; })), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -124,25 +124,25 @@ var d = fun((((x => { x(undefined); return x; }))), 10); >fun((((x => { x(undefined); return x; }))), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -152,31 +152,31 @@ var e = fun(x => { x(undefined); return x; }, x => { x(undefined >fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -186,35 +186,35 @@ var f = fun((x => { x(undefined); return x; }),(x => { x(undefin >fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -224,39 +224,39 @@ var g = fun(((x => { x(undefined); return x; })),((x => { x(unde >fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -266,41 +266,41 @@ var h = fun((((x => { x(undefined); return x; }))),((x => { x(un >fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -311,39 +311,39 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x >fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -355,43 +355,43 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : >fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -403,57 +403,57 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : >fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -463,67 +463,67 @@ var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) >fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10) : 10 > : ^^ >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >(Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined))) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >((x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >(x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -531,35 +531,35 @@ var lambda1: FuncType = x => { x(undefined); return x; }; >lambda1 : FuncType > : ^^^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var lambda2: FuncType = (x => { x(undefined); return x; }); >lambda2 : FuncType > : ^^^^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type ObjType = { x: (p: number) => string; y: (p: string) => number }; >ObjType : ObjType diff --git a/tests/baselines/reference/parenthesizedContexualTyping3.types b/tests/baselines/reference/parenthesizedContexualTyping3.types index cce9fe537a2a7..e3768cf3417ba 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping3.types +++ b/tests/baselines/reference/parenthesizedContexualTyping3.types @@ -8,7 +8,7 @@ */ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >tempStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >g : (x: T) => T @@ -20,7 +20,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >tempStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >g : (x: T) => T @@ -36,7 +36,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >tempStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >g : (x: T) => T @@ -50,7 +50,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { >g(x) : T > : ^ >g : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -61,7 +61,7 @@ var a = tempFun `${ x => x } ${ 10 }` >tempFun `${ x => x } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -79,7 +79,7 @@ var b = tempFun `${ (x => x) } ${ 10 }` >tempFun `${ (x => x) } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x => x) } ${ 10 }` : string > : ^^^^^^ >(x => x) : (x: number) => number @@ -99,7 +99,7 @@ var c = tempFun `${ ((x => x)) } ${ 10 }` >tempFun `${ ((x => x)) } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ ((x => x)) } ${ 10 }` : string > : ^^^^^^ >((x => x)) : (x: number) => number @@ -121,7 +121,7 @@ var d = tempFun `${ x => x } ${ x => x } ${ 10 }` >tempFun `${ x => x } ${ x => x } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ x => x } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -145,7 +145,7 @@ var e = tempFun `${ x => x } ${ (x => x) } ${ 10 }` >tempFun `${ x => x } ${ (x => x) } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ (x => x) } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -171,7 +171,7 @@ var f = tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` >tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ ((x => x)) } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -199,7 +199,7 @@ var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` >tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` : number > : ^^^^^^ >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x => x) } ${ (((x => x))) } ${ 10 }` : string > : ^^^^^^ >(x => x) : (x: number) => number @@ -229,7 +229,7 @@ var h = tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` >h : any >tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` : any >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x => x) } ${ (((x => x))) } ${ undefined }` : string > : ^^^^^^ >(x => x) : (x: any) => any diff --git a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types index 63516b4587792..c4836b5981740 100644 --- a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types +++ b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types @@ -16,9 +16,9 @@ const cache = new Map() */ const getStringGetter = (key) => { >getStringGetter : (key: string) => () => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(key) => { return () => { return /** @type {string} */ (cache.get(key)) }} : (key: string) => () => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ @@ -31,12 +31,12 @@ const getStringGetter = (key) => { > : ^^^^^^ >cache.get(key) : string | Set | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->cache.get : (key: string) => string | Set | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cache.get : (key: string) => (string | Set) | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cache : Map> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->get : (key: string) => string | Set | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>get : (key: string) => (string | Set) | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/parenthesizedTypes.types b/tests/baselines/reference/parenthesizedTypes.types index b4f0001b0d0ab..c7eb0a31e0b07 100644 --- a/tests/baselines/reference/parenthesizedTypes.types +++ b/tests/baselines/reference/parenthesizedTypes.types @@ -25,7 +25,7 @@ var b: (x: string) => string; var b: ((x: (string)) => (string)); >b : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -51,7 +51,7 @@ var d: (((x: string) => string) | ((x: number) => number))[]; var d: ({ (x: string): string } | { (x: number): number })[]; >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -59,7 +59,7 @@ var d: ({ (x: string): string } | { (x: number): number })[]; var d: Array<((x: string) => string) | ((x: number) => number)>; >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -67,7 +67,7 @@ var d: Array<((x: string) => string) | ((x: number) => number)>; var d: Array<{ (x: string): string } | { (x: number): number }>; >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -75,7 +75,7 @@ var d: Array<{ (x: string): string } | { (x: number): number }>; var d: (Array<{ (x: string): string } | { (x: number): number }>); >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -100,7 +100,7 @@ var f: (string) => string; var f: (string: any) => string; >f : (string: any) => string -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >string : any var g: [string, string]; diff --git a/tests/baselines/reference/parseBigInt.types b/tests/baselines/reference/parseBigInt.types index 8e37934344709..187fde0d64ac4 100644 --- a/tests/baselines/reference/parseBigInt.types +++ b/tests/baselines/reference/parseBigInt.types @@ -345,25 +345,25 @@ oneTwoOrThree(0n); oneTwoOrThree(1n); oneTwoOrThree(2n); oneTwoOrThree(3n); >oneTwoOrThree(0n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0n : 0n > : ^^ >oneTwoOrThree(1n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1n : 1n > : ^^ >oneTwoOrThree(2n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2n : 2n > : ^^ >oneTwoOrThree(3n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3n : 3n > : ^^ @@ -371,25 +371,25 @@ oneTwoOrThree(0); oneTwoOrThree(1); oneTwoOrThree(2); oneTwoOrThree(3); >oneTwoOrThree(0) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >oneTwoOrThree(1) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >oneTwoOrThree(2) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ >oneTwoOrThree(3) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ diff --git a/tests/baselines/reference/parseErrorIncorrectReturnToken.types b/tests/baselines/reference/parseErrorIncorrectReturnToken.types index 38502b4f686f8..1ded003a8f901 100644 --- a/tests/baselines/reference/parseErrorIncorrectReturnToken.types +++ b/tests/baselines/reference/parseErrorIncorrectReturnToken.types @@ -32,11 +32,11 @@ let f = (n: number) => string => n.toString(); >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let o = { >o : { m(n: number): any; } diff --git a/tests/baselines/reference/parseTypes.types b/tests/baselines/reference/parseTypes.types index f4acf0f208961..66504b1cec89e 100644 --- a/tests/baselines/reference/parseTypes.types +++ b/tests/baselines/reference/parseTypes.types @@ -45,7 +45,7 @@ y=f; >y=f : () => number > : ^^^^^^^^^^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : () => number > : ^^^^^^^^^^^^ @@ -53,7 +53,7 @@ y=g; >y=g : (s: string) => void > : ^ ^^ ^^^^^^^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >g : (s: string) => void > : ^ ^^ ^^^^^^^^^ @@ -61,7 +61,7 @@ x=g; >x=g : (s: string) => void > : ^ ^^ ^^^^^^^^^ >x : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >g : (s: string) => void > : ^ ^^ ^^^^^^^^^ @@ -77,7 +77,7 @@ z=g; >z=g : (s: string) => void > : ^ ^^ ^^^^^^^^^ >z : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >g : (s: string) => void > : ^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/parser15.4.4.14-9-2.types b/tests/baselines/reference/parser15.4.4.14-9-2.types index c03de72f0e570..82fdada6018dc 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.types +++ b/tests/baselines/reference/parser15.4.4.14-9-2.types @@ -112,11 +112,11 @@ function testcase() { >a.indexOf(-(4/3)) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >-(4/3) : number > : ^^^^^^ >(4/3) : number @@ -136,11 +136,11 @@ function testcase() { >a.indexOf(0) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >0 : 0 > : ^ >7 : 7 @@ -152,11 +152,11 @@ function testcase() { >a.indexOf(-0) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >-0 : 0 > : ^ >0 : 0 @@ -170,11 +170,11 @@ function testcase() { >a.indexOf(1) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ >10 : 10 diff --git a/tests/baselines/reference/parser536727.types b/tests/baselines/reference/parser536727.types index fb42a9672006b..c50671dbd68d5 100644 --- a/tests/baselines/reference/parser536727.types +++ b/tests/baselines/reference/parser536727.types @@ -13,7 +13,7 @@ function foo(f: (x: string) => string) { >f("") : string > : ^^^^^^ >f : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/parser630933.types b/tests/baselines/reference/parser630933.types index 82c18d1a34478..9b4b51f11bc01 100644 --- a/tests/baselines/reference/parser630933.types +++ b/tests/baselines/reference/parser630933.types @@ -12,12 +12,12 @@ var b = a.match(/\/ver=([^/]+)/); > : ^^^^^^^^^^^^^^^^ >a.match(/\/ver=([^/]+)/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->a.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>a.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/\/ver=([^/]+)/ : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/parserArgumentList1.types b/tests/baselines/reference/parserArgumentList1.types index 954ae75cc5421..01a656ce77d38 100644 --- a/tests/baselines/reference/parserArgumentList1.types +++ b/tests/baselines/reference/parserArgumentList1.types @@ -21,7 +21,7 @@ export function removeClass (node:HTMLElement, className:string) { >node.className.replace(_classNameRegexp(className), function (everything, leftDelimiter, name, rightDelimiter) { return leftDelimiter.length + rightDelimiter.length === 2 ? ' ' : ''; }) : string > : ^^^^^^ >node.className.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node.className : string > : ^^^^^^ >node : HTMLElement @@ -29,7 +29,7 @@ export function removeClass (node:HTMLElement, className:string) { >className : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_classNameRegexp(className) : any > : ^^^ >_classNameRegexp : any diff --git a/tests/baselines/reference/parserAstSpans1.types b/tests/baselines/reference/parserAstSpans1.types index 0a7024aab2000..7c4d7ca4540c0 100644 --- a/tests/baselines/reference/parserAstSpans1.types +++ b/tests/baselines/reference/parserAstSpans1.types @@ -120,81 +120,81 @@ i1_i.i1_f1(); >i1_i.i1_f1() : void > : ^^^^ >i1_i.i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_f1(); >i1_i.i1_nc_f1() : void > : ^^^^ >i1_i.i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.f1(); >i1_i.f1() : void > : ^^^^ >i1_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_f1(); >i1_i.nc_f1() : void > : ^^^^ >i1_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_l1(); >i1_i.i1_l1() : void > : ^^^^ >i1_i.i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_l1(); >i1_i.i1_nc_l1() : void > : ^^^^ >i1_i.i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.l1(); >i1_i.l1() : void > : ^^^^ >i1_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_l1(); >i1_i.nc_l1() : void > : ^^^^ >i1_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var c1_i = new c1(); >c1_i : c1 @@ -248,41 +248,41 @@ c1_i.i1_l1(); >c1_i.i1_l1() : void > : ^^^^ >c1_i.i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c1_i.i1_nc_l1(); >c1_i.i1_nc_l1() : void > : ^^^^ >c1_i.i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c1_i.l1(); >c1_i.l1() : void > : ^^^^ >c1_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c1_i.nc_l1(); >c1_i.nc_l1() : void > : ^^^^ >c1_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // assign to interface i1_i = c1_i; @@ -297,81 +297,81 @@ i1_i.i1_f1(); >i1_i.i1_f1() : void > : ^^^^ >i1_i.i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_f1(); >i1_i.i1_nc_f1() : void > : ^^^^ >i1_i.i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.f1(); >i1_i.f1() : void > : ^^^^ >i1_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_f1(); >i1_i.nc_f1() : void > : ^^^^ >i1_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_l1(); >i1_i.i1_l1() : void > : ^^^^ >i1_i.i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_l1(); >i1_i.i1_nc_l1() : void > : ^^^^ >i1_i.i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.l1(); >i1_i.l1() : void > : ^^^^ >i1_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_l1(); >i1_i.nc_l1() : void > : ^^^^ >i1_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ class c2 { >c2 : c2 @@ -790,161 +790,161 @@ i2_i.i2_f1(); >i2_i.i2_f1() : void > : ^^^^ >i2_i.i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_f1(); >i2_i.i2_nc_f1() : void > : ^^^^ >i2_i.i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.f1(); >i2_i.f1() : void > : ^^^^ >i2_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_f1(); >i2_i.nc_f1() : void > : ^^^^ >i2_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_l1(); >i2_i.i2_l1() : void > : ^^^^ >i2_i.i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_l1(); >i2_i.i2_nc_l1() : void > : ^^^^ >i2_i.i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.l1(); >i2_i.l1() : void > : ^^^^ >i2_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_l1(); >i2_i.nc_l1() : void > : ^^^^ >i2_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_f1(); >i3_i.i2_f1() : void > : ^^^^ >i3_i.i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_nc_f1(); >i3_i.i2_nc_f1() : void > : ^^^^ >i3_i.i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.f1(); >i3_i.f1() : void > : ^^^^ >i3_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.nc_f1(); >i3_i.nc_f1() : void > : ^^^^ >i3_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_l1(); >i3_i.i2_l1() : void > : ^^^^ >i3_i.i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_nc_l1(); >i3_i.i2_nc_l1() : void > : ^^^^ >i3_i.i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.l1(); >i3_i.l1() : void > : ^^^^ >i3_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.nc_l1(); >i3_i.nc_l1() : void > : ^^^^ >i3_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // assign to interface i2_i = i3_i; @@ -959,81 +959,81 @@ i2_i.i2_f1(); >i2_i.i2_f1() : void > : ^^^^ >i2_i.i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_f1(); >i2_i.i2_nc_f1() : void > : ^^^^ >i2_i.i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.f1(); >i2_i.f1() : void > : ^^^^ >i2_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_f1(); >i2_i.nc_f1() : void > : ^^^^ >i2_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_l1(); >i2_i.i2_l1() : void > : ^^^^ >i2_i.i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_l1(); >i2_i.i2_nc_l1() : void > : ^^^^ >i2_i.i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.l1(); >i2_i.l1() : void > : ^^^^ >i2_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_l1(); >i2_i.nc_l1() : void > : ^^^^ >i2_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ /**c5 class*/ class c5 { diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types index 669caa803fe5c..1ad441045c569 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types @@ -37,17 +37,17 @@ var a: { } o = a; >o = a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >o : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ a = o; >a = o : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >o : Object > : ^^^^^^ diff --git a/tests/baselines/reference/parserErrantSemicolonInClass1.types b/tests/baselines/reference/parserErrantSemicolonInClass1.types index c4424a6510753..86671ebf34754 100644 --- a/tests/baselines/reference/parserErrantSemicolonInClass1.types +++ b/tests/baselines/reference/parserErrantSemicolonInClass1.types @@ -76,19 +76,19 @@ class a { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any > : ^^^ diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types index 4ba6e4f820dbe..3450d8be6e31b 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types @@ -36,11 +36,11 @@ module Shapes { >Math.sqrt(this.x * this.x + this.y * this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x * this.x + this.y * this.y : number > : ^^^^^^ >this.x * this.x : number @@ -111,9 +111,9 @@ var dist = p.getDist(); >p.getDist() : number > : ^^^^^^ >p.getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >p : IPoint > : ^^^^^^ >getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types index f3a9046b986df..615d9357f26ea 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types @@ -38,11 +38,11 @@ module Shapes { >Math.sqrt(this.x * this.x + this.y * this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x * this.x + this.y * this.y : number > : ^^^^^^ >this.x * this.x : number @@ -113,9 +113,9 @@ var dist = p.getDist(); >p.getDist() : number > : ^^^^^^ >p.getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >p : IPoint > : ^^^^^^ >getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/parserExportAsFunctionIdentifier.types b/tests/baselines/reference/parserExportAsFunctionIdentifier.types index 821dcf5a980c8..6f7b906668952 100644 --- a/tests/baselines/reference/parserExportAsFunctionIdentifier.types +++ b/tests/baselines/reference/parserExportAsFunctionIdentifier.types @@ -17,9 +17,9 @@ var x = f.export(); >f.export() : string > : ^^^^^^ >f.export : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : Foo > : ^^^ >export : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/parserForInStatement8.types b/tests/baselines/reference/parserForInStatement8.types index 269dbe470c240..cea0dc5625f66 100644 --- a/tests/baselines/reference/parserForInStatement8.types +++ b/tests/baselines/reference/parserForInStatement8.types @@ -21,11 +21,11 @@ for (let [x = 'a' in {}] in { '': 0 }) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ @@ -47,11 +47,11 @@ for (let {x = 'a' in {}} in { '': 0 }) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/parserForOfStatement25.types b/tests/baselines/reference/parserForOfStatement25.types index fcc8a696957c9..0a80626a619fa 100644 --- a/tests/baselines/reference/parserForOfStatement25.types +++ b/tests/baselines/reference/parserForOfStatement25.types @@ -19,11 +19,11 @@ for (let [x = 'a' in {}] of [[]]) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : boolean > : ^^^^^^^ @@ -43,11 +43,11 @@ for (let {x = 'a' in {}} of [{}]) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/parserForStatement9.types b/tests/baselines/reference/parserForStatement9.types index 0d38e3a04c5b1..8f7f2f3f836bb 100644 --- a/tests/baselines/reference/parserForStatement9.types +++ b/tests/baselines/reference/parserForStatement9.types @@ -29,11 +29,11 @@ for (let [x = 'a' in {}] = []; !x; x = !x) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : boolean > : ^^^^^^^ @@ -63,11 +63,11 @@ for (let {x = 'a' in {}} = {}; !x; x = !x) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/parserInExpression1.types b/tests/baselines/reference/parserInExpression1.types index d9e5dbe50f4c2..a4722c5ac7e06 100644 --- a/tests/baselines/reference/parserInExpression1.types +++ b/tests/baselines/reference/parserInExpression1.types @@ -5,11 +5,11 @@ console.log("a" in { "a": true }); >console.log("a" in { "a": true }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"a" in { "a": true } : boolean > : ^^^^^^^ >"a" : "a" diff --git a/tests/baselines/reference/parserModule1.types b/tests/baselines/reference/parserModule1.types index 51088fbab3ca1..d4f0a3e9d931c 100644 --- a/tests/baselines/reference/parserModule1.types +++ b/tests/baselines/reference/parserModule1.types @@ -43,11 +43,11 @@ >diagnosticWriter.Alert(output) : void > : ^^^^ >diagnosticWriter.Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >diagnosticWriter : IDiagnosticWriter > : ^^^^^^^^^^^^^^^^^ >Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >output : string > : ^^^^^^ } diff --git a/tests/baselines/reference/parserNotHexLiteral1.types b/tests/baselines/reference/parserNotHexLiteral1.types index d8b7632117a2a..4758318b93982 100644 --- a/tests/baselines/reference/parserNotHexLiteral1.types +++ b/tests/baselines/reference/parserNotHexLiteral1.types @@ -19,11 +19,11 @@ console.info (x.x0); >console.info (x.x0) : void > : ^^^^ >console.info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.x0 : string > : ^^^^^^ >x : { e0: string; x0: string; } @@ -37,11 +37,11 @@ console.info (x.e0); >console.info (x.e0) : void > : ^^^^ >console.info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.e0 : string > : ^^^^^^ >x : { e0: string; x0: string; } diff --git a/tests/baselines/reference/parserOverloadOnConstants1.types b/tests/baselines/reference/parserOverloadOnConstants1.types index 222c7761c9a74..72d6b1b2091bd 100644 --- a/tests/baselines/reference/parserOverloadOnConstants1.types +++ b/tests/baselines/reference/parserOverloadOnConstants1.types @@ -4,25 +4,25 @@ interface Document { createElement(tagName: string): HTMLElement; >createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ createElement(tagName: 'canvas'): HTMLCanvasElement; >createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): HTMLDivElement; >createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): HTMLSpanElement; >createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ } diff --git a/tests/baselines/reference/parserRealSource1.types b/tests/baselines/reference/parserRealSource1.types index dee5527899aab..dd6543ab65839 100644 --- a/tests/baselines/reference/parserRealSource1.types +++ b/tests/baselines/reference/parserRealSource1.types @@ -52,11 +52,11 @@ module TypeScript { >diagnosticWriter.Alert(output) : void > : ^^^^ >diagnosticWriter.Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >diagnosticWriter : IDiagnosticWriter > : ^^^^^^^^^^^^^^^^^ >Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >output : string > : ^^^^^^ } @@ -223,7 +223,7 @@ module TypeScript { >this.logger.information() : boolean > : ^^^^^^^ >this.logger.information : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -231,7 +231,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >information : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._debug = this.logger.debug(); >this._debug = this.logger.debug() : boolean @@ -245,7 +245,7 @@ module TypeScript { >this.logger.debug() : boolean > : ^^^^^^^ >this.logger.debug : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -253,7 +253,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >debug : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._warning = this.logger.warning(); >this._warning = this.logger.warning() : boolean @@ -267,7 +267,7 @@ module TypeScript { >this.logger.warning() : boolean > : ^^^^^^^ >this.logger.warning : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -275,7 +275,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >warning : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._error = this.logger.error(); >this._error = this.logger.error() : boolean @@ -289,7 +289,7 @@ module TypeScript { >this.logger.error() : boolean > : ^^^^^^^ >this.logger.error : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -297,7 +297,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >error : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._fatal = this.logger.fatal(); >this._fatal = this.logger.fatal() : boolean @@ -311,7 +311,7 @@ module TypeScript { >this.logger.fatal() : boolean > : ^^^^^^^ >this.logger.fatal : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -319,7 +319,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >fatal : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } @@ -383,7 +383,7 @@ module TypeScript { >this.logger.log(s) : void > : ^^^^ >this.logger.log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -391,7 +391,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ } @@ -447,7 +447,7 @@ module TypeScript { >this.logContents.push(s) : number > : ^^^^^^ >this.logContents.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this.logContents : any[] > : ^^^^^ >this : this @@ -455,7 +455,7 @@ module TypeScript { >logContents : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >s : string > : ^^^^^^ } @@ -487,7 +487,7 @@ module TypeScript { >func() : any > : ^^^ >func : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var end = +new Date(); >end : number @@ -503,11 +503,11 @@ module TypeScript { >logger.log(funcDescription + " completed in " + (end - start) + " msec") : void > : ^^^^ >logger.log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >logger : ILogger > : ^^^^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >funcDescription + " completed in " + (end - start) + " msec" : string > : ^^^^^^ >funcDescription + " completed in " + (end - start) : string @@ -562,11 +562,11 @@ module TypeScript { >value.charCodeAt(index) : number > : ^^^^^^ >value.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >index : number > : ^^^^^^ @@ -687,11 +687,11 @@ module TypeScript { >value.charAt(index) : string > : ^^^^^^ >value.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >index : number > : ^^^^^^ } diff --git a/tests/baselines/reference/parserRealSource10.types b/tests/baselines/reference/parserRealSource10.types index d0a76c01c190b..3ba5196d8a27d 100644 --- a/tests/baselines/reference/parserRealSource10.types +++ b/tests/baselines/reference/parserRealSource10.types @@ -6563,11 +6563,11 @@ module TypeScript { >this.getText() : string > : ^^^^^^ >this.getText : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getText : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >" (" : " (" > : ^^^^ >(TokenID)._map[this.tokenId] : any @@ -6683,7 +6683,7 @@ module TypeScript { >lookupToken(this.tokenId) : TokenInfo > : ^^^^^^^^^ >lookupToken : (tokenId: TokenID) => TokenInfo -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.tokenId : TokenID > : ^^^^^^^ >this : this @@ -6801,7 +6801,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -6809,13 +6809,13 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >".0" : ".0" > : ^^^^ >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -6823,7 +6823,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } public classification(): TokenClass { diff --git a/tests/baselines/reference/parserRealSource11.types b/tests/baselines/reference/parserRealSource11.types index 595971196f699..d941bb4c4efe1 100644 --- a/tests/baselines/reference/parserRealSource11.types +++ b/tests/baselines/reference/parserRealSource11.types @@ -1184,11 +1184,11 @@ module TypeScript { >name.charAt(i) : string > : ^^^^^^ >name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : number > : ^^^^^^ >'\\' : "\\" @@ -1198,11 +1198,11 @@ module TypeScript { >name.charAt(i+1) : string > : ^^^^^^ >name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i+1 : number > : ^^^^^^ >i : number @@ -1218,15 +1218,15 @@ module TypeScript { >parseInt(name.substr(i + 2, 4), 16) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name.substr(i + 2, 4) : string > : ^^^^^^ >name.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i + 2 : number > : ^^^^^^ >i : number @@ -1246,11 +1246,11 @@ module TypeScript { >name.substr(start, i - start) : string > : ^^^^^^ >name.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >start : number > : ^^^^^^ >i - start : number @@ -1268,11 +1268,11 @@ module TypeScript { >String.fromCharCode(charCode) : string > : ^^^^^^ >String.fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >charCode : number > : ^^^^^^ @@ -1309,11 +1309,11 @@ module TypeScript { >name.substring(start) : string > : ^^^^^^ >name.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >start : number > : ^^^^^^ @@ -1933,11 +1933,11 @@ module TypeScript { >AST.getResolvedIdentifierName(actualText) : string > : ^^^^^^ >AST.getResolvedIdentifierName : (name: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >AST : typeof AST > : ^^^^^^^^^^ >getResolvedIdentifierName : (name: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >actualText : string > : ^^^^^^ } @@ -2398,11 +2398,11 @@ module TypeScript { >super.addToControlFlow(context) : void > : ^^^^ >super.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Expression > : ^^^^^^^^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -5770,7 +5770,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5778,7 +5778,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ if (this.hasEmptyFraction) >this.hasEmptyFraction : boolean @@ -5837,11 +5837,11 @@ module TypeScript { >Math.floor(this.value) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5859,11 +5859,11 @@ module TypeScript { >this.value.toFixed(2).toString() : string > : ^^^^^^ >this.value.toFixed(2).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.value.toFixed(2) : string > : ^^^^^^ >this.value.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5871,11 +5871,11 @@ module TypeScript { >value : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else if (this.hasEmptyFraction) { >this.hasEmptyFraction : boolean @@ -5891,7 +5891,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5899,7 +5899,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >".0" : ".0" > : ^^^^ } @@ -5908,7 +5908,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5916,7 +5916,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } @@ -6645,11 +6645,11 @@ module TypeScript { >this.getAliasName(dotExpr.operand1) : string > : ^^^^^^ >this.getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >dotExpr.operand1 : AST > : ^^^ >dotExpr : BinaryExpression @@ -6661,11 +6661,11 @@ module TypeScript { >this.getAliasName(dotExpr.operand2) : string > : ^^^^^^ >this.getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >dotExpr.operand2 : AST > : ^^^ >dotExpr : BinaryExpression @@ -7583,11 +7583,11 @@ module TypeScript { >outerFnc.addJumpRef(sym) : void > : ^^^^ >outerFnc.addJumpRef : (sym: Symbol) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >outerFnc : FuncDecl > : ^^^^^^^^ >addJumpRef : (sym: Symbol) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >sym : Symbol > : ^^^^^^ @@ -7717,11 +7717,11 @@ module TypeScript { >this.addCloRef(id, null) : number > : ^^^^^^ >this.addCloRef : (id: Identifier, sym: Symbol) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >addCloRef : (id: Identifier, sym: Symbol) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >id : Identifier > : ^^^^^^^^^^ } @@ -7774,11 +7774,11 @@ module TypeScript { >ast.addToControlFlow(walker.state) : void > : ^^^^ >ast.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ast : AST > : ^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >walker.state : any > : ^^^ >walker : IAstWalker @@ -10663,11 +10663,11 @@ module TypeScript { >super.addToControlFlow(context) : void > : ^^^^ >super.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Statement > : ^^^^^^^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -12128,7 +12128,7 @@ module TypeScript { >this.cond.addToControlFlow(context) : void > : ^^^^ >this.cond.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.cond : AST > : ^^^ >this : this @@ -12136,7 +12136,7 @@ module TypeScript { >cond : AST > : ^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -12684,11 +12684,11 @@ module TypeScript { >super.addToControlFlow(context) : void > : ^^^^ >super.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Statement > : ^^^^^^^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -18551,7 +18551,7 @@ module TypeScript { >this.content.split("\n") : string[] > : ^^^^^^^^ >this.content.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.content : string > : ^^^^^^ >this : this @@ -18559,7 +18559,7 @@ module TypeScript { >content : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"\n" : "\n" > : ^^^^ @@ -18603,7 +18603,7 @@ module TypeScript { >this.text[i].replace(/^\s+|\s+$/g, '') : string > : ^^^^^^ >this.text[i].replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >this.text[i] : string > : ^^^^^^ >this.text : string[] @@ -18615,7 +18615,7 @@ module TypeScript { >i : number > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/^\s+|\s+$/g : RegExp > : ^^^^^^ >'' : "" @@ -18639,7 +18639,7 @@ module TypeScript { >this.content.replace(/^\s+|\s+$/g, '') : string > : ^^^^^^ >this.content.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >this.content : string > : ^^^^^^ >this : this @@ -18647,7 +18647,7 @@ module TypeScript { >content : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/^\s+|\s+$/g : RegExp > : ^^^^^^ >'' : "" diff --git a/tests/baselines/reference/parserRealSource12.types b/tests/baselines/reference/parserRealSource12.types index a9451e5c9d4d5..6763d907264ef 100644 --- a/tests/baselines/reference/parserRealSource12.types +++ b/tests/baselines/reference/parserRealSource12.types @@ -346,11 +346,11 @@ module TypeScript { >this.initChildrenWalkers() : void > : ^^^^ >this.initChildrenWalkers : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >initChildrenWalkers : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } public walk(ast: AST, pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any): AST { @@ -371,15 +371,15 @@ module TypeScript { >this.getWalker(pre, post, options, state).walk(ast, null) : AST > : ^^^ >this.getWalker(pre, post, options, state).walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.getWalker(pre, post, options, state) : IAstWalker > : ^^^^^^^^^^ >this.getWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >getWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >pre : IAstWalkCallback > : ^^^^^^^^^^^^^^^^ >post : IAstWalkCallback @@ -389,7 +389,7 @@ module TypeScript { >state : any > : ^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ast : AST > : ^^^ } @@ -410,11 +410,11 @@ module TypeScript { >this.getSlowWalker(pre, post, options, state) : IAstWalker > : ^^^^^^^^^^ >this.getSlowWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >getSlowWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >pre : IAstWalkCallback > : ^^^^^^^^^^^^^^^^ >post : IAstWalkCallback @@ -481,7 +481,7 @@ module TypeScript { this.childrenWalkers[NodeType.None] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.None] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.None] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -497,15 +497,15 @@ module TypeScript { >None : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Empty] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Empty] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Empty] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -521,15 +521,15 @@ module TypeScript { >Empty : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.EmptyExpr] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.EmptyExpr] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.EmptyExpr] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -545,15 +545,15 @@ module TypeScript { >EmptyExpr : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.True] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.True] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.True] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -569,15 +569,15 @@ module TypeScript { >True : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.False] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.False] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.False] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -593,15 +593,15 @@ module TypeScript { >False : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.This] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.This] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.This] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -617,15 +617,15 @@ module TypeScript { >This : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Super] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Super] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Super] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -641,15 +641,15 @@ module TypeScript { >Super : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.QString] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.QString] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.QString] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -665,15 +665,15 @@ module TypeScript { >QString : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Regex] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Regex] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Regex] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -689,15 +689,15 @@ module TypeScript { >Regex : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Null] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Null] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Null] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -713,15 +713,15 @@ module TypeScript { >Null : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ArrayLit] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.ArrayLit] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ArrayLit] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -737,15 +737,15 @@ module TypeScript { >ArrayLit : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ObjectLit] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.ObjectLit] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ObjectLit] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -761,15 +761,15 @@ module TypeScript { >ObjectLit : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Void] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Void] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Void] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -785,15 +785,15 @@ module TypeScript { >Void : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Comma] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Comma] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Comma] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -809,15 +809,15 @@ module TypeScript { >Comma : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Pos] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Pos] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Pos] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -833,15 +833,15 @@ module TypeScript { >Pos : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Neg] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Neg] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Neg] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -857,15 +857,15 @@ module TypeScript { >Neg : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Delete] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Delete] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Delete] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -881,15 +881,15 @@ module TypeScript { >Delete : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Await] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Await] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Await] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -905,15 +905,15 @@ module TypeScript { >Await : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.In] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.In] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.In] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -929,15 +929,15 @@ module TypeScript { >In : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Dot] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Dot] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Dot] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -953,15 +953,15 @@ module TypeScript { >Dot : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.From] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.From] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.From] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -977,15 +977,15 @@ module TypeScript { >From : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Is] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Is] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Is] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1001,15 +1001,15 @@ module TypeScript { >Is : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.InstOf] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.InstOf] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.InstOf] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1025,15 +1025,15 @@ module TypeScript { >InstOf : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Typeof] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Typeof] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Typeof] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1049,15 +1049,15 @@ module TypeScript { >Typeof : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.NumberLit] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.NumberLit] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.NumberLit] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1073,15 +1073,15 @@ module TypeScript { >NumberLit : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Name] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Name] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Name] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1097,15 +1097,15 @@ module TypeScript { >Name : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TypeRef] = ChildrenWalkers.walkTypeReferenceChildren; >this.childrenWalkers[NodeType.TypeRef] = ChildrenWalkers.walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TypeRef] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1121,15 +1121,15 @@ module TypeScript { >TypeRef : any > : ^^^ >ChildrenWalkers.walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Index] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Index] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Index] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1145,15 +1145,15 @@ module TypeScript { >Index : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Call] = ChildrenWalkers.walkCallExpressionChildren; >this.childrenWalkers[NodeType.Call] = ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Call] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1169,15 +1169,15 @@ module TypeScript { >Call : any > : ^^^ >ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.New] = ChildrenWalkers.walkCallExpressionChildren; >this.childrenWalkers[NodeType.New] = ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.New] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1193,15 +1193,15 @@ module TypeScript { >New : any > : ^^^ >ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Asg] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Asg] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Asg] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1217,15 +1217,15 @@ module TypeScript { >Asg : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgAdd] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgAdd] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgAdd] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1241,15 +1241,15 @@ module TypeScript { >AsgAdd : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgSub] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgSub] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgSub] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1265,15 +1265,15 @@ module TypeScript { >AsgSub : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgDiv] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgDiv] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgDiv] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1289,15 +1289,15 @@ module TypeScript { >AsgDiv : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgMul] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgMul] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgMul] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1313,15 +1313,15 @@ module TypeScript { >AsgMul : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgMod] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgMod] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgMod] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1337,15 +1337,15 @@ module TypeScript { >AsgMod : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgAnd] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgAnd] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgAnd] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1361,15 +1361,15 @@ module TypeScript { >AsgAnd : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgXor] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgXor] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgXor] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1385,15 +1385,15 @@ module TypeScript { >AsgXor : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgOr] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgOr] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgOr] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1409,15 +1409,15 @@ module TypeScript { >AsgOr : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgLsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgLsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgLsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1433,15 +1433,15 @@ module TypeScript { >AsgLsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgRsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgRsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgRsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1457,15 +1457,15 @@ module TypeScript { >AsgRsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgRs2] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgRs2] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgRs2] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1481,15 +1481,15 @@ module TypeScript { >AsgRs2 : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ConditionalExpression] = ChildrenWalkers.walkTrinaryExpressionChildren; >this.childrenWalkers[NodeType.ConditionalExpression] = ChildrenWalkers.walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ConditionalExpression] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1505,15 +1505,15 @@ module TypeScript { >ConditionalExpression : any > : ^^^ >ChildrenWalkers.walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LogOr] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.LogOr] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LogOr] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1529,15 +1529,15 @@ module TypeScript { >LogOr : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LogAnd] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.LogAnd] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LogAnd] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1553,15 +1553,15 @@ module TypeScript { >LogAnd : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Or] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Or] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Or] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1577,15 +1577,15 @@ module TypeScript { >Or : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Xor] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Xor] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Xor] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1601,15 +1601,15 @@ module TypeScript { >Xor : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.And] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.And] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.And] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1625,15 +1625,15 @@ module TypeScript { >And : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Eq] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Eq] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Eq] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1649,15 +1649,15 @@ module TypeScript { >Eq : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Ne] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Ne] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Ne] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1673,15 +1673,15 @@ module TypeScript { >Ne : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Eqv] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Eqv] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Eqv] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1697,15 +1697,15 @@ module TypeScript { >Eqv : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.NEqv] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.NEqv] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.NEqv] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1721,15 +1721,15 @@ module TypeScript { >NEqv : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Lt] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Lt] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Lt] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1745,15 +1745,15 @@ module TypeScript { >Lt : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Le] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Le] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Le] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1769,15 +1769,15 @@ module TypeScript { >Le : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Gt] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Gt] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Gt] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1793,15 +1793,15 @@ module TypeScript { >Gt : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Ge] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Ge] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Ge] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1817,15 +1817,15 @@ module TypeScript { >Ge : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Add] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Add] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Add] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1841,15 +1841,15 @@ module TypeScript { >Add : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Sub] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Sub] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Sub] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1865,15 +1865,15 @@ module TypeScript { >Sub : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Mul] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Mul] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Mul] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1889,15 +1889,15 @@ module TypeScript { >Mul : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Div] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Div] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Div] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1913,15 +1913,15 @@ module TypeScript { >Div : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Mod] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Mod] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Mod] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1937,15 +1937,15 @@ module TypeScript { >Mod : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Lsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Lsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Lsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1961,15 +1961,15 @@ module TypeScript { >Lsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Rsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Rsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Rsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1985,15 +1985,15 @@ module TypeScript { >Rsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Rs2] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Rs2] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Rs2] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2009,15 +2009,15 @@ module TypeScript { >Rs2 : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Not] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Not] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Not] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2033,15 +2033,15 @@ module TypeScript { >Not : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LogNot] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.LogNot] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LogNot] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2057,15 +2057,15 @@ module TypeScript { >LogNot : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.IncPre] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.IncPre] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.IncPre] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2081,15 +2081,15 @@ module TypeScript { >IncPre : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.DecPre] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.DecPre] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.DecPre] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2105,15 +2105,15 @@ module TypeScript { >DecPre : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.IncPost] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.IncPost] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.IncPost] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2129,15 +2129,15 @@ module TypeScript { >IncPost : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.DecPost] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.DecPost] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.DecPost] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2153,15 +2153,15 @@ module TypeScript { >DecPost : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TypeAssertion] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.TypeAssertion] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TypeAssertion] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2177,15 +2177,15 @@ module TypeScript { >TypeAssertion : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.FuncDecl] = ChildrenWalkers.walkFuncDeclChildren; >this.childrenWalkers[NodeType.FuncDecl] = ChildrenWalkers.walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.FuncDecl] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2201,15 +2201,15 @@ module TypeScript { >FuncDecl : any > : ^^^ >ChildrenWalkers.walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Member] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Member] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Member] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2225,15 +2225,15 @@ module TypeScript { >Member : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.VarDecl] = ChildrenWalkers.walkBoundDeclChildren; >this.childrenWalkers[NodeType.VarDecl] = ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.VarDecl] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2249,15 +2249,15 @@ module TypeScript { >VarDecl : any > : ^^^ >ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ArgDecl] = ChildrenWalkers.walkBoundDeclChildren; >this.childrenWalkers[NodeType.ArgDecl] = ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ArgDecl] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2273,15 +2273,15 @@ module TypeScript { >ArgDecl : any > : ^^^ >ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Return] = ChildrenWalkers.walkReturnStatementChildren; >this.childrenWalkers[NodeType.Return] = ChildrenWalkers.walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Return] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2297,15 +2297,15 @@ module TypeScript { >Return : any > : ^^^ >ChildrenWalkers.walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Break] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Break] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Break] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2321,15 +2321,15 @@ module TypeScript { >Break : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Continue] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Continue] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Continue] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2345,15 +2345,15 @@ module TypeScript { >Continue : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Throw] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Throw] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Throw] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2369,15 +2369,15 @@ module TypeScript { >Throw : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.For] = ChildrenWalkers.walkForStatementChildren; >this.childrenWalkers[NodeType.For] = ChildrenWalkers.walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.For] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2393,15 +2393,15 @@ module TypeScript { >For : any > : ^^^ >ChildrenWalkers.walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ForIn] = ChildrenWalkers.walkForInStatementChildren; >this.childrenWalkers[NodeType.ForIn] = ChildrenWalkers.walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ForIn] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2417,15 +2417,15 @@ module TypeScript { >ForIn : any > : ^^^ >ChildrenWalkers.walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.If] = ChildrenWalkers.walkIfStatementChildren; >this.childrenWalkers[NodeType.If] = ChildrenWalkers.walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.If] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2441,15 +2441,15 @@ module TypeScript { >If : any > : ^^^ >ChildrenWalkers.walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.While] = ChildrenWalkers.walkWhileStatementChildren; >this.childrenWalkers[NodeType.While] = ChildrenWalkers.walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.While] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2465,15 +2465,15 @@ module TypeScript { >While : any > : ^^^ >ChildrenWalkers.walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.DoWhile] = ChildrenWalkers.walkDoWhileStatementChildren; >this.childrenWalkers[NodeType.DoWhile] = ChildrenWalkers.walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.DoWhile] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2489,15 +2489,15 @@ module TypeScript { >DoWhile : any > : ^^^ >ChildrenWalkers.walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Block] = ChildrenWalkers.walkBlockChildren; >this.childrenWalkers[NodeType.Block] = ChildrenWalkers.walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Block] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2513,15 +2513,15 @@ module TypeScript { >Block : any > : ^^^ >ChildrenWalkers.walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Case] = ChildrenWalkers.walkCaseStatementChildren; >this.childrenWalkers[NodeType.Case] = ChildrenWalkers.walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Case] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2537,15 +2537,15 @@ module TypeScript { >Case : any > : ^^^ >ChildrenWalkers.walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Switch] = ChildrenWalkers.walkSwitchStatementChildren; >this.childrenWalkers[NodeType.Switch] = ChildrenWalkers.walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Switch] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2561,15 +2561,15 @@ module TypeScript { >Switch : any > : ^^^ >ChildrenWalkers.walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Try] = ChildrenWalkers.walkTryChildren; >this.childrenWalkers[NodeType.Try] = ChildrenWalkers.walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Try] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2585,15 +2585,15 @@ module TypeScript { >Try : any > : ^^^ >ChildrenWalkers.walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TryCatch] = ChildrenWalkers.walkTryCatchChildren; >this.childrenWalkers[NodeType.TryCatch] = ChildrenWalkers.walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TryCatch] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2609,15 +2609,15 @@ module TypeScript { >TryCatch : any > : ^^^ >ChildrenWalkers.walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TryFinally] = ChildrenWalkers.walkTryFinallyChildren; >this.childrenWalkers[NodeType.TryFinally] = ChildrenWalkers.walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TryFinally] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2633,15 +2633,15 @@ module TypeScript { >TryFinally : any > : ^^^ >ChildrenWalkers.walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Finally] = ChildrenWalkers.walkFinallyChildren; >this.childrenWalkers[NodeType.Finally] = ChildrenWalkers.walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Finally] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2657,15 +2657,15 @@ module TypeScript { >Finally : any > : ^^^ >ChildrenWalkers.walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Catch] = ChildrenWalkers.walkCatchChildren; >this.childrenWalkers[NodeType.Catch] = ChildrenWalkers.walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Catch] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2681,15 +2681,15 @@ module TypeScript { >Catch : any > : ^^^ >ChildrenWalkers.walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.List] = ChildrenWalkers.walkListChildren; >this.childrenWalkers[NodeType.List] = ChildrenWalkers.walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.List] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2705,15 +2705,15 @@ module TypeScript { >List : any > : ^^^ >ChildrenWalkers.walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Script] = ChildrenWalkers.walkScriptChildren; >this.childrenWalkers[NodeType.Script] = ChildrenWalkers.walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Script] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2729,15 +2729,15 @@ module TypeScript { >Script : any > : ^^^ >ChildrenWalkers.walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ClassDeclaration] = ChildrenWalkers.walkClassDeclChildren; >this.childrenWalkers[NodeType.ClassDeclaration] = ChildrenWalkers.walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ClassDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2753,15 +2753,15 @@ module TypeScript { >ClassDeclaration : any > : ^^^ >ChildrenWalkers.walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.InterfaceDeclaration] = ChildrenWalkers.walkTypeDeclChildren; >this.childrenWalkers[NodeType.InterfaceDeclaration] = ChildrenWalkers.walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.InterfaceDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2777,15 +2777,15 @@ module TypeScript { >InterfaceDeclaration : any > : ^^^ >ChildrenWalkers.walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ModuleDeclaration] = ChildrenWalkers.walkModuleDeclChildren; >this.childrenWalkers[NodeType.ModuleDeclaration] = ChildrenWalkers.walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ModuleDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2801,15 +2801,15 @@ module TypeScript { >ModuleDeclaration : any > : ^^^ >ChildrenWalkers.walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ImportDeclaration] = ChildrenWalkers.walkImportDeclChildren; >this.childrenWalkers[NodeType.ImportDeclaration] = ChildrenWalkers.walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ImportDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2825,15 +2825,15 @@ module TypeScript { >ImportDeclaration : any > : ^^^ >ChildrenWalkers.walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.With] = ChildrenWalkers.walkWithStatementChildren; >this.childrenWalkers[NodeType.With] = ChildrenWalkers.walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.With] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2849,15 +2849,15 @@ module TypeScript { >With : any > : ^^^ >ChildrenWalkers.walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Label] = ChildrenWalkers.walkLabelChildren; >this.childrenWalkers[NodeType.Label] = ChildrenWalkers.walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Label] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2873,15 +2873,15 @@ module TypeScript { >Label : any > : ^^^ >ChildrenWalkers.walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LabeledStatement] = ChildrenWalkers.walkLabeledStatementChildren; >this.childrenWalkers[NodeType.LabeledStatement] = ChildrenWalkers.walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LabeledStatement] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2897,15 +2897,15 @@ module TypeScript { >LabeledStatement : any > : ^^^ >ChildrenWalkers.walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.EBStart] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.EBStart] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.EBStart] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2921,15 +2921,15 @@ module TypeScript { >EBStart : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.GotoEB] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.GotoEB] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.GotoEB] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2945,15 +2945,15 @@ module TypeScript { >GotoEB : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.EndCode] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.EndCode] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.EndCode] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2969,15 +2969,15 @@ module TypeScript { >EndCode : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Error] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Error] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Error] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2993,15 +2993,15 @@ module TypeScript { >Error : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Comment] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Comment] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Comment] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -3017,15 +3017,15 @@ module TypeScript { >Comment : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Debugger] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Debugger] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Debugger] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -3041,11 +3041,11 @@ module TypeScript { >Debugger : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // Verify the code is up to date with the enum for (var e in (NodeType)._map) { @@ -3224,11 +3224,11 @@ module TypeScript { >walker.walk(preAst.members[i], preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.members[i] : any > : ^^^ >preAst.members : any @@ -3289,11 +3289,11 @@ module TypeScript { >walker.walk(preAst.members[i], preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.members[i] : any > : ^^^ >preAst.members : any @@ -3341,11 +3341,11 @@ module TypeScript { >walker.walk(preAst.castTerm, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.castTerm : any > : ^^^ >preAst : UnaryExpression @@ -3375,11 +3375,11 @@ module TypeScript { >walker.walk(preAst.operand, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand : any > : ^^^ >preAst : UnaryExpression @@ -3433,11 +3433,11 @@ module TypeScript { >walker.walk(preAst.operand2, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand2 : any > : ^^^ >preAst : BinaryExpression @@ -3483,11 +3483,11 @@ module TypeScript { >walker.walk(preAst.operand1, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand1 : any > : ^^^ >preAst : BinaryExpression @@ -3518,11 +3518,11 @@ module TypeScript { >walker.walk(preAst.operand1, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand1 : any > : ^^^ >preAst : BinaryExpression @@ -3568,11 +3568,11 @@ module TypeScript { >walker.walk(preAst.operand2, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand2 : any > : ^^^ >preAst : BinaryExpression @@ -3615,11 +3615,11 @@ module TypeScript { >walker.walk(preAst.term, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.term : any > : ^^^ >preAst : TypeReference @@ -3667,11 +3667,11 @@ module TypeScript { >walker.walk(preAst.target, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.target : any > : ^^^ >preAst : CallExpression @@ -3717,11 +3717,11 @@ module TypeScript { >walker.walk(preAst.arguments, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.arguments : any > : ^^^ >preAst : CallExpression @@ -3771,11 +3771,11 @@ module TypeScript { >walker.walk(preAst.target, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.target : any > : ^^^ >preAst : CallExpression @@ -3817,11 +3817,11 @@ module TypeScript { >walker.walk(preAst.operand1, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand1 : any > : ^^^ >preAst : ConditionalExpression @@ -3865,11 +3865,11 @@ module TypeScript { >walker.walk(preAst.operand2, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand2 : any > : ^^^ >preAst : ConditionalExpression @@ -3913,11 +3913,11 @@ module TypeScript { >walker.walk(preAst.operand3, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand3 : any > : ^^^ >preAst : ConditionalExpression @@ -3961,11 +3961,11 @@ module TypeScript { >walker.walk(preAst.name, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.name : any > : ^^^ >preAst : FuncDecl @@ -4033,11 +4033,11 @@ module TypeScript { >walker.walk(preAst.arguments, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.arguments : any > : ^^^ >preAst : FuncDecl @@ -4081,11 +4081,11 @@ module TypeScript { >walker.walk(preAst.returnTypeAnnotation, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.returnTypeAnnotation : any > : ^^^ >preAst : FuncDecl @@ -4153,11 +4153,11 @@ module TypeScript { >walker.walk(preAst.bod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.bod : any > : ^^^ >preAst : FuncDecl @@ -4201,11 +4201,11 @@ module TypeScript { >walker.walk(preAst.id, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.id : any > : ^^^ >preAst : BoundDecl @@ -4235,11 +4235,11 @@ module TypeScript { >walker.walk(preAst.init, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.init : any > : ^^^ >preAst : BoundDecl @@ -4285,11 +4285,11 @@ module TypeScript { >walker.walk(preAst.typeExpr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.typeExpr : any > : ^^^ >preAst : BoundDecl @@ -4331,11 +4331,11 @@ module TypeScript { >walker.walk(preAst.returnExpression, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.returnExpression : any > : ^^^ >preAst : ReturnStatement @@ -4377,11 +4377,11 @@ module TypeScript { >walker.walk(preAst.init, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.init : any > : ^^^ >preAst : ForStatement @@ -4424,11 +4424,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : ForStatement @@ -4471,11 +4471,11 @@ module TypeScript { >walker.walk(preAst.incr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.incr : any > : ^^^ >preAst : ForStatement @@ -4518,11 +4518,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : ForStatement @@ -4556,11 +4556,11 @@ module TypeScript { >walker.walk(preAst.lval, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.lval : any > : ^^^ >preAst : ForInStatement @@ -4594,11 +4594,11 @@ module TypeScript { >walker.walk(preAst.obj, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.obj : any > : ^^^ >preAst : ForInStatement @@ -4642,11 +4642,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : ForInStatement @@ -4680,11 +4680,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : IfStatement @@ -4728,11 +4728,11 @@ module TypeScript { >walker.walk(preAst.thenBod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.thenBod : any > : ^^^ >preAst : IfStatement @@ -4776,11 +4776,11 @@ module TypeScript { >walker.walk(preAst.elseBod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.elseBod : any > : ^^^ >preAst : IfStatement @@ -4814,11 +4814,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : WhileStatement @@ -4862,11 +4862,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : WhileStatement @@ -4900,11 +4900,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : DoWhileStatement @@ -4948,11 +4948,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : DoWhileStatement @@ -4996,11 +4996,11 @@ module TypeScript { >walker.walk(preAst.statements, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.statements : any > : ^^^ >preAst : Block @@ -5042,11 +5042,11 @@ module TypeScript { >walker.walk(preAst.expr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.expr : any > : ^^^ >preAst : CaseStatement @@ -5091,11 +5091,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : CaseStatement @@ -5137,11 +5137,11 @@ module TypeScript { >walker.walk(preAst.val, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.val : any > : ^^^ >preAst : SwitchStatement @@ -5188,11 +5188,11 @@ module TypeScript { >walker.walk(preAst.caseList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.caseList : any > : ^^^ >preAst : SwitchStatement @@ -5234,11 +5234,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : Try @@ -5282,11 +5282,11 @@ module TypeScript { >walker.walk(preAst.tryNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.tryNode : any > : ^^^ >preAst : TryCatch @@ -5333,11 +5333,11 @@ module TypeScript { >walker.walk(preAst.catchNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.catchNode : any > : ^^^ >preAst : TryCatch @@ -5379,11 +5379,11 @@ module TypeScript { >walker.walk(preAst.tryNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.tryNode : any > : ^^^ >preAst : TryFinally @@ -5428,11 +5428,11 @@ module TypeScript { >walker.walk(preAst.finallyNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.finallyNode : any > : ^^^ >preAst : TryFinally @@ -5474,11 +5474,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : Finally @@ -5522,11 +5522,11 @@ module TypeScript { >walker.walk(preAst.param, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.param : any > : ^^^ >preAst : Catch @@ -5571,11 +5571,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : Catch @@ -5611,11 +5611,11 @@ module TypeScript { >walker.walk(preAst.name, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.name : any > : ^^^ >preAst : NamedDeclaration @@ -5659,11 +5659,11 @@ module TypeScript { >walker.walk(preAst.members, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.members : any > : ^^^ >preAst : NamedDeclaration @@ -5690,7 +5690,7 @@ module TypeScript { >walkRecordChildren(preAst, parent, walker) : void > : ^^^^ >walkRecordChildren : (preAst: NamedDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : TypeDeclaration > : ^^^^^^^^^^^^^^^ >parent : AST @@ -5713,7 +5713,7 @@ module TypeScript { >walkNamedTypeChildren(preAst, parent, walker) : void > : ^^^^ >walkNamedTypeChildren : (preAst: TypeDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ClassDeclaration > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -5755,11 +5755,11 @@ module TypeScript { >walker.walk(preAst.extendsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.extendsList : any > : ^^^ >preAst : ClassDeclaration @@ -5804,11 +5804,11 @@ module TypeScript { >walker.walk(preAst.implementsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.implementsList : any > : ^^^ >preAst : ClassDeclaration @@ -5852,11 +5852,11 @@ module TypeScript { >walker.walk(preAst.bod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.bod : any > : ^^^ >preAst : Script @@ -5882,7 +5882,7 @@ module TypeScript { >walkNamedTypeChildren(preAst, parent, walker) : void > : ^^^^ >walkNamedTypeChildren : (preAst: TypeDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : InterfaceDeclaration > : ^^^^^^^^^^^^^^^^^^^^ >parent : AST @@ -5925,11 +5925,11 @@ module TypeScript { >walker.walk(preAst.extendsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.extendsList : any > : ^^^ >preAst : InterfaceDeclaration @@ -5974,11 +5974,11 @@ module TypeScript { >walker.walk(preAst.implementsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.implementsList : any > : ^^^ >preAst : InterfaceDeclaration @@ -6004,7 +6004,7 @@ module TypeScript { >walkRecordChildren(preAst, parent, walker) : void > : ^^^^ >walkRecordChildren : (preAst: NamedDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ >parent : AST @@ -6045,11 +6045,11 @@ module TypeScript { >walker.walk(preAst.id, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.id : any > : ^^^ >preAst : ImportDeclaration @@ -6079,11 +6079,11 @@ module TypeScript { >walker.walk(preAst.alias, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.alias : any > : ^^^ >preAst : ImportDeclaration @@ -6125,11 +6125,11 @@ module TypeScript { >walker.walk(preAst.expr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.expr : any > : ^^^ >preAst : WithStatement @@ -6172,11 +6172,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : WithStatement @@ -6225,11 +6225,11 @@ module TypeScript { >walker.walk(preAst.labels, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.labels : any > : ^^^ >preAst : LabeledStatement @@ -6263,11 +6263,11 @@ module TypeScript { >walker.walk(preAst.stmt, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.stmt : any > : ^^^ >preAst : LabeledStatement diff --git a/tests/baselines/reference/parserRealSource13.types b/tests/baselines/reference/parserRealSource13.types index 8ba4f04c7277e..90f4660a711ff 100644 --- a/tests/baselines/reference/parserRealSource13.types +++ b/tests/baselines/reference/parserRealSource13.types @@ -904,7 +904,7 @@ module TypeScript.AstWalkerWithDetailCallback { >AstWalkerCallback(true, cur, callback) : boolean > : ^^^^^^^ >AstWalkerCallback : (pre: boolean, ast: AST, callback: AstWalkerDetailCallback) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ >cur : AST @@ -931,7 +931,7 @@ module TypeScript.AstWalkerWithDetailCallback { >AstWalkerCallback(false, cur, callback) : boolean > : ^^^^^^^ >AstWalkerCallback : (pre: boolean, ast: AST, callback: AstWalkerDetailCallback) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ >cur : AST @@ -1047,21 +1047,21 @@ module TypeScript.AstWalkerWithDetailCallback { if (callback.DefaultCallback) { >callback.DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >callback : AstWalkerDetailCallback > : ^^^^^^^^^^^^^^^^^^^^^^^ >DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ return callback.DefaultCallback(pre, ast); >callback.DefaultCallback(pre, ast) : boolean > : ^^^^^^^ >callback.DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >callback : AstWalkerDetailCallback > : ^^^^^^^^^^^^^^^^^^^^^^^ >DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : boolean > : ^^^^^^^ >ast : AST diff --git a/tests/baselines/reference/parserRealSource14.types b/tests/baselines/reference/parserRealSource14.types index c51133c1a5bc8..547f0b56c1eb0 100644 --- a/tests/baselines/reference/parserRealSource14.types +++ b/tests/baselines/reference/parserRealSource14.types @@ -196,7 +196,7 @@ module TypeScript { >this.asts.map((value) => { return value; }) : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this.asts.map : (callbackfn: (value: TypeScript.AST, index: number, array: TypeScript.AST[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -204,7 +204,7 @@ module TypeScript { >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: TypeScript.AST, index: number, array: TypeScript.AST[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(value) => { return value; } : (value: TypeScript.AST) => TypeScript.AST > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : TypeScript.AST @@ -286,16 +286,16 @@ module TypeScript { this.asts.pop(); >this.asts.pop() : TypeScript.AST > : ^^^^^^^^^^^^^^ ->this.asts.pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>this.asts.pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ ->pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ } return head; >head : TypeScript.AST @@ -335,16 +335,16 @@ module TypeScript { this.asts.pop(); >this.asts.pop() : TypeScript.AST > : ^^^^^^^^^^^^^^ ->this.asts.pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>this.asts.pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ ->pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ } this.top = this.asts.length; >this.top = this.asts.length : number @@ -370,7 +370,7 @@ module TypeScript { >this.asts.push(ast) : number > : ^^^^^^ >this.asts.push : (...items: TypeScript.AST[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -378,7 +378,7 @@ module TypeScript { >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >push : (...items: TypeScript.AST[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >ast : TypeScript.AST > : ^^^^^^^^^^^^^^ } @@ -524,11 +524,11 @@ module TypeScript { >AstPath.reverseIndexOf(this.asts, this.asts.length - (this.top + 1)) : any > : ^^^ >AstPath.reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >AstPath : typeof AstPath > : ^^^^^^^^^^^^^^ >reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -573,11 +573,11 @@ module TypeScript { >AstPath.reverseIndexOf(this.asts, this.asts.length - this.top) : any > : ^^^ >AstPath.reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >AstPath : typeof AstPath > : ^^^^^^^^^^^^^^ >reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1402,7 +1402,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1533,7 +1533,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1664,7 +1664,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1795,7 +1795,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -2144,7 +2144,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -4806,11 +4806,11 @@ module TypeScript { >this.isListOfObjectLit() : boolean > : ^^^^^^^ >this.isListOfObjectLit : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isListOfObjectLit : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } public isEmptyListOfObjectLit(): boolean { @@ -6058,11 +6058,11 @@ module TypeScript { >this.isBodyOfCase() : boolean > : ^^^^^^^ >this.isBodyOfCase : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isBodyOfCase : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } public isSingleStatementList(): boolean { @@ -7119,7 +7119,7 @@ module TypeScript { >isValidAstNode(cur) : boolean > : ^^^^^^^ >isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ @@ -7489,11 +7489,11 @@ module TypeScript { >TypeScript.isValidAstNode(cur) : boolean > : ^^^^^^^ >TypeScript.isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >TypeScript : typeof TypeScript > : ^^^^^^^^^^^^^^^^^ >isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ @@ -7518,7 +7518,7 @@ module TypeScript { >max(bestOffset, cur.minChar) : number > : ^^^^^^ >max : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bestOffset : number > : ^^^^^^ >cur.minChar : any @@ -7595,7 +7595,7 @@ module TypeScript { >script : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ return bestOffset; >bestOffset : number @@ -7667,7 +7667,7 @@ module TypeScript { >callback(path, walker) : void > : ^^^^ >callback : (path: AstPath, walker: TypeScript.IAstWalker) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >path : AstPath > : ^^^^^^^ >walker : TypeScript.IAstWalker @@ -7711,11 +7711,11 @@ module TypeScript { >path.pop() : TypeScript.AST > : ^^^^^^^^^^^^^^ >path.pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >path : AstPath > : ^^^^^^^ >pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return cur; >cur : TypeScript.AST diff --git a/tests/baselines/reference/parserRealSource2.types b/tests/baselines/reference/parserRealSource2.types index 18ade41b1a001..beb7a8348569c 100644 --- a/tests/baselines/reference/parserRealSource2.types +++ b/tests/baselines/reference/parserRealSource2.types @@ -1613,31 +1613,31 @@ module TypeScript { export function ToDeclFlags(fncFlags: FncFlags) : DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fncFlags : FncFlags > : ^^^^^^^^ export function ToDeclFlags(varFlags: VarFlags) : DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >varFlags : VarFlags > : ^^^^^^^^ export function ToDeclFlags(symFlags: SymbolFlags): DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >symFlags : SymbolFlags > : ^^^^^^^^^^^ export function ToDeclFlags(moduleFlags: ModuleFlags): DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >moduleFlags : ModuleFlags > : ^^^^^^^^^^^ export function ToDeclFlags(fncOrVarOrSymbolOrModuleFlags: any) { >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fncOrVarOrSymbolOrModuleFlags : any > : ^^^ diff --git a/tests/baselines/reference/parserRealSource4.types b/tests/baselines/reference/parserRealSource4.types index ff46c18b13be1..b17459e9e063b 100644 --- a/tests/baselines/reference/parserRealSource4.types +++ b/tests/baselines/reference/parserRealSource4.types @@ -412,7 +412,7 @@ module TypeScript { >fn(k, this.table[k], context) : void > : ^^^^ >fn : (k: string, v: any, c: any) => void -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >k : string > : ^^^^^^ >this.table[k] : any @@ -483,7 +483,7 @@ module TypeScript { >fn(k, this.table[k], context) : boolean > : ^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >k : string > : ^^^^^^ >this.table[k] : any @@ -560,7 +560,7 @@ module TypeScript { >fn(k, this.table[k], context) : boolean > : ^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >k : string > : ^^^^^^ >this.table[k] : any @@ -666,11 +666,11 @@ module TypeScript { >this.primaryTable.getAllKeys().concat(this.secondaryTable.getAllKeys()) : string[] > : ^^^^^^^^ >this.primaryTable.getAllKeys().concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >this.primaryTable.getAllKeys() : string[] > : ^^^^^^^^ >this.primaryTable.getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -678,13 +678,13 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >this.secondaryTable.getAllKeys() : string[] > : ^^^^^^^^ >this.secondaryTable.getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -692,7 +692,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ } public add(key: string, data): boolean { @@ -715,7 +715,7 @@ module TypeScript { >this.primaryTable.add(key, data) : boolean > : ^^^^^^^ >this.primaryTable.add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -723,7 +723,7 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -734,7 +734,7 @@ module TypeScript { >this.secondaryTable.add(key, data) : boolean > : ^^^^^^^ >this.secondaryTable.add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -742,7 +742,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -770,7 +770,7 @@ module TypeScript { >this.primaryTable.addOrUpdate(key, data) : boolean > : ^^^^^^^ >this.primaryTable.addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -778,7 +778,7 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -789,7 +789,7 @@ module TypeScript { >this.secondaryTable.addOrUpdate(key, data) : boolean > : ^^^^^^^ >this.secondaryTable.addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -797,7 +797,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -823,7 +823,7 @@ module TypeScript { >this.primaryTable.map(fn, context) : void > : ^^^^ >this.primaryTable.map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -831,9 +831,9 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => void -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ @@ -841,7 +841,7 @@ module TypeScript { >this.secondaryTable.map(fn, context) : void > : ^^^^ >this.secondaryTable.map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -849,9 +849,9 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => void -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ } @@ -876,7 +876,7 @@ module TypeScript { >this.primaryTable.every(fn, context) : boolean > : ^^^^^^^ >this.primaryTable.every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -884,15 +884,15 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ >this.secondaryTable.every(fn, context) : boolean > : ^^^^^^^ >this.secondaryTable.every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -900,9 +900,9 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ } @@ -927,7 +927,7 @@ module TypeScript { >this.primaryTable.some(fn, context) : boolean > : ^^^^^^^ >this.primaryTable.some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -935,15 +935,15 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ >this.secondaryTable.some(fn, context) : boolean > : ^^^^^^^ >this.secondaryTable.some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -951,9 +951,9 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ } @@ -968,7 +968,7 @@ module TypeScript { >this.primaryTable.count() : number > : ^^^^^^ >this.primaryTable.count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -976,11 +976,11 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.secondaryTable.count() : number > : ^^^^^^ >this.secondaryTable.count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -988,7 +988,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } public lookup(key: string) { @@ -1003,7 +1003,7 @@ module TypeScript { >this.primaryTable.lookup(key) : any > : ^^^ >this.primaryTable.lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -1011,7 +1011,7 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ @@ -1032,7 +1032,7 @@ module TypeScript { >this.secondaryTable.lookup(key) : any > : ^^^ >this.secondaryTable.lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -1040,7 +1040,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ } @@ -1302,11 +1302,11 @@ module TypeScript { >this.hashFn(key) : number > : ^^^^^^ >this.hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >key : any > : ^^^ @@ -1360,11 +1360,11 @@ module TypeScript { >this.equalsFn(key, current.key) : boolean > : ^^^^^^^ >this.equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >this : this > : ^^^^ >equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >key : any > : ^^^ >current.key : any @@ -1446,11 +1446,11 @@ module TypeScript { >this.hashFn(key) : number > : ^^^^^^ >this.hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >key : any > : ^^^ @@ -1512,11 +1512,11 @@ module TypeScript { >this.equalsFn(key, current.key) : boolean > : ^^^^^^^ >this.equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >this : this > : ^^^^ >equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >key : any > : ^^^ >current.key : any @@ -1630,11 +1630,11 @@ module TypeScript { >this.hashFn(key) : number > : ^^^^^^ >this.hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >key : any > : ^^^ @@ -1688,11 +1688,11 @@ module TypeScript { >this.equalsFn(key, current.key) : boolean > : ^^^^^^^ >this.equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >this : this > : ^^^^ >equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >key : any > : ^^^ >current.key : any diff --git a/tests/baselines/reference/parserRealSource5.types b/tests/baselines/reference/parserRealSource5.types index 92a42147db2f0..8f3ed1a4a4b1f 100644 --- a/tests/baselines/reference/parserRealSource5.types +++ b/tests/baselines/reference/parserRealSource5.types @@ -252,7 +252,7 @@ module TypeScript { >this.outfile.WriteLine(this.builder) : void > : ^^^^ >this.outfile.WriteLine : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.outfile : ITextWriter > : ^^^^^^^^^^^ >this : this @@ -260,7 +260,7 @@ module TypeScript { >outfile : ITextWriter > : ^^^^^^^^^^^ >WriteLine : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.builder : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/parserRealSource6.types b/tests/baselines/reference/parserRealSource6.types index 4c8c4184af546..0ca3b7cf60791 100644 --- a/tests/baselines/reference/parserRealSource6.types +++ b/tests/baselines/reference/parserRealSource6.types @@ -139,11 +139,11 @@ module TypeScript { >this.scopeGetter() : SymbolScope > : ^^^^^^^^^^^ >this.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } public getObjectLiteralScope(): SymbolScope { @@ -154,11 +154,11 @@ module TypeScript { >this.objectLiteralScopeGetter() : SymbolScope > : ^^^^^^^^^^^ >this.objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } public getScopeAST() { @@ -214,11 +214,11 @@ module TypeScript { >this.getScriptFragmentStartAST() : AST > : ^^^ >this.getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ >minChar : any > : ^^^ } @@ -243,11 +243,11 @@ module TypeScript { >this.getScriptFragmentStartAST() : AST > : ^^^ >this.getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ var minChar = ast.minChar; >minChar : any @@ -796,11 +796,11 @@ module TypeScript { >context.scopeGetter = function () { return script.bod === null ? null : script.bod.enclosingScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return script.bod === null ? null : script.bod.enclosingScope; } : () => any > : ^^^^^^^^^ @@ -853,11 +853,11 @@ module TypeScript { >context.scopeGetter = function () { return (ast.type === null || ast.type.instanceType.containedScope === null) ? null : ast.type.instanceType.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return (ast.type === null || ast.type.instanceType.containedScope === null) ? null : ast.type.instanceType.containedScope; } : () => any > : ^^^^^^^^^ @@ -965,11 +965,11 @@ module TypeScript { >context.scopeGetter = function () { return objectLit.targetType.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return objectLit.targetType.containedScope; } : () => any > : ^^^^^^^^^ @@ -990,11 +990,11 @@ module TypeScript { >context.objectLiteralScopeGetter = function () { return objectLit.targetType.memberScope; } : () => any > : ^^^^^^^^^ >context.objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return objectLit.targetType.memberScope; } : () => any > : ^^^^^^^^^ @@ -1050,11 +1050,11 @@ module TypeScript { >context.scopeGetter = function () { return ast.type === null ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return ast.type === null ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ @@ -1107,11 +1107,11 @@ module TypeScript { >context.scopeGetter = function () { return (ast.type === null) ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return (ast.type === null) ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ @@ -1195,11 +1195,11 @@ module TypeScript { >context.scopeGetter = function () { // The scope of a class constructor is hidden somewhere we don't expect :-S if (funcDecl.isConstructor && hasFlag(funcDecl.fncFlags, FncFlags.ClassMethod)) { if (ast.type && ast.type.enclosingType) { return ast.type.enclosingType.constructorScope; } } if (funcDecl.scopeType) { return funcDecl.scopeType.containedScope; } if (funcDecl.type) { return funcDecl.type.containedScope; } return null; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { // The scope of a class constructor is hidden somewhere we don't expect :-S if (funcDecl.isConstructor && hasFlag(funcDecl.fncFlags, FncFlags.ClassMethod)) { if (ast.type && ast.type.enclosingType) { return ast.type.enclosingType.constructorScope; } } if (funcDecl.scopeType) { return funcDecl.scopeType.containedScope; } if (funcDecl.type) { return funcDecl.type.containedScope; } return null; } : () => any > : ^^^^^^^^^ diff --git a/tests/baselines/reference/parserRealSource7.types b/tests/baselines/reference/parserRealSource7.types index 874a848b17dae..8b2d40b9c40ca 100644 --- a/tests/baselines/reference/parserRealSource7.types +++ b/tests/baselines/reference/parserRealSource7.types @@ -798,7 +798,7 @@ module TypeScript { >findTypeSymbolInScopeChain(name, scopeChain.previous) : Symbol > : ^^^^^^ >findTypeSymbolInScopeChain : (name: string, scopeChain: ScopeChain) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >name : string > : ^^^^^^ >scopeChain.previous : any @@ -903,7 +903,7 @@ module TypeScript { >findTypeSymbolInScopeChain(name, context.topLevelScope) : Symbol > : ^^^^^^ >findTypeSymbolInScopeChain : (name: string, scopeChain: ScopeChain) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >name : any > : ^^^ >context.topLevelScope : ScopeChain @@ -1001,7 +1001,7 @@ module TypeScript { >findSymbolFromAlias(dottedExpr.operand1, context) : Symbol > : ^^^^^^ >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >dottedExpr.operand1 : any > : ^^^ >dottedExpr : BinaryExpression @@ -1033,7 +1033,7 @@ module TypeScript { >findSymbolFromAlias(dottedExpr.operand2, context) : Symbol > : ^^^^^^ >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >dottedExpr.operand2 : any > : ^^^ >dottedExpr : BinaryExpression @@ -1171,7 +1171,7 @@ module TypeScript { >findSymbolFromAlias(importDecl.alias, { topLevelScope: scopeChain, members: null, tcContext: context }) : Symbol > : ^^^^^^ >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >importDecl.alias : any > : ^^^ >importDecl : ImportDeclaration diff --git a/tests/baselines/reference/parserRealSource8.types b/tests/baselines/reference/parserRealSource8.types index d0a2dfdc64861..fe9c659ffc140 100644 --- a/tests/baselines/reference/parserRealSource8.types +++ b/tests/baselines/reference/parserRealSource8.types @@ -257,11 +257,11 @@ module TypeScript { >this.select(this.result, b) : Symbol > : ^^^^^^ >this.select : (a: Symbol, b: Symbol) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >select : (a: Symbol, b: Symbol) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.result : Symbol > : ^^^^^^ >this : this @@ -283,11 +283,11 @@ module TypeScript { >this.stop(this.result) : boolean > : ^^^^^^^ >this.stop : (s: Symbol) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >stop : (s: Symbol) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.result : Symbol > : ^^^^^^ >this : this @@ -456,7 +456,7 @@ module TypeScript { >context.modDeclChain.push(moduleDecl) : number > : ^^^^^^ >context.modDeclChain.push : (...items: ModuleDeclaration[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >context.modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext @@ -464,7 +464,7 @@ module TypeScript { >modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: ModuleDeclaration[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >moduleDecl : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ @@ -3761,16 +3761,16 @@ module TypeScript { context.modDeclChain.pop(); >context.modDeclChain.pop() : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ ->context.modDeclChain.pop : () => ModuleDeclaration -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>context.modDeclChain.pop : () => ModuleDeclaration | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^ >context.modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext > : ^^^^^^^^^^^^^^^^^^ >modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ ->pop : () => ModuleDeclaration -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>pop : () => ModuleDeclaration | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^ if (context.modDeclChain.length >= 1) { >context.modDeclChain.length >= 1 : boolean diff --git a/tests/baselines/reference/parserRealSource9.types b/tests/baselines/reference/parserRealSource9.types index 6d8281fd650c9..ab395310ba98b 100644 --- a/tests/baselines/reference/parserRealSource9.types +++ b/tests/baselines/reference/parserRealSource9.types @@ -903,11 +903,11 @@ module TypeScript { >this.bindType(scope, instanceType, null) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >instanceType : Type @@ -1345,11 +1345,11 @@ module TypeScript { >this.bindType(scope, type.elementType, null) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >type.elementType : any @@ -1715,11 +1715,11 @@ module TypeScript { >this.bindType(scope, typeSymbol.type, typeSymbol.instanceType) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >typeSymbol.type : any @@ -1778,11 +1778,11 @@ module TypeScript { >this.bindType(scope, typeSymbol.expansions[i], typeSymbol.instanceType) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >typeSymbol.expansions[i] : any diff --git a/tests/baselines/reference/parserRegularExpression4.types b/tests/baselines/reference/parserRegularExpression4.types index 55ae3207d263d..019c3de726558 100644 --- a/tests/baselines/reference/parserRegularExpression4.types +++ b/tests/baselines/reference/parserRegularExpression4.types @@ -39,11 +39,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/(\\?|&)adurl=/.test(c.href) : boolean > : ^^^^^^^ >/(\\?|&)adurl=/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/(\\?|&)adurl=/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -55,11 +55,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/(\\?|&)q=/.test(c.href) : boolean > : ^^^^^^^ >/(\\?|&)q=/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/(\\?|&)q=/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -75,11 +75,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/ (\\ ? | & ) rct = j / .test(c.href) : boolean > : ^^^^^^^ >/ (\\ ? | & ) rct = j / .test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ (\\ ? | & ) rct = j / : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -99,11 +99,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/(\\?|&)q=/.test(c.href) : boolean > : ^^^^^^^ >/(\\?|&)q=/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/(\\?|&)q=/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -125,7 +125,7 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >encodeURIComponent(W("q") || W("as_q") || A) : string > : ^^^^^^ >encodeURIComponent : (uriComponent: string | number | boolean) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >W("q") || W("as_q") || A : any > : ^^^ >W("q") || W("as_q") : any diff --git a/tests/baselines/reference/parserRegularExpression5.types b/tests/baselines/reference/parserRegularExpression5.types index b5d04a963e7b1..4c40322e6ee23 100644 --- a/tests/baselines/reference/parserRegularExpression5.types +++ b/tests/baselines/reference/parserRegularExpression5.types @@ -7,11 +7,11 @@ if (a) / (\\ ? | & ) rct = j / .test(c.href); >/ (\\ ? | & ) rct = j / .test(c.href) : boolean > : ^^^^^^^ >/ (\\ ? | & ) rct = j / .test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ (\\ ? | & ) rct = j / : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any diff --git a/tests/baselines/reference/parserS7.2_A1.5_T2.types b/tests/baselines/reference/parserS7.2_A1.5_T2.types index 9555ae1c07817..9650c1acebe84 100644 --- a/tests/baselines/reference/parserS7.2_A1.5_T2.types +++ b/tests/baselines/reference/parserS7.2_A1.5_T2.types @@ -16,7 +16,7 @@ eval("\u00A0var x\u00A0= 1\u00A0"); >eval("\u00A0var x\u00A0= 1\u00A0") : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"\u00A0var x\u00A0= 1\u00A0" : " var x = 1 " > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/parserStrictMode8.types b/tests/baselines/reference/parserStrictMode8.types index bf7e4b46d63c8..908fbd37e67b0 100644 --- a/tests/baselines/reference/parserStrictMode8.types +++ b/tests/baselines/reference/parserStrictMode8.types @@ -12,5 +12,5 @@ Instantiation count: 2,500 function eval() { >eval : { (x: string): any; (): void; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/parserUsingConstructorAsIdentifier.types b/tests/baselines/reference/parserUsingConstructorAsIdentifier.types index 60070a629cd5c..32bfd70a43e5a 100644 --- a/tests/baselines/reference/parserUsingConstructorAsIdentifier.types +++ b/tests/baselines/reference/parserUsingConstructorAsIdentifier.types @@ -126,11 +126,11 @@ >Object.create(basePrototype) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >basePrototype : any > : ^^^ @@ -154,11 +154,11 @@ >Object.defineProperty(constructor.prototype, "constructor", { value: constructor, writable: true, configurable: true, enumerable: true }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >constructor.prototype : any > : ^^^ >constructor : any diff --git a/tests/baselines/reference/parserharness.types b/tests/baselines/reference/parserharness.types index 9302a39383c4d..da5fe14851731 100644 --- a/tests/baselines/reference/parserharness.types +++ b/tests/baselines/reference/parserharness.types @@ -60,11 +60,11 @@ function switchToForwardSlashes(path: string) { >path.replace(/\\/g, "/") : string > : ^^^^^^ >path.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >path : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\\/g : RegExp > : ^^^^^^ >"/" : "/" @@ -95,11 +95,11 @@ function filePath(fullPath: string) { >fullPath.split("/") : string[] > : ^^^^^^^^ >fullPath.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >fullPath : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"/" : "/" > : ^^^ @@ -109,11 +109,11 @@ function filePath(fullPath: string) { >components.slice(0, components.length - 1) : string[] > : ^^^^^^^^ >components.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >components : string[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >components.length - 1 : number @@ -133,11 +133,11 @@ function filePath(fullPath: string) { >path.join("/") : string > : ^^^^^^ >path.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >path : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"/" : "/" > : ^^^ >"/" : "/" @@ -192,7 +192,7 @@ if (typeof ActiveXObject === "function") { >eval(typescriptServiceFile) : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >typescriptServiceFile : any > : ^^^ @@ -278,7 +278,7 @@ module Harness { >Function("return this").call(null) : any > : ^^^ >Function("return this").call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Function("return this") : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -286,7 +286,7 @@ module Harness { >"return this" : "return this" > : ^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export var usePull = false; >usePull : boolean @@ -389,11 +389,11 @@ module Harness { >bugIds.indexOf(id) : number > : ^^^^^^ >bugIds.indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >bugIds : string[] > : ^^^^^^^^ >indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >id : string > : ^^^^^^ >0 : 0 @@ -403,11 +403,11 @@ module Harness { >bugIds.push(id) : number > : ^^^^^^ >bugIds.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >bugIds : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >id : string > : ^^^^^^ } @@ -425,12 +425,12 @@ module Harness { > : ^^^^^^^^^^^^^^^^ >content.match(/\bbug (\d+)/i) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->content.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>content.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >content : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/\bbug (\d+)/i : RegExp > : ^^^^^^ @@ -442,11 +442,11 @@ module Harness { >bugs.forEach(bug => assert.bug(bug)) : void > : ^^^^ >bugs.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >bugs : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >bug => assert.bug(bug) : (bug: string) => any > : ^ ^^^^^^^^^^^^^^^^ >bug : string @@ -526,11 +526,11 @@ module Harness { >arr.forEach(n => actual = actual + '\n ' + n.toString()) : void > : ^^^^ >arr.forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >arr : any[] > : ^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >n => actual = actual + '\n ' + n.toString() : (n: any) => string > : ^ ^^^^^^^^^^^^^^^^ >n : any @@ -742,7 +742,7 @@ module Harness { >result.errors.forEach(err => { actual = actual + '\n ' + err.toString(); }) : void > : ^^^^ >result.errors.forEach : (callbackfn: (value: Compiler.CompilerError, index: number, array: Compiler.CompilerError[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >result.errors : Compiler.CompilerError[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >result : Compiler.CompilerResult @@ -750,7 +750,7 @@ module Harness { >errors : Compiler.CompilerError[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: Compiler.CompilerError, index: number, array: Compiler.CompilerError[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >err => { actual = actual + '\n ' + err.toString(); } : (err: Compiler.CompilerError) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >err : Compiler.CompilerError @@ -1202,7 +1202,7 @@ module Harness { >filter(arr[i]) : boolean > : ^^^^^^^ >filter : (item: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arr[i] : any > : ^^^ >arr : any[] @@ -1265,11 +1265,11 @@ module Harness { >content.split('\r\n') : string[] > : ^^^^^^^^ >content.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >content : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'\r\n' : "\r\n" > : ^^^^^^ @@ -1293,11 +1293,11 @@ module Harness { >content.split('\n') : string[] > : ^^^^^^^^ >content.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >content : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'\n' : "\n" > : ^^^^ } @@ -1319,11 +1319,11 @@ module Harness { >path.indexOf('tests') : number > : ^^^^^^ >path.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >path : string > : ^^^^^^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'tests' : "tests" > : ^^^^^^^ >0 : 0 @@ -1585,11 +1585,11 @@ module Harness { >loggers.push(logger) : number > : ^^^^^^ >loggers.push : (...items: ILogger[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >loggers : ILogger[] > : ^^^^^^^^^ >push : (...items: ILogger[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >logger : ILogger > : ^^^^^^^ } @@ -1725,7 +1725,7 @@ module Harness { >this.children.push(child) : number > : ^^^^^^ >this.children.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this.children : Runnable[] > : ^^^^^^^^^^ >this : this @@ -1733,7 +1733,7 @@ module Harness { >children : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >child : Runnable > : ^^^^^^^^ } @@ -1765,7 +1765,7 @@ module Harness { >fn.length : number > : ^^^^^^ >fn : (done?: IDone) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >length : number > : ^^^^^^ >0 : 0 @@ -1776,7 +1776,7 @@ module Harness { >fn() : void > : ^^^^ >fn : (done?: IDone) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ done(); >done() : void @@ -1807,7 +1807,7 @@ module Harness { >fn(function () { isAsync = false; // If we execute synchronously, this will get called before the return below. Runnable.popGlobalErrorHandler(); done(); }) : void > : ^^^^ >fn : (done?: IDone) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >function () { isAsync = false; // If we execute synchronously, this will get called before the return below. Runnable.popGlobalErrorHandler(); done(); } : () => void > : ^^^^^^^^^^ @@ -2136,7 +2136,7 @@ module Harness { >Runnable.currentStack.push(this) : number > : ^^^^^^ >Runnable.currentStack.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable @@ -2144,7 +2144,7 @@ module Harness { >currentStack : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ @@ -2283,16 +2283,16 @@ module Harness { Runnable.currentStack.pop(); >Runnable.currentStack.pop() : Runnable > : ^^^^^^^^ ->Runnable.currentStack.pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>Runnable.currentStack.pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable > : ^^^^^^^^^^^^^^^ >currentStack : Runnable[] > : ^^^^^^^^^^ ->pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ done() >done() : void @@ -2378,7 +2378,7 @@ module Harness { >Runnable.currentStack.push(this) : number > : ^^^^^^ >Runnable.currentStack.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable @@ -2386,7 +2386,7 @@ module Harness { >currentStack : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ @@ -2429,16 +2429,16 @@ module Harness { Runnable.currentStack.pop(); >Runnable.currentStack.pop() : Runnable > : ^^^^^^^^ ->Runnable.currentStack.pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>Runnable.currentStack.pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable > : ^^^^^^^^^^^^^^^ >currentStack : Runnable[] > : ^^^^^^^^^^ ->pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ if (e) { >e : any @@ -3034,7 +3034,7 @@ module Harness { >now = function () { return TestUtilities.QueryPerformanceCounter(); } : () => number > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function () { return TestUtilities.QueryPerformanceCounter(); } : () => number > : ^^^^^^^^^^^^ @@ -3042,11 +3042,11 @@ module Harness { >TestUtilities.QueryPerformanceCounter() : number > : ^^^^^^ >TestUtilities.QueryPerformanceCounter : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >TestUtilities : typeof TestUtilities > : ^^^^^^^^^^^^^^^^^^^^ >QueryPerformanceCounter : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } resolution = TestUtilities.QueryPerformanceFrequency(); @@ -3057,18 +3057,18 @@ module Harness { >TestUtilities.QueryPerformanceFrequency() : number > : ^^^^^^ >TestUtilities.QueryPerformanceFrequency : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >TestUtilities : typeof TestUtilities > : ^^^^^^^^^^^^^^^^^^^^ >QueryPerformanceFrequency : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { now = function () { >now = function () { return Date.now(); } : () => number > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function () { return Date.now(); } : () => number > : ^^^^^^^^^^^^ @@ -3076,11 +3076,11 @@ module Harness { >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } resolution = 1000; @@ -3135,11 +3135,11 @@ module Harness { >Clock.now() : number > : ^^^^^^ >Clock.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Clock : typeof Clock > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } public end() { @@ -3167,11 +3167,11 @@ module Harness { >Clock.now() : number > : ^^^^^^ >Clock.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Clock : typeof Clock > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.startTime : any > : ^^^ >this : this @@ -3209,7 +3209,7 @@ module Harness { >this.data.push(value) : number > : ^^^^^^ >this.data.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -3217,7 +3217,7 @@ module Harness { >data : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } @@ -3506,11 +3506,11 @@ module Harness { >Math.pow(this.data[i] - sampleMean, 2) : number > : ^^^^^^ >Math.pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Math : Math > : ^^^^ >pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.data[i] - sampleMean : number > : ^^^^^^ >this.data[i] : number @@ -3533,11 +3533,11 @@ module Harness { >Math.sqrt(sumOfSquares / this.data.length) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sumOfSquares / this.data.length : number > : ^^^^^^ >sumOfSquares : number @@ -3698,11 +3698,11 @@ module Harness { timeFunction = function ( >timeFunction = function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^ ^^^^^ >timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^ ^^^^^ benchmark: Benchmark, >benchmark : Benchmark @@ -3726,7 +3726,7 @@ module Harness { f = benchmark.bench >f : (bench?: { (): void; }) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >benchmark.bench : (subBench?: () => void) => void > : ^ ^^^ ^^^^^^^^^ >benchmark : Benchmark @@ -3768,7 +3768,7 @@ module Harness { >timeFunction(benchmark, description, name, f) : void > : ^^^^ >timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >benchmark : Benchmark > : ^^^^^^^^^ >description : string @@ -3783,15 +3783,15 @@ module Harness { >f.call(benchmark, subBenchmark) : any > : ^^^ >f.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >f : (bench?: { (): void; }) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >benchmark : Benchmark > : ^^^^^^^^^ >subBenchmark : (name: any, f: any) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ t.end(); >t.end() : void @@ -3838,7 +3838,7 @@ module Harness { >benchmarks.length : number > : ^^^^^^ >benchmarks : (new () => Benchmark)[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >i++ : number @@ -3852,9 +3852,9 @@ module Harness { >new benchmarks[i]() : Benchmark > : ^^^^^^^^^ >benchmarks[i] : new () => Benchmark -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >benchmarks : (new () => Benchmark)[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >i : number > : ^^^^^^ @@ -3911,7 +3911,7 @@ module Harness { >timeFunction(b) : void > : ^^^^ >timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Benchmark > : ^^^^^^^^^ @@ -4126,11 +4126,11 @@ module Harness { >benchmarks.push(BenchmarkClass) : number > : ^^^^^^ >benchmarks.push : (...items: (new () => Benchmark)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ >benchmarks : (new () => Benchmark)[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >push : (...items: (new () => Benchmark)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ >BenchmarkClass : any > : ^^^ } @@ -4190,7 +4190,7 @@ module Harness { >this.lines.push(this.currentLine + str) : number > : ^^^^^^ >this.lines.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.lines : string[] > : ^^^^^^^^ >this : this @@ -4198,7 +4198,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.currentLine + str : string > : ^^^^^^ >this.currentLine : string @@ -4245,7 +4245,7 @@ module Harness { >this.lines.push(this.currentLine) : number > : ^^^^^^ >this.lines.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.lines : string[] > : ^^^^^^^^ >this : this @@ -4253,7 +4253,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.currentLine : string > : ^^^^^^ >this : this @@ -4474,7 +4474,7 @@ module Harness { >this.fileCollection.hasOwnProperty(p) : boolean > : ^^^^^^^ >this.fileCollection.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.fileCollection : {} > : ^^ >this : this @@ -4482,7 +4482,7 @@ module Harness { >fileCollection : {} > : ^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >p : string > : ^^^^^^ @@ -4532,7 +4532,7 @@ module Harness { >current.lines.unshift('////[' + p + ']') : number > : ^^^^^^ >current.lines.unshift : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >current.lines : string[] > : ^^^^^^^^ >current : WriterAggregator @@ -4540,7 +4540,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >unshift : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >'////[' + p + ']' : string > : ^^^^^^ >'////[' + p : string @@ -4556,11 +4556,11 @@ module Harness { >result.push({ filename: p, file: this.fileCollection[p] }) : number > : ^^^^^^ >result.push : (...items: { filename: string; file: WriterAggregator; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ >result : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ >push : (...items: { filename: string; file: WriterAggregator; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ >{ filename: p, file: this.fileCollection[p] } : { filename: string; file: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >filename : string @@ -4584,7 +4584,7 @@ module Harness { } return result; >result : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ } } @@ -4676,11 +4676,11 @@ module Harness { >/\.d\.ts$/.test(filename) : boolean > : ^^^^^^^ >/\.d\.ts$/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\.d\.ts$/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >filename : string > : ^^^^^^ } @@ -5031,19 +5031,19 @@ module Harness { >Array.isArray && Array.isArray(arg) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array.isArray(arg) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : any > : ^^^ >arg instanceof Array : boolean @@ -5267,11 +5267,11 @@ module Harness { >this.compilesOk(testCode) : boolean > : ^^^^^^^ >this.compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >testCode : string > : ^^^^^^ } @@ -5639,11 +5639,11 @@ module Harness { >this.compilesOk(testCode) : boolean > : ^^^^^^^ >this.compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >testCode : string > : ^^^^^^ } @@ -6322,11 +6322,11 @@ module Harness { >matchingIdentifiers.push(new Type(entries[i].type, code, targetIdentifier)) : number > : ^^^^^^ >matchingIdentifiers.push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >new Type(entries[i].type, code, targetIdentifier) : Type > : ^^^^ >Type : typeof Type @@ -6484,11 +6484,11 @@ module Harness { >matchingIdentifiers.some(value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type)) : boolean > : ^^^^^^^ >matchingIdentifiers.some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type) : (value: Type) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >value : Type @@ -6550,11 +6550,11 @@ module Harness { >matchingIdentifiers.push(foundValue) : number > : ^^^^^^ >matchingIdentifiers.push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >foundValue : Type > : ^^^^ } @@ -6646,11 +6646,11 @@ module Harness { >matchingIdentifiers.some(value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type)) : boolean > : ^^^^^^^ >matchingIdentifiers.some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type) : (value: Type) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >value : Type @@ -6712,11 +6712,11 @@ module Harness { >matchingIdentifiers.push(foundValue) : number > : ^^^^^^ >matchingIdentifiers.push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >foundValue : Type > : ^^^^ } @@ -7488,25 +7488,25 @@ module Harness { try { if (compilationContext && compilationContext.preCompile) { >compilationContext && compilationContext.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >compilationContext.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ compilationContext.preCompile(); >compilationContext.preCompile() : void > : ^^^^ >compilationContext.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } addUnit(code, unitName, false, false, references); @@ -7666,11 +7666,11 @@ module Harness { >fn.indexOf('.d.ts') : number > : ^^^^^^ >fn.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >fn : string > : ^^^^^^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'.d.ts' : ".d.ts" > : ^^^^^^^ >0 : 0 @@ -7710,7 +7710,7 @@ module Harness { >writer.lines.join('\n') : string > : ^^^^^^ >writer.lines.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >writer.lines : string[] > : ^^^^^^^^ >writer : WriterAggregator @@ -7718,7 +7718,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'\n' : "\n" > : ^^^^ @@ -7819,25 +7819,25 @@ module Harness { if (compilationContext && compilationContext.postCompile) { >compilationContext && compilationContext.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >compilationContext.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ compilationContext.postCompile(); >compilationContext.postCompile() : void > : ^^^^ >compilationContext.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } var uName = unitName || '0.ts'; @@ -7904,15 +7904,15 @@ module Harness { >fileResults.forEach(v => lines = lines.concat(v.file.lines)) : void > : ^^^^ >fileResults.forEach : (callbackfn: (value: { filename: string; file: WriterAggregator; }, index: number, array: { filename: string; file: WriterAggregator; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >fileResults : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ >forEach : (callbackfn: (value: { filename: string; file: WriterAggregator; }, index: number, array: { filename: string; file: WriterAggregator; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >v => lines = lines.concat(v.file.lines) : (v: { filename: string; file: WriterAggregator; }) => any[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ >v : { filename: string; file: WriterAggregator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^ >lines = lines.concat(v.file.lines) : any[] > : ^^^^^ >lines : any[] @@ -7920,17 +7920,17 @@ module Harness { >lines.concat(v.file.lines) : any[] > : ^^^^^ >lines.concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >lines : any[] > : ^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >v.file.lines : string[] > : ^^^^^^^^ >v.file : WriterAggregator > : ^^^^^^^^^^^^^^^^ >v : { filename: string; file: WriterAggregator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^ >file : WriterAggregator > : ^^^^^^^^^^^^^^^^ >lines : string[] @@ -7948,11 +7948,11 @@ module Harness { >lines.join("\n") : string > : ^^^^^^ >lines.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >lines : any[] > : ^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"\n" : "\n" > : ^^^^ @@ -8012,7 +8012,7 @@ module Harness { >this.errors.push(new CompilerError(err.filename, 0, 0, err.message)) : number > : ^^^^^^ >this.errors.push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >this.errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >this : this @@ -8020,7 +8020,7 @@ module Harness { >errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >new CompilerError(err.filename, 0, 0, err.message) : CompilerError > : ^^^^^^^^^^^^^ >CompilerError : typeof CompilerError @@ -8048,16 +8048,16 @@ module Harness { > : ^^^^^^^^^^^^^^^^ >errorLines[i].match(/([^\(]*)\((\d+),(\d+)\):\s+((.*[\s\r\n]*.*)+)\s*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->errorLines[i].match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>errorLines[i].match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >errorLines[i] : string > : ^^^^^^ >errorLines : string[] > : ^^^^^^^^ >i : number > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/([^\(]*)\((\d+),(\d+)\):\s+((.*[\s\r\n]*.*)+)\s*$/ : RegExp > : ^^^^^^ @@ -8069,7 +8069,7 @@ module Harness { >this.errors.push(new CompilerError(match[1], parseFloat(match[2]), parseFloat(match[3]), match[4])) : number > : ^^^^^^ >this.errors.push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >this.errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >this : this @@ -8077,7 +8077,7 @@ module Harness { >errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >new CompilerError(match[1], parseFloat(match[2]), parseFloat(match[3]), match[4]) : CompilerError > : ^^^^^^^^^^^^^ >CompilerError : typeof CompilerError @@ -8091,7 +8091,7 @@ module Harness { >parseFloat(match[2]) : number > : ^^^^^^ >parseFloat : (string: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >match[2] : string > : ^^^^^^ >match : RegExpMatchArray @@ -8101,7 +8101,7 @@ module Harness { >parseFloat(match[3]) : number > : ^^^^^^ >parseFloat : (string: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >match[3] : string > : ^^^^^^ >match : RegExpMatchArray @@ -8764,12 +8764,12 @@ module Harness { > : ^^^^^^ >path.match(/[^\/]*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->path.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>path.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >path : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/[^\/]*$/ : RegExp > : ^^^^^^ >0 : 0 @@ -8795,9 +8795,9 @@ module Harness { >filename : string > : ^^^^^^ >callback : (res: CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >references : TypeScript.IFileReference[] @@ -8931,13 +8931,13 @@ module Harness { if (settingsCallback) { >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ settingsCallback(compiler.settings); >settingsCallback(compiler.settings) : void > : ^^^^ >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >compiler.settings : any > : ^^^ >compiler : TypeScript.TypeScriptCompiler @@ -8980,7 +8980,7 @@ module Harness { >filename : string > : ^^^^^^ >callback : (res: CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >references : TypeScript.IFileReference[] @@ -8991,7 +8991,7 @@ module Harness { // So that a test doesn't have side effects for tests run after it, restore the compiler settings to their previous state. if (settingsCallback) { >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ compiler.settings = oldCompilerSettings; >compiler.settings = oldCompilerSettings : any @@ -9073,8 +9073,8 @@ module Harness { > : ^^^^^^ >switchToForwardSlashes(lastUnit.name).match(/[^\/]*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->switchToForwardSlashes(lastUnit.name).match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>switchToForwardSlashes(lastUnit.name).match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >switchToForwardSlashes(lastUnit.name) : string > : ^^^^^^ >switchToForwardSlashes : (path: string) => string @@ -9085,8 +9085,8 @@ module Harness { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/[^\/]*$/ : RegExp > : ^^^^^^ >0 : 0 @@ -9098,11 +9098,11 @@ module Harness { >units.slice(0, units.length - 1) : TestCaseParser.TestUnitData[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >units.slice : (start?: number, end?: number) => TestCaseParser.TestUnitData[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >units : TestCaseParser.TestUnitData[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => TestCaseParser.TestUnitData[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >units.length - 1 : number @@ -9122,7 +9122,7 @@ module Harness { >Harness.Compiler.defineCompilationContextForTest(unitName, dependencies) : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >Harness.Compiler.defineCompilationContextForTest : (filename: string, dependencies: TestCaseParser.TestUnitData[]) => CompilationContext -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Harness.Compiler : typeof Compiler > : ^^^^^^^^^^^^^^^ >Harness : typeof Harness @@ -9130,7 +9130,7 @@ module Harness { >Compiler : typeof Compiler > : ^^^^^^^^^^^^^^^ >defineCompilationContextForTest : (filename: string, dependencies: TestCaseParser.TestUnitData[]) => CompilationContext -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >unitName : string > : ^^^^^^ >dependencies : TestCaseParser.TestUnitData[] @@ -9150,9 +9150,9 @@ module Harness { >unitName : string > : ^^^^^^ >callback : (res: Compiler.CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >settingsCallback : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >lastUnit.references : TypeScript.IFileReference[] @@ -9249,11 +9249,11 @@ module Harness { >context.preCompile() : void > : ^^^^ >context.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } var isDeclareFile = Harness.Compiler.isDeclareFile(unitName); @@ -9301,11 +9301,11 @@ module Harness { >scripts.push(addUnit(code, uName, false, isDeclareFile, references)) : number > : ^^^^^^ >scripts.push : (...items: TypeScript.Script[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >scripts : TypeScript.Script[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: TypeScript.Script[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >addUnit(code, uName, false, isDeclareFile, references) : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >addUnit : (code: string, unitName?: string, isResident?: boolean, isDeclareFile?: boolean, references?: TypeScript.IFileReference[]) => TypeScript.Script @@ -9409,30 +9409,30 @@ module Harness { >context.postCompile() : void > : ^^^^ >context.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } callback(new CompilerResult(stdout.toArray(), errors, scripts)); >callback(new CompilerResult(stdout.toArray(), errors, scripts)) : void > : ^^^^ >callback : (res: Compiler.CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >new CompilerResult(stdout.toArray(), errors, scripts) : CompilerResult > : ^^^^^^^^^^^^^^ >CompilerResult : typeof CompilerResult > : ^^^^^^^^^^^^^^^^^^^^^ >stdout.toArray() : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ >stdout.toArray : () => { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >stdout : EmitterIOHost > : ^^^^^^^^^^^^^ >toArray : () => { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >errors : any > : ^^^ >scripts : TypeScript.Script[] @@ -9485,11 +9485,11 @@ module Harness { >dependencies.forEach(dep => { addUnit(dep.content, dep.name, false, Harness.Compiler.isDeclareFile(dep.name)); addedFiles.push(dep.name); }) : void > : ^^^^ >dependencies.forEach : (callbackfn: (value: TestCaseParser.TestUnitData, index: number, array: TestCaseParser.TestUnitData[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >dependencies : TestCaseParser.TestUnitData[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: TestCaseParser.TestUnitData, index: number, array: TestCaseParser.TestUnitData[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >dep => { addUnit(dep.content, dep.name, false, Harness.Compiler.isDeclareFile(dep.name)); addedFiles.push(dep.name); } : (dep: TestCaseParser.TestUnitData) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dep : TestCaseParser.TestUnitData @@ -9537,11 +9537,11 @@ module Harness { >addedFiles.push(dep.name) : number > : ^^^^^^ >addedFiles.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >addedFiles : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >dep.name : string > : ^^^^^^ >dep : TestCaseParser.TestUnitData @@ -9561,11 +9561,11 @@ module Harness { >addedFiles.forEach(file => { updateUnit('', file); }) : void > : ^^^^ >addedFiles.forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >addedFiles : any[] > : ^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >file => { updateUnit('', file); } : (file: any) => void > : ^ ^^^^^^^^^^^^^^ >file : any @@ -9726,11 +9726,11 @@ module Harness { >opts.push({ flag: match[1], value: match[2] }) : number > : ^^^^^^ >opts.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >opts : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{ flag: match[1], value: match[2] } : { flag: any; value: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >flag : any @@ -9775,7 +9775,7 @@ module Harness { >extractCompilerSettings(code) : CompilerSetting[] > : ^^^^^^^^^^^^^^^^^ >extractCompilerSettings : (content: string) => CompilerSetting[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >code : string > : ^^^^^^ @@ -9855,11 +9855,11 @@ module Harness { >/[\/]{3}\s* : ^^^^^^^ >/[\/]{3}\s* boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/[\/]{3}\s* : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >line : string > : ^^^^^^ @@ -9887,12 +9887,12 @@ module Harness { > : ^^^^^^^^^^^^^^^^ >line.match(/reference\spath='(\w*_?\w*\.?d?\.ts)'/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->line.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>line.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >line : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/reference\spath='(\w*_?\w*\.?d?\.ts)'/ : RegExp > : ^^^^^^ @@ -9952,11 +9952,11 @@ module Harness { >refs.push(ref) : number > : ^^^^^^ >refs.push : (...items: TypeScript.IFileReference[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >refs : TypeScript.IFileReference[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >push : (...items: TypeScript.IFileReference[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ref : { minChar: number; limChar: number; startLine: number; startCol: number; path: string; isResident: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -9983,11 +9983,11 @@ module Harness { >fileMetadataNames.indexOf(testMetaData[1].toLowerCase()) : number > : ^^^^^^ >fileMetadataNames.indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >fileMetadataNames : string[] > : ^^^^^^^^ >indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >testMetaData[1].toLowerCase() : any > : ^^^ >testMetaData[1].toLowerCase : any @@ -10035,11 +10035,11 @@ module Harness { >fileMetadataNames.join(', ') : string > : ^^^^^^ >fileMetadataNames.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >fileMetadataNames : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >', ' : ", " > : ^^^^ @@ -10123,11 +10123,11 @@ module Harness { >files.push(newTestFile) : number > : ^^^^^^ >files.push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >files : TestUnitData[] > : ^^^^^^^^^^^^^^ >push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >newTestFile : { content: string; name: any; fileOptions: {}; originalFilePath: string; references: TypeScript.IFileReference[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -10294,11 +10294,11 @@ module Harness { >files.push(newTestFile) : number > : ^^^^^^ >files.push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >files : TestUnitData[] > : ^^^^^^^^^^^^^^ >push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >newTestFile : { content: string; name: any; fileOptions: {}; originalFilePath: string; references: TypeScript.IFileReference[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -10371,11 +10371,11 @@ module Harness { >this.editRanges = [] : undefined[] > : ^^^^^^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -10431,7 +10431,7 @@ module Harness { >this.content.substring(0, minChar) : string > : ^^^^^^ >this.content.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.content : string > : ^^^^^^ >this : this @@ -10439,7 +10439,7 @@ module Harness { >content : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >minChar : number @@ -10457,7 +10457,7 @@ module Harness { >this.content.substring(limChar) : string > : ^^^^^^ >this.content.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.content : string > : ^^^^^^ >this : this @@ -10465,7 +10465,7 @@ module Harness { >content : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >limChar : number > : ^^^^^^ @@ -10494,15 +10494,15 @@ module Harness { >this.editRanges.push({ length: this.content.length, editRange: new TypeScript.ScriptEditRange(minChar, limChar, (limChar - minChar) + newText.length) }) : number > : ^^^^^^ >this.editRanges.push : (...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >push : (...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >{ length: this.content.length, editRange: new TypeScript.ScriptEditRange(minChar, limChar, (limChar - minChar) + newText.length) } : { length: number; editRange: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -10560,11 +10560,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ >this.maxScriptVersions : number @@ -10576,17 +10576,17 @@ module Harness { this.editRanges.splice(0, this.maxScriptVersions - this.editRanges.length); >this.editRanges.splice(0, this.maxScriptVersions - this.editRanges.length) : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this.editRanges.splice : { (start: number, deleteCount?: number): { length: number; editRange: TypeScript.ScriptEditRange; }[]; (start: number, deleteCount: number, ...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]): { length: number; editRange: TypeScript.ScriptEditRange; }[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >splice : { (start: number, deleteCount?: number): { length: number; editRange: TypeScript.ScriptEditRange; }[]; (start: number, deleteCount: number, ...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]): { length: number; editRange: TypeScript.ScriptEditRange; }[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ >0 : 0 > : ^ >this.maxScriptVersions - this.editRanges.length : number @@ -10600,11 +10600,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ } @@ -10653,11 +10653,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ >(this.version - version) : number @@ -10689,11 +10689,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ @@ -10715,19 +10715,19 @@ module Harness { var entries = this.editRanges.slice(initialEditRangeIndex); >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this.editRanges.slice(initialEditRangeIndex) : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this.editRanges.slice : (start?: number, end?: number) => { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >slice : (start?: number, end?: number) => { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >initialEditRangeIndex : number > : ^^^^^^ @@ -10741,21 +10741,21 @@ module Harness { >entries.map(x => x.editRange.minChar) : any[] > : ^^^^^ >entries.map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.editRange.minChar : (x: { length: number; editRange: TypeScript.ScriptEditRange; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >x.editRange.minChar : any > : ^^^ >x.editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >minChar : any @@ -10771,11 +10771,11 @@ module Harness { >Math.min(prev, current) : number > : ^^^^^^ >Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >prev : any > : ^^^ >current : any @@ -10791,21 +10791,21 @@ module Harness { >entries.map(x => x.length - x.editRange.limChar) : number[] > : ^^^^^^^^ >entries.map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.length - x.editRange.limChar : (x: { length: number; editRange: TypeScript.ScriptEditRange; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >x.length - x.editRange.limChar : number > : ^^^^^^ >x.length : number > : ^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >x.editRange.limChar : any @@ -10813,7 +10813,7 @@ module Harness { >x.editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >limChar : any @@ -10829,11 +10829,11 @@ module Harness { >Math.min(prev, current) : number > : ^^^^^^ >Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >prev : number > : ^^^^^^ >current : number @@ -10849,21 +10849,21 @@ module Harness { >entries.map(x => x.editRange.delta) : any[] > : ^^^^^ >entries.map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.editRange.delta : (x: { length: number; editRange: TypeScript.ScriptEditRange; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >x.editRange.delta : any > : ^^^ >x.editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >delta : any @@ -10899,9 +10899,9 @@ module Harness { >entries[0].length : number > : ^^^^^^ >entries[0] : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >0 : 0 > : ^ >length : number @@ -11039,7 +11039,7 @@ module Harness { >this.scripts.push(script) : number > : ^^^^^^ >this.scripts.push : (...items: ScriptInfo[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >this.scripts : ScriptInfo[] > : ^^^^^^^^^^^^ >this : this @@ -11047,7 +11047,7 @@ module Harness { >scripts : ScriptInfo[] > : ^^^^^^^^^^^^ >push : (...items: ScriptInfo[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >script : ScriptInfo > : ^^^^^^^^^^ } @@ -11362,7 +11362,7 @@ module Harness { >this.scripts[scriptIndex].content.substring(start, end) : string > : ^^^^^^ >this.scripts[scriptIndex].content.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.scripts[scriptIndex].content : string > : ^^^^^^ >this.scripts[scriptIndex] : ScriptInfo @@ -11378,7 +11378,7 @@ module Harness { >content : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >start : number > : ^^^^^^ >end : number @@ -11495,7 +11495,7 @@ module Harness { >this.scripts[scriptIndex].getEditRangeSinceVersion(scriptVersion) : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.scripts[scriptIndex].getEditRangeSinceVersion : (version: number) => TypeScript.ScriptEditRange -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.scripts[scriptIndex] : ScriptInfo > : ^^^^^^^^^^ >this.scripts : ScriptInfo[] @@ -11507,7 +11507,7 @@ module Harness { >scriptIndex : number > : ^^^^^^ >getEditRangeSinceVersion : (version: number) => TypeScript.ScriptEditRange -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >scriptVersion : number > : ^^^^^^ @@ -11721,11 +11721,11 @@ module Harness { >this.parseSourceText(fileName, sourceText) : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >this.parseSourceText : (fileName: string, sourceText: TypeScript.ISourceText) => TypeScript.Script -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >parseSourceText : (fileName: string, sourceText: TypeScript.ISourceText) => TypeScript.Script -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >fileName : string > : ^^^^^^ >sourceText : any @@ -12003,11 +12003,11 @@ module Harness { >this.applyEdits(script, edits) : string > : ^^^^^^ >this.applyEdits : (content: string, edits: Services.TextEdit[]) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >applyEdits : (content: string, edits: Services.TextEdit[]) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >script : any > : ^^^ >edits : Services.TextEdit[] @@ -12078,11 +12078,11 @@ module Harness { >this.normalizeEdits(edits) : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >this.normalizeEdits : (edits: Services.TextEdit[]) => Services.TextEdit[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >normalizeEdits : (edits: Services.TextEdit[]) => Services.TextEdit[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >edits : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ @@ -12126,11 +12126,11 @@ module Harness { >result.substring(0, edit.minChar) : string > : ^^^^^^ >result.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >result : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >edit.minChar : any @@ -12156,11 +12156,11 @@ module Harness { >result.substring(edit.limChar) : string > : ^^^^^^ >result.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >result : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >edit.limChar : any > : ^^^ >edit : Services.TextEdit @@ -12252,11 +12252,11 @@ module Harness { >result.push({ edit: edits[i], index: i }) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{ edit: edits[i], index: i } : { edit: Services.TextEdit; index: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >edit : Services.TextEdit @@ -12279,25 +12279,25 @@ module Harness { var temp = mapEdits(edits).sort(function (a, b) { >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits(edits).sort(function (a, b) { var result = a.edit.minChar - b.edit.minChar; if (result == 0) result = a.index - b.index; return result; }) : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits(edits).sort : (compareFn?: (a: { edit: Services.TextEdit; index: number; }, b: { edit: Services.TextEdit; index: number; }) => number) => { edit: Services.TextEdit; index: number; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits(edits) : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits : (edits: Services.TextEdit[]) => { edit: Services.TextEdit; index: number; }[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >edits : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >sort : (compareFn?: (a: { edit: Services.TextEdit; index: number; }, b: { edit: Services.TextEdit; index: number; }) => number) => { edit: Services.TextEdit; index: number; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ >function (a, b) { var result = a.edit.minChar - b.edit.minChar; if (result == 0) result = a.index - b.index; return result; } : (a: { edit: Services.TextEdit; index: number; }, b: { edit: Services.TextEdit; index: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ >a : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >b : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ var result = a.edit.minChar - b.edit.minChar; >result : number @@ -12309,7 +12309,7 @@ module Harness { >a.edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >a : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >minChar : any @@ -12319,7 +12319,7 @@ module Harness { >b.edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >b : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >minChar : any @@ -12343,13 +12343,13 @@ module Harness { >a.index : number > : ^^^^^^ >a : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >b.index : number > : ^^^^^^ >b : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ @@ -12379,7 +12379,7 @@ module Harness { >temp.length : number > : ^^^^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ @@ -12389,9 +12389,9 @@ module Harness { >temp[current].edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >temp[current] : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >current : number > : ^^^^^^ >edit : Services.TextEdit @@ -12406,7 +12406,7 @@ module Harness { >temp.length : number > : ^^^^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ @@ -12414,11 +12414,11 @@ module Harness { >result.push(currentEdit) : number > : ^^^^^^ >result.push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >currentEdit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ @@ -12436,9 +12436,9 @@ module Harness { >temp[next].edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >temp[next] : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >next : number > : ^^^^^^ >edit : Services.TextEdit @@ -12475,11 +12475,11 @@ module Harness { >result.push(currentEdit) : number > : ^^^^^^ >result.push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >currentEdit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ @@ -12550,11 +12550,11 @@ module Harness { >JSON.stringify({ usePullLanguageService: usePull }) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >{ usePullLanguageService: usePull } : { usePullLanguageService: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >usePullLanguageService : boolean @@ -12583,7 +12583,7 @@ module Harness { >description : string > : ^^^^^^ >block : () => any -> : ^^^^^^^^^ +> : ^^^^^^ if (Runnable.currentStack.length === 0) { >Runnable.currentStack.length === 0 : boolean @@ -12605,7 +12605,7 @@ module Harness { >Runnable.currentStack.push(currentRun) : number > : ^^^^^^ >Runnable.currentStack.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable @@ -12613,7 +12613,7 @@ module Harness { >currentStack : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >currentRun : Run > : ^^^ } @@ -12622,7 +12622,7 @@ module Harness { >Runnable.currentStack[Runnable.currentStack.length - 1].addChild(newScenario) : void > : ^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1].addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1] : Runnable > : ^^^^^^^^ >Runnable.currentStack : Runnable[] @@ -12646,7 +12646,7 @@ module Harness { >1 : 1 > : ^ >addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >newScenario : Scenario > : ^^^^^^^^ } @@ -12668,13 +12668,13 @@ module Harness { >description : string > : ^^^^^^ >block : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Runnable.currentStack[Runnable.currentStack.length - 1].addChild(testCase); >Runnable.currentStack[Runnable.currentStack.length - 1].addChild(testCase) : void > : ^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1].addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1] : Runnable > : ^^^^^^^^ >Runnable.currentStack : Runnable[] @@ -12698,7 +12698,7 @@ module Harness { >1 : 1 > : ^ >addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >testCase : TestCase > : ^^^^^^^^ } @@ -12801,18 +12801,18 @@ module Harness { > : ^^^^^^ >path.match(/[^\/]*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->path.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>path.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >path : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/[^\/]*$/ : RegExp > : ^^^^^^ >0 : 0 > : ^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } export function runJSString(code: string, callback: (error: Error, result: any) => void ) { @@ -12884,7 +12884,7 @@ module Harness { >eval(code) : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >code : string > : ^^^^^^ @@ -12923,7 +12923,7 @@ module Harness { >callback(null, res) : void > : ^^^^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >res : any > : ^^^ @@ -12966,7 +12966,7 @@ module Harness { >callback(e, null) : void > : ^^^^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >e : any > : ^^^ } @@ -13016,7 +13016,7 @@ module Harness { >code : string > : ^^^^^^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ }); } @@ -13392,11 +13392,11 @@ module Harness { >reportContent.replace(htmlTrailer, '') : string > : ^^^^^^ >reportContent.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >reportContent : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >htmlTrailer : string > : ^^^^^^ >'' : "" @@ -13505,7 +13505,7 @@ module Harness { >generateContent() : string > : ^^^^^^ >generateContent : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (actual === undefined) { >actual === undefined : boolean @@ -13664,11 +13664,11 @@ module Harness { >expected.replace(/\r\n?/g, '\n') : string > : ^^^^^^ >expected.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >expected : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\r\n?/g : RegExp > : ^^^^^^ >'\n' : "\n" @@ -13682,11 +13682,11 @@ module Harness { >actual.replace(/\r\n?/g, '\n') : string > : ^^^^^^ >actual.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >actual : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\r\n?/g : RegExp > : ^^^^^^ >'\n' : "\n" @@ -13828,7 +13828,7 @@ module Harness { >prepareBaselineReport() : string > : ^^^^^^ >prepareBaselineReport : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ reportContentSoFar = reportContentSoFar + header + '
    ' + diff.mergedHtml + '
    ' + trailer + htmlTrailer; >reportContentSoFar = reportContentSoFar + header + '
    ' + diff.mergedHtml + '
    ' + trailer + htmlTrailer : string @@ -13944,11 +13944,11 @@ module Harness { >generateActual(actualFilename, generateContent) : string > : ^^^^^^ >generateActual : (actualFilename: string, generateContent: () => string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >actualFilename : string > : ^^^^^^ >generateContent : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var comparison = compareToBaseline(actual, relativeFilename, opts); >comparison : { expected: string; actual: string; } @@ -14021,11 +14021,11 @@ module Harness { >generateActual(actualFilename, generateContent) : string > : ^^^^^^ >generateActual : (actualFilename: string, generateContent: () => string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >actualFilename : string > : ^^^^^^ >generateContent : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ }); diff --git a/tests/baselines/reference/parserindenter.types b/tests/baselines/reference/parserindenter.types index be5e998a0eadf..0d93f460d18e4 100644 --- a/tests/baselines/reference/parserindenter.types +++ b/tests/baselines/reference/parserindenter.types @@ -145,11 +145,11 @@ module Formatting { >this.ApplyScriptBlockIndentation(this.languageHostIndentation, this.tree) : void > : ^^^^ >this.ApplyScriptBlockIndentation : (languageHostIndentation: string, tree: ParseTree) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyScriptBlockIndentation : (languageHostIndentation: string, tree: ParseTree) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.languageHostIndentation : string > : ^^^^^^ >this : this @@ -167,11 +167,11 @@ module Formatting { >this.FillInheritedIndentation(this.tree) : void > : ^^^^ >this.FillInheritedIndentation : (tree: ParseTree) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >FillInheritedIndentation : (tree: ParseTree) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.tree : ParseTree > : ^^^^^^^^^ >this : this @@ -332,11 +332,11 @@ module Formatting { >this.GetIndentationEditsWorker(token, nextToken, node, sameLineIndent) : List_TextEditInfo > : ^^^^^^^^^^^^^^^^^ >this.GetIndentationEditsWorker : (token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean) => List_TextEditInfo -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentationEditsWorker : (token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean) => List_TextEditInfo -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >nextToken : TokenSpan @@ -513,11 +513,11 @@ module Formatting { >this.AdjustStartOffsetIfNeeded(token, node) : void > : ^^^^ >this.AdjustStartOffsetIfNeeded : (token: TokenSpan, node: ParseNode) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >AdjustStartOffsetIfNeeded : (token: TokenSpan, node: ParseNode) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -558,11 +558,11 @@ module Formatting { >this.IsMultiLineString(token) : boolean > : ^^^^^^^ >this.IsMultiLineString : (token: TokenSpan) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >IsMultiLineString : (token: TokenSpan) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ @@ -580,11 +580,11 @@ module Formatting { >this.GetSpecialCaseIndentation(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentation : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentation : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -811,11 +811,11 @@ module Formatting { >this.ApplyIndentationDeltaFromParent(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -837,11 +837,11 @@ module Formatting { >this.GetIndentEdit(indentationInfo, token.Span.startPosition(), sameLineIndent) : TextEditInfo > : ^^^^^^^^^^^^ >this.GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >indentationInfo : IndentationInfo > : ^^^^^^^^^^^^^^^ >token.Span.startPosition() : any @@ -869,11 +869,11 @@ module Formatting { >this.RegisterIndentation(edit, sameLineIndent) : void > : ^^^^ >this.RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >edit : TextEditInfo > : ^^^^^^^^^^^^ >sameLineIndent : boolean @@ -914,11 +914,11 @@ module Formatting { >this.GetCommentIndentationEdits(token) : List_TextEditInfo > : ^^^^^^^^^^^^^^^^^ >this.GetCommentIndentationEdits : (token: TokenSpan) => List_TextEditInfo -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetCommentIndentationEdits : (token: TokenSpan) => List_TextEditInfo -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ @@ -1044,11 +1044,11 @@ module Formatting { >this.GetIndentationDelta(token.Span.startPosition(), null) : number > : ^^^^^^ >this.GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token.Span.startPosition() : any > : ^^^ >token.Span.startPosition : any @@ -1126,11 +1126,11 @@ module Formatting { >this.GetLineIndentationForOffset(lineStartPosition) : string > : ^^^^^^ >this.GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >lineStartPosition : any > : ^^^ @@ -1140,11 +1140,11 @@ module Formatting { >this.ApplyIndentationDelta2(lineIndent, commentFirstLineIndentationDelta) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >lineIndent : string > : ^^^^^^ >commentFirstLineIndentationDelta : number @@ -1176,11 +1176,11 @@ module Formatting { >this.GetIndentEdit(commentIndentationInfo, tokenStartPosition, false) : TextEditInfo > : ^^^^^^^^^^^^ >this.GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >commentIndentationInfo : IndentationInfo > : ^^^^^^^^^^^^^^^ >tokenStartPosition : any @@ -1282,11 +1282,11 @@ module Formatting { >text.charAt(i) : string > : ^^^^^^ >text.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >text : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : number > : ^^^^^^ @@ -1405,11 +1405,11 @@ module Formatting { >this.GetSpecialCaseIndentationForLCurly(node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentationForLCurly : (node: ParseNode) => IndentationInfo -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentationForLCurly : (node: ParseNode) => IndentationInfo -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : ParseNode > : ^^^^^^^^^ @@ -1605,11 +1605,11 @@ module Formatting { >this.GetSpecialCaseIndentationForSemicolon(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentationForSemicolon : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentationForSemicolon : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -1627,11 +1627,11 @@ module Formatting { >this.GetSpecialCaseIndentationForComment(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentationForComment : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentationForComment : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2058,11 +2058,11 @@ module Formatting { >this.CanIndentComment(token, node) : boolean > : ^^^^^^^ >this.CanIndentComment : (token: TokenSpan, node: ParseNode) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >CanIndentComment : (token: TokenSpan, node: ParseNode) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2093,11 +2093,11 @@ module Formatting { >this.ApplyIndentationDeltaFromParent(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2369,11 +2369,11 @@ module Formatting { >this.ApplyIndentationLevel(languageHostIndentation, 1) : string > : ^^^^^^ >this.ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >languageHostIndentation : string > : ^^^^^^ >1 : 1 @@ -2455,11 +2455,11 @@ module Formatting { >this.ApplyIndentationLevel(indentInfo.Prefix, indentInfo.Level) : string > : ^^^^^^ >this.ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentInfo.Prefix : any > : ^^^ >indentInfo : IndentationInfo @@ -2834,11 +2834,11 @@ module Formatting { >this.GetIndentString(null, totalIndent, tabSize, convertTabsToSpaces) : string > : ^^^^^^ >this.GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >totalIndent : number > : ^^^^^^ >tabSize : any @@ -2861,11 +2861,11 @@ module Formatting { >this.GetIndentString(existingIndentation, totalIndentSize, tabSize, convertTabsToSpaces) : string > : ^^^^^^ >this.GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >existingIndentation : string > : ^^^^^^ >totalIndentSize : number @@ -3087,11 +3087,11 @@ module Formatting { >this.GetIndentationDelta(indentableParent.AuthorNode.Details.StartOffset, token.Span.startPosition()) : number > : ^^^^^^ >this.GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentableParent.AuthorNode.Details.StartOffset : any > : ^^^ >indentableParent.AuthorNode.Details : any @@ -3135,11 +3135,11 @@ module Formatting { >this.ApplyIndentationDelta1(token.Span.startPosition(), parentIndentationDeltaSize) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDelta1 : (tokenStartPosition: number, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDelta1 : (tokenStartPosition: number, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token.Span.startPosition() : any > : ^^^ >token.Span.startPosition : any @@ -3240,11 +3240,11 @@ module Formatting { >this.ApplyIndentationDelta2(currentIndent, delta) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >currentIndent : any > : ^^^ >delta : number @@ -3275,11 +3275,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(currentIndent, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >currentIndent : string > : ^^^^^^ >this.editorOptions : Services.EditorOptions @@ -3322,11 +3322,11 @@ module Formatting { >this.GetIndentString(null, newIndentSize, this.editorOptions.TabSize, this.editorOptions.ConvertTabsToSpaces) : string > : ^^^^^^ >this.GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >newIndentSize : number > : ^^^^^^ >this.editorOptions.TabSize : any @@ -3499,11 +3499,11 @@ module Formatting { >Indenter.GetIndentSizeFromText(origIndentText, this.editorOptions, /*includeNonIndentChars*/true) : number > : ^^^^^^ >Indenter.GetIndentSizeFromText : (text: string, editorOptions: Services.EditorOptions, includeNonIndentChars: boolean) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromText : (text: string, editorOptions: Services.EditorOptions, includeNonIndentChars: boolean) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >origIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3521,11 +3521,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(newIndentText, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >newIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3613,11 +3613,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(childIndentText, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >childIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3643,11 +3643,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(origIndentText, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >origIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -4220,11 +4220,11 @@ module Formatting { >this.GetLineIndentationForOffset(offset) : string > : ^^^^^^ >this.GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >offset : number > : ^^^^^^ @@ -4410,11 +4410,11 @@ module Formatting { >this.ApplyIndentationLevel(indentOverride, -lastDelta) : string > : ^^^^^^ >this.ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentOverride : string > : ^^^^^^ >-lastDelta : number @@ -4772,11 +4772,11 @@ module Formatting { >this.RegisterIndentation(new TextEditInfo(position, 0, indent), false) : void > : ^^^^ >this.RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new TextEditInfo(position, 0, indent) : any > : ^^^ >TextEditInfo : any diff --git a/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types b/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types index b6342ee165f6b..e1ad39ce0b825 100644 --- a/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types +++ b/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types @@ -41,11 +41,11 @@ foo.push({ >foo.push({ types: [{ type: "A" }]}) : number > : ^^^^^^ >foo.push : (...items: Wrapper[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >foo : Wrapper[] > : ^^^^^^^^^ >push : (...items: Wrapper[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >{ types: [{ type: "A" }]} : { types: { type: "A"; }[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types b/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types index 1a8450d960128..28eed6b23ceaa 100644 --- a/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types +++ b/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types @@ -335,7 +335,7 @@ for (const k of keys) { >obj[k] = () => "12" : () => string > : ^^^^^^^^^^^^ >obj[k] : (((x: 0) => string) & ((x: 1) => string) & ((x: 2) => string) & ((x: 3) => string) & ((x: 4) => string) & ((x: 5) => string) & ((x: 6) => string) & ((x: 7) => string) & ((x: 8) => string) & ((x: 9) => string) & ((x: 10) => string) & ((x: 11) => string) & ((x: 12) => string) & ((x: 13) => string) & ((x: 14) => string) & ((x: 15) => string) & ((x: 16) => string) & ((x: 17) => string) & ((x: 18) => string) & ((x: 19) => string) & ((x: 20) => string) & ((x: 21) => string) & ((x: 22) => string) & ((x: 23) => string) & ((x: 24) => string) & ((x: 25) => string) & ((x: 26) => string) & ((x: 27) => string) & ((x: 28) => string) & ((x: 29) => string) & ((x: 30) => string) & ((x: 31) => string) & ((x: 32) => string) & ((x: 33) => string) & ((x: 34) => string) & ((x: 35) => string) & ((x: 36) => string) & ((x: 37) => string) & ((x: 38) => string) & ((x: 39) => string) & ((x: 40) => string) & ((x: 41) => string) & ((x: 42) => string) & ((x: 43) => string) & ((x: 44) => string) & ((x: 45) => string) & ((x: 46) => string) & ((x: 47) => string) & ((x: 48) => string) & ((x: 49) => string) & ((x: 50) => string) & ((x: 51) => string)) | undefined -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >obj : Partial > : ^^^^^^^^^^^^^^ >k : keyof MyAPI @@ -366,7 +366,7 @@ for (const k of keys) { >obj2[k] = () => "12" : () => string > : ^^^^^^^^^^^^ >obj2[k] : (((x: 0) => string) & ((x: 1) => string) & ((x: 2) => string) & ((x: 3) => string) & ((x: 4) => string) & ((x: 5) => string) & ((x: 6) => string) & ((x: 7) => string) & ((x: 8) => string) & ((x: 9) => string) & ((x: 10) => string) & ((x: 11) => string) & ((x: 12) => string) & ((x: 13) => string) & ((x: 14) => string) & ((x: 15) => string) & ((x: 16) => string) & ((x: 17) => string) & ((x: 18) => string) & ((x: 19) => string) & ((x: 20) => string) & ((x: 21) => string) & ((x: 22) => string) & ((x: 23) => string) & ((x: 24) => string) & ((x: 25) => string) & ((x: 26) => string) & ((x: 27) => string) & ((x: 28) => string) & ((x: 29) => string) & ((x: 30) => string) & ((x: 31) => string) & ((x: 32) => string) & ((x: 33) => string) & ((x: 34) => string) & ((x: 35) => string) & ((x: 36) => string) & ((x: 37) => string) & ((x: 38) => string) & ((x: 39) => string) & ((x: 40) => string) & ((x: 41) => string) & ((x: 42) => string) & ((x: 43) => string) & ((x: 44) => string) & ((x: 45) => string) & ((x: 46) => string) & ((x: 47) => string) & ((x: 48) => string) & ((x: 49) => string) & ((x: 50) => string) & ((x: 51) => string)) | null | undefined -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >obj2 : PartialNull > : ^^^^^^^^^^^^^^^^^^ >k : keyof MyAPI diff --git a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types index db0b4f134553c..307008452ed3c 100644 --- a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types +++ b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types @@ -48,8 +48,8 @@ function getUserName(obj: Obj) { if (isUser(obj)) { >isUser(obj) : boolean > : ^^^^^^^ ->isUser : (obj: Obj) => obj is Partial -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>isUser : (obj: Obj) => obj is PartialUser +> : ^ ^^ ^^^^^ >obj : Obj > : ^^^ diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types index 0cd0f39ff2bfb..cca446c5b1fe9 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types @@ -36,7 +36,7 @@ testError((t1: D, t2, t3) => {}) >testError((t1: D, t2, t3) => {}) : C > : ^ >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D, t2, t3) => {} : (t1: D, t2: any, t3: any) => void > : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ >t1 : D @@ -50,7 +50,7 @@ testError((t1, t2: D, t3) => {}) >testError((t1, t2: D, t3) => {}) : C > : ^ >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2: D, t3) => {} : (t1: any, t2: D, t3: any) => void > : ^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >t1 : any @@ -64,7 +64,7 @@ testError((t1, t2, t3: D) => {}) >testError((t1, t2, t3: D) => {}) : C > : ^ >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2, t3: D) => {} : (t1: any, t2: any, t3: D) => void > : ^ ^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ >t1 : any diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types index e36dc7fecae5b..080f03a265b67 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types @@ -49,7 +49,7 @@ test((t1: D, t2) => { t2.test2 }) >test((t1: D, t2) => { t2.test2 }) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D, t2) => { t2.test2 } : (t1: D, t2: D) => void > : ^ ^^ ^^ ^^^^^^^^^^^^ >t1 : D @@ -67,7 +67,7 @@ test((t1, t2: D) => { t2.test2 }) >test((t1, t2: D) => { t2.test2 }) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2: D) => { t2.test2 } : (t1: D, t2: D) => void > : ^ ^^^^^ ^^ ^^^^^^^^^ >t1 : D @@ -86,7 +86,7 @@ test(() => {}) >test(() => {}) : C > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -95,7 +95,7 @@ test((t1: D) => {}) >test((t1: D) => {}) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D) => {} : (t1: D) => void > : ^ ^^ ^^^^^^^^^ >t1 : D @@ -106,7 +106,7 @@ test((...ts: D[]) => {}) >test((...ts: D[]) => {}) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(...ts: D[]) => {} : (...ts: D[]) => void > : ^^^^ ^^ ^^^^^^^^^ >ts : D[] @@ -117,7 +117,7 @@ testRest((t1: D) => {}) >testRest((t1: D) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D) => {} : (t1: D) => void > : ^ ^^ ^^^^^^^^^ >t1 : D @@ -127,7 +127,7 @@ testRest((t1, t2, t3) => {}) >testRest((t1, t2, t3) => {}) : C > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2, t3) => {} : (t1: C, t2: C, t3: C) => void > : ^ ^^^^^ ^^^^^ ^^^^^^^^^^^^ >t1 : C @@ -141,7 +141,7 @@ testRest((t1: D, t2, t3) => {}) >testRest((t1: D, t2, t3) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D, t2, t3) => {} : (t1: D, t2: D, t3: D) => void > : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^ >t1 : D @@ -155,7 +155,7 @@ testRest((t1, t2: D, t3) => {}) >testRest((t1, t2: D, t3) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2: D, t3) => {} : (t1: D, t2: D, t3: D) => void > : ^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ >t1 : D @@ -169,7 +169,7 @@ testRest((t2: D, ...t3) => {}) >testRest((t2: D, ...t3) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t2: D, ...t3) => {} : (t2: D, t1: D, ...ts: D[]) => void > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t2 : D @@ -181,7 +181,7 @@ testRest((t2, ...t3: D[]) => {}) >testRest((t2, ...t3: D[]) => {}) : C > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t2, ...t3: D[]) => {} : (t2: C, ...t3: D[]) => void > : ^ ^^^^^^^^ ^^ ^^^^^^^^^ >t2 : C diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types b/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types index 07c1c8ca9904a..f2d20ac261416 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types @@ -16,7 +16,7 @@ simple((a: number, b) => {}) >simple((a: number, b) => {}) : {} > : ^^ >simple : (f: (a: number, b: number) => void) => {} -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >(a: number, b) => {} : (a: number, b: number) => void > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -28,7 +28,7 @@ simple((a, b: number) => {}) >simple((a, b: number) => {}) : {} > : ^^ >simple : (f: (a: number, b: number) => void) => {} -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b: number) => {} : (a: number, b: number) => void > : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/partiallyDiscriminantedUnions.types b/tests/baselines/reference/partiallyDiscriminantedUnions.types index 9d0405c7075ed..cdead438ff1f2 100644 --- a/tests/baselines/reference/partiallyDiscriminantedUnions.types +++ b/tests/baselines/reference/partiallyDiscriminantedUnions.types @@ -113,11 +113,11 @@ function isShape(s : Shapes): s is Shape { >Array.isArray(s) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : Shapes > : ^^^^^^ } @@ -132,7 +132,7 @@ function fail(s: Shapes) { >isShape(s) : boolean > : ^^^^^^^ >isShape : (s: Shapes) => s is Shape -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : Shapes > : ^^^^^^ diff --git a/tests/baselines/reference/partiallyNamedTuples.types b/tests/baselines/reference/partiallyNamedTuples.types index 7f1470a06b5be..7ae1941bb52cf 100644 --- a/tests/baselines/reference/partiallyNamedTuples.types +++ b/tests/baselines/reference/partiallyNamedTuples.types @@ -150,7 +150,7 @@ const output = test(input); >test(input) : [first: number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^ >test : (arg: [...{ [K in keyof T]: { type: T[K]; }; }]) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >input : [first: { type: number; }, { type: string; }] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ diff --git a/tests/baselines/reference/partiallyNamedTuples2.types b/tests/baselines/reference/partiallyNamedTuples2.types index 1bbde20287b23..e651a06bebac4 100644 --- a/tests/baselines/reference/partiallyNamedTuples2.types +++ b/tests/baselines/reference/partiallyNamedTuples2.types @@ -50,11 +50,11 @@ const matches = x.get(id1); >x.get(id1) : Iterable<[id2: string, object]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.get : (...key: Key) => GetResult<[id1: string, id2: string], Key, object> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x : MultiKeyMap<[id1: string, id2: string], object> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : (...key: Key) => GetResult<[id1: string, id2: string], Key, object> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >id1 : string > : ^^^^^^ diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types index db698849af9ca..9dd70eaa6a659 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types index 529763b7eef7b..33456a972a9db 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types index b4a2227055038..48feb81a3a3ef 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types index aac0cf18449b3..ca6e3d690b0e2 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types index 64a019f7f36a2..e9296ecf3f3d9 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types @@ -26,57 +26,57 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toExponential()); >use(y.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y.toExponential() : string > : ^^^^^^ >y.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z.toExponential()); >use(z.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z.toExponential() : string > : ^^^^^^ >z.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z1.toExponential()); >use(z1.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z1.toExponential() : string > : ^^^^^^ >z1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file1.ts === export var x = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types index b6ab42a4d1434..ce53f71e8d777 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types @@ -26,57 +26,57 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toExponential()); >use(y.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y.toExponential() : string > : ^^^^^^ >y.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z.toExponential()); >use(z.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z.toExponential() : string > : ^^^^^^ >z.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z1.toExponential()); >use(z1.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z1.toExponential() : string > : ^^^^^^ >z1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file1.ts === export var x = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types index 99ed3b841a091..2bdb131bb68b1 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types @@ -18,11 +18,11 @@ use(x.toExponential()); >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file2.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types index bed1b2ff4c0da..fd0f62016f117 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types @@ -18,11 +18,11 @@ use(x.toFixed()); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file2/index.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types index 41084523e6792..fa6254e61aafb 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types @@ -22,11 +22,11 @@ use(x.toFixed()); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toFixed()); >use(y.toFixed()) : any @@ -35,11 +35,11 @@ use(y.toFixed()); >y.toFixed() : string > : ^^^^^^ >y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file3.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types index edf1be4243b98..476d6bc06ae38 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types @@ -22,11 +22,11 @@ use(x.toFixed()); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toFixed()); >use(y.toFixed()) : any @@ -35,11 +35,11 @@ use(y.toFixed()); >y.toFixed() : string > : ^^^^^^ >y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file3/index.d.ts === export let x: number; diff --git a/tests/baselines/reference/plainJSGrammarErrors.types b/tests/baselines/reference/plainJSGrammarErrors.types index 0c8648a0f6d58..468fbb05e5610 100644 --- a/tests/baselines/reference/plainJSGrammarErrors.types +++ b/tests/baselines/reference/plainJSGrammarErrors.types @@ -56,11 +56,11 @@ class C { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -478,11 +478,11 @@ const o = { >console.log('oh no') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'oh no' : "oh no" > : ^^^^^^^ >2 : 2 @@ -611,11 +611,11 @@ for (async of l) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -637,11 +637,11 @@ for (const cantHaveInit = 1 of [1,2,3]) { >console.log(cantHaveInit) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >cantHaveInit : number > : ^^^^^^ } @@ -663,11 +663,11 @@ for (const cantHaveInit = 1 in [1,2,3]) { >console.log(cantHaveInit) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >cantHaveInit : string > : ^^^^^^ } @@ -689,11 +689,11 @@ for (let y, x of [1,2,3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -715,11 +715,11 @@ for (let y, x in [1,2,3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : string > : ^^^^^^ } @@ -741,11 +741,11 @@ switch (b) { >console.log('no') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'no' : "no" > : ^^^^ @@ -754,11 +754,11 @@ switch (b) { >console.log('yes') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'yes' : "yes" > : ^^^^^ @@ -767,11 +767,11 @@ switch (b) { >console.log('wat') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'wat' : "wat" > : ^^^^^ } @@ -794,11 +794,11 @@ catch (e) { >console.log(e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >e : 1 > : ^ } diff --git a/tests/baselines/reference/plainJSRedeclare.types b/tests/baselines/reference/plainJSRedeclare.types index 6c7fa4846ca42..b50efebdbf0a3 100644 --- a/tests/baselines/reference/plainJSRedeclare.types +++ b/tests/baselines/reference/plainJSRedeclare.types @@ -21,9 +21,9 @@ orbitol.toExponential() >orbitol.toExponential() : string > : ^^^^^^ >orbitol.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >orbitol : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/plainJSRedeclare2.types b/tests/baselines/reference/plainJSRedeclare2.types index a088f8a2ba82f..33683419bb2f9 100644 --- a/tests/baselines/reference/plainJSRedeclare2.types +++ b/tests/baselines/reference/plainJSRedeclare2.types @@ -21,9 +21,9 @@ orbitol.toExponential() >orbitol.toExponential() : string > : ^^^^^^ >orbitol.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >orbitol : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/plainJSRedeclare3.types b/tests/baselines/reference/plainJSRedeclare3.types index d620c4451124c..1632cc0c47462 100644 --- a/tests/baselines/reference/plainJSRedeclare3.types +++ b/tests/baselines/reference/plainJSRedeclare3.types @@ -19,9 +19,9 @@ orbitol.toExponential() >orbitol.toExponential() : string > : ^^^^^^ >orbitol.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >orbitol : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/plusOperatorWithAnyOtherType.types b/tests/baselines/reference/plusOperatorWithAnyOtherType.types index dbe941dca87b6..1f19877f8bc0f 100644 --- a/tests/baselines/reference/plusOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/plusOperatorWithAnyOtherType.types @@ -131,7 +131,7 @@ var ResultIsNumber5 = +obj; >+obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber6 = +obj1; >ResultIsNumber6 : number @@ -225,7 +225,7 @@ var ResultIsNumber14 = +foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = +A.foo(); >ResultIsNumber15 : number diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.types b/tests/baselines/reference/plusOperatorWithBooleanType.types index aa06cc22ac457..160423172a396 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.types +++ b/tests/baselines/reference/plusOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsNumber6 = +foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber7 = +A.foo(); >ResultIsNumber7 : number @@ -145,7 +145,7 @@ var ResultIsNumber7 = +A.foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ +true, false; >+true, false : false diff --git a/tests/baselines/reference/plusOperatorWithNumberType.types b/tests/baselines/reference/plusOperatorWithNumberType.types index 8583f2a6f59a1..57ec667d52bb0 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.types +++ b/tests/baselines/reference/plusOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = +foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = +A.foo(); >ResultIsNumber10 : number @@ -215,7 +215,7 @@ var ResultIsNumber11 = +(NUMBER + NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ +objA.a; >+objA.a : number diff --git a/tests/baselines/reference/plusOperatorWithStringType.types b/tests/baselines/reference/plusOperatorWithStringType.types index 3092346424590..ec3d7429ee416 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.types +++ b/tests/baselines/reference/plusOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = +foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = +A.foo(); >ResultIsNumber10 : number @@ -198,11 +198,11 @@ var ResultIsNumber12 = +STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -231,7 +231,7 @@ var ResultIsNumber12 = +STRING.charAt(0); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ +objA.a,M.n; >+objA.a,M.n : string diff --git a/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types b/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types index 1362dbbadeaf7..6922dfa8d47a8 100644 --- a/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types +++ b/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types @@ -11,11 +11,11 @@ try { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/potentiallyUncalledDecorators.types b/tests/baselines/reference/potentiallyUncalledDecorators.types index 9e57c0f429e92..81a90410ff6b9 100644 --- a/tests/baselines/reference/potentiallyUncalledDecorators.types +++ b/tests/baselines/reference/potentiallyUncalledDecorators.types @@ -14,7 +14,7 @@ class FooComponent { @Input foo: string; >Input : (bindingPropertyName?: string) => any -> : ^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^^^^ >foo : string > : ^^^^^^ } @@ -32,7 +32,7 @@ class Person { @tracked person; any; >tracked : PropertyDecorator & ((...watchedProperties: string[]) => any) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >person : any > : ^^^ >any : any @@ -51,7 +51,7 @@ class MultiplyByTwo { >tracked('args') : any > : ^^^ >tracked : PropertyDecorator & ((...watchedProperties: string[]) => any) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >'args' : "args" > : ^^^^^^ @@ -130,7 +130,7 @@ declare const anyDec: any; @noArgs >noArgs : () => OmniDecorator -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ class A { >A : A @@ -138,20 +138,20 @@ class A { @noArgs foo: any; >noArgs : () => OmniDecorator -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo : any > : ^^^ @noArgs bar() { } >noArgs : () => OmniDecorator -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >bar : () => void > : ^^^^^^^^^^ } @allRest >allRest : (...args: any[]) => OmniDecorator -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ class B { >B : B @@ -159,20 +159,20 @@ class B { @allRest foo: any; >allRest : (...args: any[]) => OmniDecorator -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo : any > : ^^^ @allRest bar() { } >allRest : (...args: any[]) => OmniDecorator -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @oneOptional >oneOptional : (x?: any) => OmniDecorator -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ class C { >C : C @@ -180,20 +180,20 @@ class C { @oneOptional foo: any; >oneOptional : (x?: any) => OmniDecorator -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >foo : any > : ^^^ @oneOptional bar() { } >oneOptional : (x?: any) => OmniDecorator -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @twoOptional >twoOptional : (x?: any, y?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ class D { >D : D @@ -201,20 +201,20 @@ class D { @twoOptional foo: any; >twoOptional : (x?: any, y?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >foo : any > : ^^^ @twoOptional bar() { } >twoOptional : (x?: any, y?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @threeOptional >threeOptional : (x?: any, y?: any, z?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ class E { >E : E @@ -222,20 +222,20 @@ class E { @threeOptional foo: any; >threeOptional : (x?: any, y?: any, z?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >foo : any > : ^^^ @threeOptional bar() { } >threeOptional : (x?: any, y?: any, z?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @oneOptionalWithRest >oneOptionalWithRest : (x?: any, ...args: any[]) => OmniDecorator -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ class F { >F : F @@ -243,13 +243,13 @@ class F { @oneOptionalWithRest foo: any; >oneOptionalWithRest : (x?: any, ...args: any[]) => OmniDecorator -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >foo : any > : ^^^ @oneOptionalWithRest bar() { } >oneOptionalWithRest : (x?: any, ...args: any[]) => OmniDecorator -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/primitiveMembers.types b/tests/baselines/reference/primitiveMembers.types index 8dafa9ba7c292..bd2f700c7279d 100644 --- a/tests/baselines/reference/primitiveMembers.types +++ b/tests/baselines/reference/primitiveMembers.types @@ -35,11 +35,11 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var n = 0; >n : number diff --git a/tests/baselines/reference/primitiveUnionDetection.types b/tests/baselines/reference/primitiveUnionDetection.types index 1c69569a82c6f..7619f8e94f5ce 100644 --- a/tests/baselines/reference/primitiveUnionDetection.types +++ b/tests/baselines/reference/primitiveUnionDetection.types @@ -23,7 +23,7 @@ const result = getInterfaceFromString({ type: 'two' }); >getInterfaceFromString({ type: 'two' }) : "two" > : ^^^^^ >getInterfaceFromString : (options?: { type?: T; } & { type?: Kind; }) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >{ type: 'two' } : { type: "two"; } > : ^^^^^^^^^^^^^^^^ >type : "two" diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types index 63ba640440529..121e9703964c8 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types @@ -33,7 +33,7 @@ module Query { >fromDoWhile(test => { return true; }) : Iterator > : ^^^^^^^^^^^^^^^^^ >fromDoWhile : (doWhile: (test: Iterator) => boolean) => Iterator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >test => { return true; } : (test: Iterator) => true > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : Iterator diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types index 15f089a7cebe0..015287208343b 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types @@ -25,7 +25,7 @@ module Q { return x; >x : (a: Iterator) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } } @@ -39,8 +39,8 @@ module Q { foo(null); >foo(null) : (a: Iterator) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: (a: Iterator) => number) => (a: Iterator) => number -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/privateIdentifierChain.1.types b/tests/baselines/reference/privateIdentifierChain.1.types index e33153a60ad81..70827d3bcbc0c 100644 --- a/tests/baselines/reference/privateIdentifierChain.1.types +++ b/tests/baselines/reference/privateIdentifierChain.1.types @@ -46,11 +46,11 @@ class A { >this?.getA() : A > : ^ >this?.getA : () => A -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getA : () => A -> : ^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/privateNameAccessors.types b/tests/baselines/reference/privateNameAccessors.types index cba12112833a8..0284be38565a0 100644 --- a/tests/baselines/reference/privateNameAccessors.types +++ b/tests/baselines/reference/privateNameAccessors.types @@ -51,11 +51,11 @@ class A1 { >console.log(this.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#prop : string > : ^^^^^^ >this : this @@ -65,11 +65,11 @@ class A1 { >console.log(this.#roProp) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#roProp : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameAccessorsAccess.types b/tests/baselines/reference/privateNameAccessorsAccess.types index 3f218f9c77433..7bc0fa7eb962f 100644 --- a/tests/baselines/reference/privateNameAccessorsAccess.types +++ b/tests/baselines/reference/privateNameAccessorsAccess.types @@ -22,11 +22,11 @@ class A2 { >console.log(this.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#prop : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameAccessorssDerivedClasses.types b/tests/baselines/reference/privateNameAccessorssDerivedClasses.types index bb200b361fa30..8a1a563b9aadc 100644 --- a/tests/baselines/reference/privateNameAccessorssDerivedClasses.types +++ b/tests/baselines/reference/privateNameAccessorssDerivedClasses.types @@ -21,11 +21,11 @@ class Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : number > : ^^^^^^ >x : Derived @@ -48,11 +48,11 @@ class Derived extends Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameClassExpressionLoop.types b/tests/baselines/reference/privateNameClassExpressionLoop.types index 16286caef90fa..a45de35c91a3f 100644 --- a/tests/baselines/reference/privateNameClassExpressionLoop.types +++ b/tests/baselines/reference/privateNameClassExpressionLoop.types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >array.push(class C { #myField = "hello"; #method() {} get #accessor() { return 42; } set #accessor(val) { } }) : number > : ^^^^^^ >array.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >array : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { #myField = "hello"; #method() {} get #accessor() { return 42; } set #accessor(val) { } } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types index e22ee74558bb1..4b492e9afc059 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types +++ b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types @@ -136,11 +136,11 @@ class A { >console.log(a, b, c, d, e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -216,11 +216,11 @@ class A { >console.log(a1, b1, c1, d1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a1 : string > : ^^^^^^ >b1 : string diff --git a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types index e22ee74558bb1..4b492e9afc059 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types +++ b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types @@ -136,11 +136,11 @@ class A { >console.log(a, b, c, d, e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -216,11 +216,11 @@ class A { >console.log(a1, b1, c1, d1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a1 : string > : ^^^^^^ >b1 : string diff --git a/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types b/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types index e22ee74558bb1..4b492e9afc059 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types +++ b/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types @@ -136,11 +136,11 @@ class A { >console.log(a, b, c, d, e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -216,11 +216,11 @@ class A { >console.log(a1, b1, c1, d1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a1 : string > : ^^^^^^ >b1 : string diff --git a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types index f3698ff119615..1d6e4de688edc 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types +++ b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types @@ -27,7 +27,7 @@ class A { >getX = (a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >a : A @@ -44,15 +44,15 @@ console.log(getX(new A)); >console.log(getX(new A)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >getX(new A) : number > : ^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types index f3698ff119615..1d6e4de688edc 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types +++ b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types @@ -27,7 +27,7 @@ class A { >getX = (a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >a : A @@ -44,15 +44,15 @@ console.log(getX(new A)); >console.log(getX(new A)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >getX(new A) : number > : ^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types b/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types index f3698ff119615..1d6e4de688edc 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types +++ b/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types @@ -27,7 +27,7 @@ class A { >getX = (a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >a : A @@ -44,15 +44,15 @@ console.log(getX(new A)); >console.log(getX(new A)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >getX(new A) : number > : ^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types index eb2cb6ca603ec..b4d47b5ae4683 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types +++ b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types @@ -74,11 +74,11 @@ console.log(new Foo("NAME").getValue(100)); >console.log(new Foo("NAME").getValue(100)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new Foo("NAME").getValue(100) : error >new Foo("NAME").getValue : (x: any) => any > : ^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types index eb2cb6ca603ec..b4d47b5ae4683 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types +++ b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types @@ -74,11 +74,11 @@ console.log(new Foo("NAME").getValue(100)); >console.log(new Foo("NAME").getValue(100)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new Foo("NAME").getValue(100) : error >new Foo("NAME").getValue : (x: any) => any > : ^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types b/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types index eb2cb6ca603ec..b4d47b5ae4683 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types +++ b/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types @@ -74,11 +74,11 @@ console.log(new Foo("NAME").getValue(100)); >console.log(new Foo("NAME").getValue(100)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new Foo("NAME").getValue(100) : error >new Foo("NAME").getValue : (x: any) => any > : ^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameFieldAccess.types b/tests/baselines/reference/privateNameFieldAccess.types index 5f4765f5d90a1..0d05772438e3e 100644 --- a/tests/baselines/reference/privateNameFieldAccess.types +++ b/tests/baselines/reference/privateNameFieldAccess.types @@ -16,11 +16,11 @@ class A { >console.log(this.#myField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#myField : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameFieldClassExpression.types b/tests/baselines/reference/privateNameFieldClassExpression.types index a3265159e6934..2c9d54c61d93e 100644 --- a/tests/baselines/reference/privateNameFieldClassExpression.types +++ b/tests/baselines/reference/privateNameFieldClassExpression.types @@ -16,11 +16,11 @@ class B { >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/privateNameFieldDerivedClasses.types b/tests/baselines/reference/privateNameFieldDerivedClasses.types index 305fe56a495cc..6b58b8d4b2d01 100644 --- a/tests/baselines/reference/privateNameFieldDerivedClasses.types +++ b/tests/baselines/reference/privateNameFieldDerivedClasses.types @@ -21,11 +21,11 @@ class Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : number > : ^^^^^^ >x : Derived @@ -48,11 +48,11 @@ class Derived extends Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types b/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types index e6707b1a48b63..048ccd7c39950 100644 --- a/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types +++ b/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types @@ -35,11 +35,11 @@ class C { >console.log(this.#a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#a : number > : ^^^^^^ >this : this @@ -59,11 +59,11 @@ class C { >console.log(this.#b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#b : any > : ^^^ >this : this @@ -87,11 +87,11 @@ class C { >console.log(this.#m) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#m : string > : ^^^^^^ >this : typeof C @@ -101,11 +101,11 @@ class C { >console.log(this.#x = "test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#x = "test" : "test" > : ^^^^^^ >this.#x : any diff --git a/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types b/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types index e6707b1a48b63..048ccd7c39950 100644 --- a/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types +++ b/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types @@ -35,11 +35,11 @@ class C { >console.log(this.#a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#a : number > : ^^^^^^ >this : this @@ -59,11 +59,11 @@ class C { >console.log(this.#b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#b : any > : ^^^ >this : this @@ -87,11 +87,11 @@ class C { >console.log(this.#m) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#m : string > : ^^^^^^ >this : typeof C @@ -101,11 +101,11 @@ class C { >console.log(this.#x = "test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#x = "test" : "test" > : ^^^^^^ >this.#x : any diff --git a/tests/baselines/reference/privateNameMethod.types b/tests/baselines/reference/privateNameMethod.types index b2d2aa1ce4364..e7d65ef794c67 100644 --- a/tests/baselines/reference/privateNameMethod.types +++ b/tests/baselines/reference/privateNameMethod.types @@ -23,7 +23,7 @@ class A1 { >this.#method("") : string > : ^^^^^^ >this.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >"" : "" @@ -33,7 +33,7 @@ class A1 { >this.#method(1) : string > : ^^^^^^ >this.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >1 : 1 @@ -43,7 +43,7 @@ class A1 { >this.#method() : string > : ^^^^^^ >this.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/privateNameMethodAccess.types b/tests/baselines/reference/privateNameMethodAccess.types index 799fd3ba7801c..7c0d500b508b3 100644 --- a/tests/baselines/reference/privateNameMethodAccess.types +++ b/tests/baselines/reference/privateNameMethodAccess.types @@ -16,11 +16,11 @@ class A2 { >console.log(this.#method) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#method : () => string > : ^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameMethodAsync.types b/tests/baselines/reference/privateNameMethodAsync.types index 18fa7d4a102f0..f5a0abeb3a06e 100644 --- a/tests/baselines/reference/privateNameMethodAsync.types +++ b/tests/baselines/reference/privateNameMethodAsync.types @@ -15,11 +15,11 @@ const C = class { >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ @@ -55,7 +55,7 @@ const C = class { >this.#baz().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz().next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#baz() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz : () => Generator @@ -63,7 +63,7 @@ const C = class { >this : this > : ^^^^ >next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -81,7 +81,7 @@ const C = class { >this.#qux().next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux().next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#qux() : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux : () => AsyncGenerator @@ -89,7 +89,7 @@ const C = class { >this : this > : ^^^^ >next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -115,11 +115,11 @@ const C = class { >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ } @@ -129,7 +129,7 @@ new C().foo().then(console.log); >new C().foo().then(console.log) : Promise > : ^^^^^^^^^^^^^ >new C().foo().then : (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >new C().foo() : Promise > : ^^^^^^^^^^^^^^^ >new C().foo : () => Promise @@ -141,11 +141,11 @@ new C().foo().then(console.log); >foo : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/privateNameMethodClassExpression.types b/tests/baselines/reference/privateNameMethodClassExpression.types index 9e399d795c482..331d845e5c7d4 100644 --- a/tests/baselines/reference/privateNameMethodClassExpression.types +++ b/tests/baselines/reference/privateNameMethodClassExpression.types @@ -44,11 +44,11 @@ console.log(C.getInstance().getField()); >console.log(C.getInstance().getField()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.getInstance().getField() : number > : ^^^^^^ >C.getInstance().getField : () => number diff --git a/tests/baselines/reference/privateNameMethodInStaticFieldInit.types b/tests/baselines/reference/privateNameMethodInStaticFieldInit.types index ae9c072e97c5f..e3a0a42d48f23 100644 --- a/tests/baselines/reference/privateNameMethodInStaticFieldInit.types +++ b/tests/baselines/reference/privateNameMethodInStaticFieldInit.types @@ -28,11 +28,11 @@ console.log(C.s); >console.log(C.s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.s : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/privateNameMethodsDerivedClasses.types b/tests/baselines/reference/privateNameMethodsDerivedClasses.types index 979cfc58cfd7b..06cd43078fad8 100644 --- a/tests/baselines/reference/privateNameMethodsDerivedClasses.types +++ b/tests/baselines/reference/privateNameMethodsDerivedClasses.types @@ -21,15 +21,15 @@ class Base { >console.log(x.#prop()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop() : number > : ^^^^^^ >x.#prop : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Derived > : ^^^^^^^ } @@ -50,11 +50,11 @@ class Derived extends Base { >console.log(x.#prop()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop() : any > : ^^^ >x.#prop : any diff --git a/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types b/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types index 577bf172dfeec..d560b9d69dc23 100644 --- a/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types +++ b/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types @@ -32,11 +32,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Base @@ -52,11 +52,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : number > : ^^^^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameNestedClassFieldShadowing.types b/tests/baselines/reference/privateNameNestedClassFieldShadowing.types index 86c853e041e65..009e8e9146097 100644 --- a/tests/baselines/reference/privateNameNestedClassFieldShadowing.types +++ b/tests/baselines/reference/privateNameNestedClassFieldShadowing.types @@ -28,11 +28,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Base @@ -48,11 +48,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameNestedClassMethodShadowing.types b/tests/baselines/reference/privateNameNestedClassMethodShadowing.types index e5a8d900687d1..fbe90079b6c86 100644 --- a/tests/baselines/reference/privateNameNestedClassMethodShadowing.types +++ b/tests/baselines/reference/privateNameNestedClassMethodShadowing.types @@ -28,11 +28,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Base @@ -48,11 +48,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : () => void > : ^^^^^^^^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameReadonly.types b/tests/baselines/reference/privateNameReadonly.types index b1f85ac2889fb..b154d00b81b0b 100644 --- a/tests/baselines/reference/privateNameReadonly.types +++ b/tests/baselines/reference/privateNameReadonly.types @@ -25,11 +25,11 @@ const C = class { >console.log("should log this then throw") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"should log this then throw" : "should log this then throw" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -39,11 +39,11 @@ console.log(new C().foo()); >console.log(new C().foo()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new C().foo() : void > : ^^^^ >new C().foo : () => void diff --git a/tests/baselines/reference/privateNameSetterExprReturnValue.types b/tests/baselines/reference/privateNameSetterExprReturnValue.types index f05659d9a0e90..f8b4de3539d85 100644 --- a/tests/baselines/reference/privateNameSetterExprReturnValue.types +++ b/tests/baselines/reference/privateNameSetterExprReturnValue.types @@ -37,11 +37,11 @@ class C { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/privateNameSetterNoGetter.types b/tests/baselines/reference/privateNameSetterNoGetter.types index 496d2e2215970..cdd173e512b78 100644 --- a/tests/baselines/reference/privateNameSetterNoGetter.types +++ b/tests/baselines/reference/privateNameSetterNoGetter.types @@ -33,11 +33,11 @@ console.log(new C().m()); >console.log(new C().m()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new C().m() : void > : ^^^^ >new C().m : () => void diff --git a/tests/baselines/reference/privateNameStaticAccessors.types b/tests/baselines/reference/privateNameStaticAccessors.types index e259cb6d2adc5..cc3963df8750b 100644 --- a/tests/baselines/reference/privateNameStaticAccessors.types +++ b/tests/baselines/reference/privateNameStaticAccessors.types @@ -51,11 +51,11 @@ class A1 { >console.log(A1.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A1.#prop : string > : ^^^^^^ >A1 : typeof A1 @@ -65,11 +65,11 @@ class A1 { >console.log(A1.#roProp) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A1.#roProp : string > : ^^^^^^ >A1 : typeof A1 diff --git a/tests/baselines/reference/privateNameStaticAccessorsAccess.types b/tests/baselines/reference/privateNameStaticAccessorsAccess.types index 7e34eaf81e4f3..c0cc982d7d403 100644 --- a/tests/baselines/reference/privateNameStaticAccessorsAccess.types +++ b/tests/baselines/reference/privateNameStaticAccessorsAccess.types @@ -23,11 +23,11 @@ class A2 { >console.log(A2.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A2.#prop : string > : ^^^^^^ >A2 : typeof A2 diff --git a/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types b/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types index 65117c9d3df31..244cf67c53329 100644 --- a/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types +++ b/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types @@ -23,11 +23,11 @@ class Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : typeof Derived @@ -52,11 +52,11 @@ class Derived extends Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : typeof Derived diff --git a/tests/baselines/reference/privateNameStaticFieldAccess.types b/tests/baselines/reference/privateNameStaticFieldAccess.types index deb0360d0f664..1ab7fe3c7a23f 100644 --- a/tests/baselines/reference/privateNameStaticFieldAccess.types +++ b/tests/baselines/reference/privateNameStaticFieldAccess.types @@ -16,11 +16,11 @@ class A { >console.log(A.#myField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A.#myField : string > : ^^^^^^ >A : typeof A @@ -30,11 +30,11 @@ class A { >console.log(this.#myField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#myField : any > : ^^^ >this : this diff --git a/tests/baselines/reference/privateNameStaticFieldClassExpression.types b/tests/baselines/reference/privateNameStaticFieldClassExpression.types index 171c410633d59..2f809625ababa 100644 --- a/tests/baselines/reference/privateNameStaticFieldClassExpression.types +++ b/tests/baselines/reference/privateNameStaticFieldClassExpression.types @@ -16,11 +16,11 @@ class B { >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -69,11 +69,11 @@ class B { >console.log(B.#foo.test) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >B.#foo.test : number > : ^^^^^^ >B.#foo : typeof (Anonymous class) diff --git a/tests/baselines/reference/privateNameStaticMethod.types b/tests/baselines/reference/privateNameStaticMethod.types index 1ecf46f89a1e8..b016e3dd653b0 100644 --- a/tests/baselines/reference/privateNameStaticMethod.types +++ b/tests/baselines/reference/privateNameStaticMethod.types @@ -20,7 +20,7 @@ class A1 { >A1.#method("") : string > : ^^^^^^ >A1.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A1 : typeof A1 > : ^^^^^^^^^ >"" : "" @@ -30,7 +30,7 @@ class A1 { >A1.#method(1) : string > : ^^^^^^ >A1.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A1 : typeof A1 > : ^^^^^^^^^ >1 : 1 @@ -40,7 +40,7 @@ class A1 { >A1.#method() : string > : ^^^^^^ >A1.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A1 : typeof A1 > : ^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameStaticMethodAsync.types b/tests/baselines/reference/privateNameStaticMethodAsync.types index c3198716202b4..1a1205a51ddd7 100644 --- a/tests/baselines/reference/privateNameStaticMethodAsync.types +++ b/tests/baselines/reference/privateNameStaticMethodAsync.types @@ -15,11 +15,11 @@ const C = class { >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ @@ -55,7 +55,7 @@ const C = class { >this.#baz().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz().next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#baz() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz : () => Generator @@ -63,7 +63,7 @@ const C = class { >this : typeof C > : ^^^^^^^^ >next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -81,7 +81,7 @@ const C = class { >this.#qux().next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux().next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#qux() : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux : () => AsyncGenerator @@ -89,7 +89,7 @@ const C = class { >this : typeof C > : ^^^^^^^^ >next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -117,11 +117,11 @@ const C = class { >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/privateNameStaticMethodClassExpression.types b/tests/baselines/reference/privateNameStaticMethodClassExpression.types index b39e0b0f8e3bd..f502ffc6c6473 100644 --- a/tests/baselines/reference/privateNameStaticMethodClassExpression.types +++ b/tests/baselines/reference/privateNameStaticMethodClassExpression.types @@ -44,11 +44,11 @@ console.log(C.getClass().getField()); >console.log(C.getClass().getField()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.getClass().getField() : number > : ^^^^^^ >C.getClass().getField : () => number diff --git a/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types b/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types index d367c04edfa66..257afd87252fe 100644 --- a/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types +++ b/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types @@ -26,11 +26,11 @@ console.log(C.s); >console.log(C.s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.s : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/privateNameUnused.types b/tests/baselines/reference/privateNameUnused.types index e5a3b0407da68..fad2e2876096e 100644 --- a/tests/baselines/reference/privateNameUnused.types +++ b/tests/baselines/reference/privateNameUnused.types @@ -22,11 +22,11 @@ export class A { >console.log(this.#used) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#used : string > : ^^^^^^ >this : this @@ -51,11 +51,11 @@ export class A2 { >console.log(this.#used()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#used() : void > : ^^^^ >this.#used : () => void @@ -98,11 +98,11 @@ export class A3 { >console.log(this.#used) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#used : number > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNamesAndDecorators.types b/tests/baselines/reference/privateNamesAndDecorators.types index 84293a47e1566..426d2f0a53863 100644 --- a/tests/baselines/reference/privateNamesAndDecorators.types +++ b/tests/baselines/reference/privateNamesAndDecorators.types @@ -13,7 +13,7 @@ class A { @dec // Error >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ #foo = 1; >#foo : number @@ -23,7 +23,7 @@ class A { @dec // Error >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ #bar(): void { } >#bar : () => void diff --git a/tests/baselines/reference/privateNamesAndGenericClasses-2.types b/tests/baselines/reference/privateNamesAndGenericClasses-2.types index bd2a63d18f9f8..a60c858771b41 100644 --- a/tests/baselines/reference/privateNamesAndGenericClasses-2.types +++ b/tests/baselines/reference/privateNamesAndGenericClasses-2.types @@ -41,7 +41,7 @@ class C { >this.#bar() : T > : ^ >this.#bar : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/privateNamesAssertion(target=es2022).types b/tests/baselines/reference/privateNamesAssertion(target=es2022).types index 16c3df1dec82f..7b1f6ff33e1f7 100644 --- a/tests/baselines/reference/privateNamesAssertion(target=es2022).types +++ b/tests/baselines/reference/privateNamesAssertion(target=es2022).types @@ -39,7 +39,7 @@ class Foo { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown @@ -86,7 +86,7 @@ class Foo2 { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown diff --git a/tests/baselines/reference/privateNamesAssertion(target=esnext).types b/tests/baselines/reference/privateNamesAssertion(target=esnext).types index 16c3df1dec82f..7b1f6ff33e1f7 100644 --- a/tests/baselines/reference/privateNamesAssertion(target=esnext).types +++ b/tests/baselines/reference/privateNamesAssertion(target=esnext).types @@ -39,7 +39,7 @@ class Foo { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown @@ -86,7 +86,7 @@ class Foo2 { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown diff --git a/tests/baselines/reference/privateNamesInGenericClasses.types b/tests/baselines/reference/privateNamesInGenericClasses.types index 40439b86f5c29..35101119c9ccb 100644 --- a/tests/baselines/reference/privateNamesInGenericClasses.types +++ b/tests/baselines/reference/privateNamesInGenericClasses.types @@ -57,7 +57,7 @@ class C { >x.#method() : T > : ^ >x.#method : () => T -> : ^^^^^^^ +> : ^^^^^^ >x : C > : ^^^^ diff --git a/tests/baselines/reference/privateWriteOnlyAccessorRead.types b/tests/baselines/reference/privateWriteOnlyAccessorRead.types index 9dde0c85f5a07..342f889fdcb00 100644 --- a/tests/baselines/reference/privateWriteOnlyAccessorRead.types +++ b/tests/baselines/reference/privateWriteOnlyAccessorRead.types @@ -51,13 +51,13 @@ class Test { >console.log(this.#value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ @@ -65,7 +65,7 @@ class Test { >this.#value = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ foo } : { foo: { bar: number; }; } @@ -77,7 +77,7 @@ class Test { >this.#value = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ foo } : { foo: { bar: number; }; } @@ -89,13 +89,13 @@ class Test { >this.#value.foo = foo : { bar: number; } > : ^^^^^^^^^^^^^^^^ >this.#value.foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : { bar: number; } > : ^^^^^^^^^^^^^^^^ @@ -105,11 +105,11 @@ class Test { >{ o: this.#value } = { o: { foo } } : { o: { foo: { bar: number; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ o: this.#value } : { o: { foo: { bar: number; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >o : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ o: { foo } } : { o: { foo: { bar: number; }; }; } @@ -127,9 +127,9 @@ class Test { >{ ...this.#value } = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...this.#value } : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ foo } : { foo: { bar: number; }; } @@ -143,17 +143,17 @@ class Test { >{ foo: this.#value.foo } = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ foo: this.#value.foo } : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value.foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { bar: number; } @@ -165,21 +165,21 @@ class Test { >{ foo: { ...this.#value.foo }, } = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ foo: { ...this.#value.foo }, } : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ foo: { ...this.#value.foo }, >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ ...this.#value.foo } : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value.foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } = { foo }); //error >{ foo } : { foo: { bar: number; }; } @@ -189,13 +189,13 @@ class Test { let r = { o: this.#value }; //error >r : { o: { foo: { bar: number; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >{ o: this.#value } : { o: { foo: { bar: number; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >o : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/promiseAllOnAny01.types b/tests/baselines/reference/promiseAllOnAny01.types index 3f8f0c6e3e494..7446acf02f587 100644 --- a/tests/baselines/reference/promiseAllOnAny01.types +++ b/tests/baselines/reference/promiseAllOnAny01.types @@ -14,11 +14,11 @@ async function foo(x: any) { >Promise.all(x) : Promise > : ^^^^^^^^^^^^^^ >Promise.all : (values: T) => Promise<{ -readonly [P in keyof T]: Awaited; }> -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : (values: T) => Promise<{ -readonly [P in keyof T]: Awaited; }> -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : any let result: any[] = abc; diff --git a/tests/baselines/reference/promiseChaining.types b/tests/baselines/reference/promiseChaining.types index 5acd07c234db2..3b7647b546bdf 100644 --- a/tests/baselines/reference/promiseChaining.types +++ b/tests/baselines/reference/promiseChaining.types @@ -23,7 +23,7 @@ class Chain { >cb(this.value) : S > : ^ >cb : (x: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this @@ -38,19 +38,19 @@ class Chain { >this.then(x => result)/*S*/.then(x => "abc")/*string*/.then(x => x.length) : Chain > : ^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then(x => "abc")/*string*/.then : (cb: (x: string) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >this.then(x => result)/*S*/.then(x => "abc") : Chain > : ^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then : (cb: (x: S_1) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >this.then(x => result) : Chain > : ^^^^^^^^ >this.then : (cb: (x: T) => S) => Chain -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => result : (x: T) => S > : ^ ^^^^^^^^^ >x : T @@ -58,7 +58,7 @@ class Chain { >result : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >x => "abc" : (x: S) => string > : ^ ^^^^^^^^^^^^^^ >x : S @@ -66,7 +66,7 @@ class Chain { >"abc" : "abc" > : ^^^^^ >then : (cb: (x: string) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/promiseChaining1.types b/tests/baselines/reference/promiseChaining1.types index 2ea214441ddc4..4024c6e584381 100644 --- a/tests/baselines/reference/promiseChaining1.types +++ b/tests/baselines/reference/promiseChaining1.types @@ -26,7 +26,7 @@ class Chain2 { >cb(this.value) : S > : ^ >cb : (x: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this @@ -41,19 +41,19 @@ class Chain2 { >this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then(x => x.length) : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >this.then(x => result)/*S*/.then(x => "abc") : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >this.then(x => result) : Chain2 > : ^^^^^^^^^ >this.then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => result : (x: T) => S > : ^ ^^^^^^^^^ >x : T @@ -61,7 +61,7 @@ class Chain2 { >result : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >x => "abc" : (x: S) => string > : ^ ^^^^^^^^^^^^^^ >x : S @@ -69,7 +69,7 @@ class Chain2 { >"abc" : "abc" > : ^^^^^ >then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >x => x.length : (x: Function) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^ >x : Function diff --git a/tests/baselines/reference/promiseChaining2.types b/tests/baselines/reference/promiseChaining2.types index 8d74340e860aa..3f70949631ad1 100644 --- a/tests/baselines/reference/promiseChaining2.types +++ b/tests/baselines/reference/promiseChaining2.types @@ -26,7 +26,7 @@ class Chain2 { >cb(this.value) : S > : ^ >cb : (x: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this @@ -41,19 +41,19 @@ class Chain2 { >this.then(x => result).then(x => "abc").then(x => x.length) : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result).then(x => "abc").then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >this.then(x => result).then(x => "abc") : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result).then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >this.then(x => result) : Chain2 > : ^^^^^^^^^ >this.then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => result : (x: T) => S > : ^ ^^^^^^^^^ >x : T @@ -61,7 +61,7 @@ class Chain2 { >result : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >x => "abc" : (x: S) => string > : ^ ^^^^^^^^^^^^^^ >x : S @@ -69,7 +69,7 @@ class Chain2 { >"abc" : "abc" > : ^^^^^ >then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >x => x.length : (x: Function) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^ >x : Function diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index a12f5aa7e015a..37e91522dd94e 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -2,13 +2,13 @@ === Performance Stats === Type Count: 1,000 -> 2,500 -Instantiation count: 5,000 +Instantiation count: 5,000 -> 25,000 === promisePermutations.ts === interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -24,7 +24,7 @@ interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -40,7 +40,7 @@ interface Promise { then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -56,7 +56,7 @@ interface Promise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -90,7 +90,7 @@ interface Promise { interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -106,7 +106,7 @@ interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -122,7 +122,7 @@ interface IPromise { then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -138,7 +138,7 @@ interface IPromise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -331,37 +331,37 @@ declare function testFunction10P(cb: (a: U) => U): Promise; declare function testFunction11(x: number): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11(x: string): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction11P(x: number): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11P(x: string): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction12(x: T): IPromise; >testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12(x: T, y: T): IPromise; >testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -369,13 +369,13 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; >testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12P(x: T, y: T): Promise; >testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -391,17 +391,17 @@ var r1a = r1.then(testFunction, testFunction, testFunction); >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise @@ -409,29 +409,29 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise @@ -439,17 +439,17 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1: Promise; >s1 : Promise @@ -461,17 +461,17 @@ var s1a = s1.then(testFunction, testFunction, testFunction); >s1.then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise @@ -479,17 +479,17 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise > : ^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> @@ -497,17 +497,17 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> @@ -515,29 +515,29 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> @@ -547,51 +547,51 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> @@ -601,87 +601,87 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r3: IPromise; >r3 : IPromise @@ -693,17 +693,17 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise @@ -711,29 +711,29 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3: Promise; >s3 : Promise @@ -745,17 +745,17 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3.then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise @@ -763,17 +763,17 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise > : ^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> @@ -781,17 +781,17 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error >s3d : Promise @@ -799,29 +799,29 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise > : ^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r4: IPromise; >r4 : IPromise @@ -845,17 +845,17 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4.then(testFunction4, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise @@ -863,29 +863,29 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4.then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4: Promise; >s4 : Promise @@ -897,17 +897,17 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4.then(testFunction4, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise @@ -915,17 +915,17 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise > : ^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise @@ -933,17 +933,17 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4.then(testFunction4P, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> @@ -951,29 +951,29 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r5: IPromise; >r5 : IPromise @@ -985,17 +985,17 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5.then(testFunction5, testFunction5, testFunction5) : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise @@ -1003,29 +1003,29 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s5: Promise; >s5 : Promise @@ -1037,17 +1037,17 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5.then(testFunction5, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise @@ -1055,17 +1055,17 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise @@ -1073,17 +1073,17 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5.then(testFunction5P, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> @@ -1091,29 +1091,29 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r6: IPromise; >r6 : IPromise @@ -1125,17 +1125,17 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6.then(testFunction6, testFunction6, testFunction6) : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise @@ -1143,29 +1143,29 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s6: Promise; >s6 : Promise @@ -1177,17 +1177,17 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6.then(testFunction6, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise @@ -1195,17 +1195,17 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise @@ -1213,17 +1213,17 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6.then(testFunction6P, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> @@ -1231,29 +1231,29 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7: IPromise; >r7 : IPromise @@ -1265,17 +1265,17 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise @@ -1283,29 +1283,29 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7: Promise; >s7 : Promise @@ -1317,17 +1317,17 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise @@ -1335,17 +1335,17 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise @@ -1353,17 +1353,17 @@ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise @@ -1371,29 +1371,29 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8: IPromise; >r8 : IPromise @@ -1417,17 +1417,17 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8.then(testFunction8, testFunction8, testFunction8) : IPromise > : ^^^^^^^^^^^^^^^^^ >r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise @@ -1435,29 +1435,29 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s8: Promise; >s8 : Promise @@ -1469,17 +1469,17 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8.then(testFunction8, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise @@ -1487,17 +1487,17 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise @@ -1505,17 +1505,17 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8.then(testFunction8P, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> @@ -1523,29 +1523,29 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8.then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9: IPromise; >r9 : IPromise @@ -1557,17 +1557,17 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9.then(testFunction9, testFunction9, testFunction9) : IPromise > : ^^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise @@ -1575,17 +1575,17 @@ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise @@ -1593,17 +1593,17 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok >r9d : IPromise @@ -1611,17 +1611,17 @@ var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok >r9.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise @@ -1629,29 +1629,29 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9: Promise; >s9 : Promise @@ -1663,17 +1663,17 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9.then(testFunction9, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise @@ -1681,17 +1681,17 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise @@ -1699,17 +1699,17 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9.then(testFunction9P, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise @@ -1717,17 +1717,17 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise @@ -1735,17 +1735,17 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9.then(nPromise, nPromise, nPromise) : Promise > : ^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise @@ -1753,17 +1753,17 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9.then(testFunction, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> @@ -1771,29 +1771,29 @@ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9.then(testFunction, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10 = testFunction10(x => x); >r10 : IPromise @@ -1801,7 +1801,7 @@ var r10 = testFunction10(x => x); >testFunction10(x => x) : IPromise > : ^^^^^^^^^^^^^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1815,17 +1815,17 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok >r10.then(testFunction10, testFunction10, testFunction10) : IPromise > : ^^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise @@ -1833,17 +1833,17 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise @@ -1851,17 +1851,17 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok >r10d : IPromise @@ -1869,17 +1869,17 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok >r10.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise @@ -1887,29 +1887,29 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10 = testFunction10P(x => x); >s10 : Promise @@ -1917,7 +1917,7 @@ var s10 = testFunction10P(x => x); >testFunction10P(x => x) : Promise > : ^^^^^^^^^^^^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1931,17 +1931,17 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10.then(testFunction10, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise @@ -1949,17 +1949,17 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise > : ^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise @@ -1967,17 +1967,17 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10.then(testFunction10P, testFunction10, testFunction10) : Promise > : ^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise @@ -1985,17 +1985,17 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> @@ -2003,17 +2003,17 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10.then(nIPromise, nPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise @@ -2021,17 +2021,17 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10.then(testFunctionP, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> @@ -2039,29 +2039,29 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r11: IPromise; >r11 : IPromise @@ -2073,17 +2073,17 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >r11.then(testFunction11, testFunction11, testFunction11) : IPromise > : ^^^^^^^^^^^^^^^^ >r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r11 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11: Promise; >s11 : Promise @@ -2095,17 +2095,17 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11.then(testFunction11, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Promise @@ -2113,17 +2113,17 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise > : ^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Promise @@ -2131,17 +2131,17 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11.then(testFunction11P, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> @@ -2149,7 +2149,7 @@ var r12 = testFunction12(x => x); >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2163,17 +2163,17 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ >r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> @@ -2181,7 +2181,7 @@ var s12 = testFunction12(x => x); >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2195,17 +2195,17 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise @@ -2213,17 +2213,17 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise @@ -2231,15 +2231,15 @@ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index 718fd185facc7..d7781b8a9ac15 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/promisePermutations2.ts] //// === Performance Stats === -Instantiation count: 2,500 +Instantiation count: 2,500 -> 10,000 === promisePermutations2.ts === // same as promisePermutations but without the same overloads in Promise @@ -9,7 +9,7 @@ Instantiation count: 2,500 interface Promise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -43,7 +43,7 @@ interface Promise { interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -59,7 +59,7 @@ interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -75,7 +75,7 @@ interface IPromise { then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -91,7 +91,7 @@ interface IPromise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; >then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -284,37 +284,37 @@ declare function testFunction10P(cb: (a: U) => U): Promise; declare function testFunction11(x: number): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11(x: string): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction11P(x: number): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11P(x: string): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction12(x: T): IPromise; >testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12(x: T, y: T): IPromise; >testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -322,13 +322,13 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; >testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12P(x: T, y: T): Promise; >testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -344,17 +344,17 @@ var r1a = r1.then(testFunction, testFunction, testFunction); >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise @@ -362,29 +362,29 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise @@ -392,17 +392,17 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1: Promise; >s1 : Promise @@ -414,17 +414,17 @@ var s1a = s1.then(testFunction, testFunction, testFunction); >s1.then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise> @@ -432,17 +432,17 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> @@ -450,17 +450,17 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> @@ -468,29 +468,29 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> @@ -500,51 +500,51 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> @@ -554,87 +554,87 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r3: IPromise; >r3 : IPromise @@ -646,17 +646,17 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise @@ -664,29 +664,29 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3: Promise; >s3 : Promise @@ -698,17 +698,17 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3.then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise> @@ -716,17 +716,17 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> @@ -734,17 +734,17 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error >s3d : Promise> @@ -752,29 +752,29 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r4: IPromise; >r4 : IPromise @@ -798,17 +798,17 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4.then(testFunction4, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise @@ -816,29 +816,29 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4.then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4: Promise; >s4 : Promise @@ -850,17 +850,17 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4.then(testFunction4, testFunction4, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise> @@ -868,17 +868,17 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise> @@ -886,17 +886,17 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4.then(testFunction4P, testFunction4, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> @@ -904,29 +904,29 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r5: IPromise; >r5 : IPromise @@ -938,17 +938,17 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5.then(testFunction5, testFunction5, testFunction5) : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise @@ -956,29 +956,29 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s5: Promise; >s5 : Promise @@ -990,17 +990,17 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5.then(testFunction5, testFunction5, testFunction5) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise> @@ -1008,17 +1008,17 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise> @@ -1026,17 +1026,17 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5.then(testFunction5P, testFunction5, testFunction5) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> @@ -1044,29 +1044,29 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r6: IPromise; >r6 : IPromise @@ -1078,17 +1078,17 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6.then(testFunction6, testFunction6, testFunction6) : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise @@ -1096,29 +1096,29 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s6: Promise; >s6 : Promise @@ -1130,17 +1130,17 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6.then(testFunction6, testFunction6, testFunction6) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise> @@ -1148,17 +1148,17 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise> @@ -1166,17 +1166,17 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6.then(testFunction6P, testFunction6, testFunction6) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> @@ -1184,29 +1184,29 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7: IPromise; >r7 : IPromise @@ -1218,17 +1218,17 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise @@ -1236,29 +1236,29 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7: Promise; >s7 : Promise @@ -1270,17 +1270,17 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise @@ -1288,17 +1288,17 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise @@ -1306,17 +1306,17 @@ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise @@ -1324,29 +1324,29 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8: IPromise; >r8 : IPromise @@ -1370,17 +1370,17 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8.then(testFunction8, testFunction8, testFunction8) : IPromise > : ^^^^^^^^^^^^^^^^^ >r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise @@ -1388,29 +1388,29 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s8: Promise; >s8 : Promise @@ -1422,17 +1422,17 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8.then(testFunction8, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise @@ -1440,17 +1440,17 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise @@ -1458,17 +1458,17 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8.then(testFunction8P, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> @@ -1476,29 +1476,29 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8.then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9: IPromise; >r9 : IPromise @@ -1510,17 +1510,17 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9.then(testFunction9, testFunction9, testFunction9) : IPromise > : ^^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise @@ -1528,17 +1528,17 @@ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise @@ -1546,17 +1546,17 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : IPromise @@ -1564,17 +1564,17 @@ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise @@ -1582,29 +1582,29 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9: Promise; >s9 : Promise @@ -1616,17 +1616,17 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9.then(testFunction9, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise @@ -1634,17 +1634,17 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise @@ -1652,17 +1652,17 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9.then(testFunction9P, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise> @@ -1670,17 +1670,17 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise> @@ -1688,17 +1688,17 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9.then(nPromise, nPromise, nPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise> @@ -1706,17 +1706,17 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9.then(testFunction, sIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> @@ -1724,29 +1724,29 @@ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9.then(testFunction, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10 = testFunction10(x => x); >r10 : IPromise @@ -1754,7 +1754,7 @@ var r10 = testFunction10(x => x); >testFunction10(x => x) : IPromise > : ^^^^^^^^^^^^^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1768,17 +1768,17 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok >r10.then(testFunction10, testFunction10, testFunction10) : IPromise > : ^^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise @@ -1786,17 +1786,17 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise @@ -1804,17 +1804,17 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : IPromise @@ -1822,17 +1822,17 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise @@ -1840,29 +1840,29 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10 = testFunction10P(x => x); >s10 : Promise @@ -1870,7 +1870,7 @@ var s10 = testFunction10P(x => x); >testFunction10P(x => x) : Promise > : ^^^^^^^^^^^^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1884,17 +1884,17 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10.then(testFunction10, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise> @@ -1902,17 +1902,17 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise> @@ -1920,17 +1920,17 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10.then(testFunction10P, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise> @@ -1938,17 +1938,17 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> @@ -1956,17 +1956,17 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10.then(nIPromise, nPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise> @@ -1974,17 +1974,17 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10.then(testFunctionP, sIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> @@ -1992,29 +1992,29 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r11: IPromise; >r11 : IPromise @@ -2026,17 +2026,17 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >r11.then(testFunction11, testFunction11, testFunction11) : IPromise > : ^^^^^^^^^^^^^^^^ >r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r11 : IPromise > : ^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11: Promise; >s11 : Promise @@ -2048,17 +2048,17 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11.then(testFunction11, testFunction11, testFunction11) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11b : Promise> @@ -2066,17 +2066,17 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11c : Promise> @@ -2084,17 +2084,17 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11.then(testFunction11P, testFunction11, testFunction11) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> @@ -2102,7 +2102,7 @@ var r12 = testFunction12(x => x); >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2116,17 +2116,17 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ >r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> @@ -2134,7 +2134,7 @@ var s12 = testFunction12(x => x); >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2148,17 +2148,17 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise @@ -2166,17 +2166,17 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise @@ -2184,15 +2184,15 @@ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index 82fdda44df694..e59283afc6d1e 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -2,7 +2,7 @@ === Performance Stats === Type Count: 1,000 -Instantiation count: 5,000 +Instantiation count: 5,000 -> 25,000 === promisePermutations3.ts === // same as promisePermutations but without the same overloads in IPromise @@ -10,7 +10,7 @@ Instantiation count: 5,000 interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -26,7 +26,7 @@ interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -42,7 +42,7 @@ interface Promise { then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -58,7 +58,7 @@ interface Promise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -285,37 +285,37 @@ declare function testFunction10P(cb: (a: U) => U): Promise; declare function testFunction11(x: number): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11(x: string): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction11P(x: number): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11P(x: string): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction12(x: T): IPromise; >testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12(x: T, y: T): IPromise; >testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -323,13 +323,13 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; >testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12P(x: T, y: T): Promise; >testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -345,17 +345,17 @@ var r1a = r1.then(testFunction, testFunction, testFunction); >r1.then(testFunction, testFunction, testFunction) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise> @@ -363,29 +363,29 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1.then(testFunction, testFunction, testFunction) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise> @@ -393,17 +393,17 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1: Promise; >s1 : Promise @@ -415,17 +415,17 @@ var s1a = s1.then(testFunction, testFunction, testFunction); >s1.then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise @@ -433,17 +433,17 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise > : ^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> @@ -451,17 +451,17 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> @@ -469,29 +469,29 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> @@ -501,51 +501,51 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then : (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> @@ -555,87 +555,87 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r3: IPromise; >r3 : IPromise @@ -647,17 +647,17 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3.then(testFunction3, testFunction3, testFunction3) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r3.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise> @@ -665,29 +665,29 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r3.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3: Promise; >s3 : Promise @@ -699,17 +699,17 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3.then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise @@ -717,17 +717,17 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise > : ^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> @@ -735,17 +735,17 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >s3d : Promise @@ -753,29 +753,29 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise > : ^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r4: IPromise; >r4 : IPromise @@ -799,17 +799,17 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4.then(testFunction4, testFunction4, testFunction4) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r4.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise> @@ -817,29 +817,29 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r4.then(sIPromise, testFunction4, testFunction4).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r4.then(sIPromise, testFunction4, testFunction4) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r4.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4: Promise; >s4 : Promise @@ -851,17 +851,17 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4.then(testFunction4, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise @@ -869,17 +869,17 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise > : ^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise @@ -887,17 +887,17 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4.then(testFunction4P, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> @@ -905,29 +905,29 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r5: IPromise; >r5 : IPromise @@ -939,17 +939,17 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5.then(testFunction5, testFunction5, testFunction5) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r5.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise> @@ -957,29 +957,29 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r5.then(sIPromise, sIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r5.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r5.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s5: Promise; >s5 : Promise @@ -991,17 +991,17 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5.then(testFunction5, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise @@ -1009,17 +1009,17 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise @@ -1027,17 +1027,17 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5.then(testFunction5P, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> @@ -1045,29 +1045,29 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r6: IPromise; >r6 : IPromise @@ -1079,17 +1079,17 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6.then(testFunction6, testFunction6, testFunction6) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r6.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise> @@ -1097,29 +1097,29 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r6.then(sIPromise, sIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r6.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r6.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s6: Promise; >s6 : Promise @@ -1131,17 +1131,17 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6.then(testFunction6, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise @@ -1149,17 +1149,17 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise @@ -1167,17 +1167,17 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6.then(testFunction6P, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> @@ -1185,29 +1185,29 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7: IPromise; >r7 : IPromise @@ -1219,17 +1219,17 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise> @@ -1237,29 +1237,29 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then(sIPromise, sIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7: Promise; >s7 : Promise @@ -1271,17 +1271,17 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise> @@ -1289,17 +1289,17 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise> @@ -1307,17 +1307,17 @@ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise> @@ -1325,29 +1325,29 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then(sPromise, sPromise, sPromise).then : (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7.then(sPromise, sPromise, sPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8: IPromise; >r8 : IPromise @@ -1371,17 +1371,17 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8.then(testFunction8, testFunction8, testFunction8) : IPromise > : ^^^^^^^^^^^^^^^^^ >r8.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise> @@ -1389,29 +1389,29 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r8.then(nIPromise, nIPromise, nIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r8.then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r8.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s8: Promise; >s8 : Promise @@ -1423,17 +1423,17 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8.then(testFunction8, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise @@ -1441,17 +1441,17 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise @@ -1459,17 +1459,17 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8.then(testFunction8P, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> @@ -1477,29 +1477,29 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8.then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9: IPromise; >r9 : IPromise @@ -1511,17 +1511,17 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9.then(testFunction9, testFunction9, testFunction9) : IPromise > : ^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise> @@ -1529,17 +1529,17 @@ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise> @@ -1547,17 +1547,17 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9.then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : IPromise> @@ -1565,17 +1565,17 @@ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9.then(testFunction, sIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise> @@ -1583,29 +1583,29 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then(testFunction, nIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9.then(testFunction, nIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9: Promise; >s9 : Promise @@ -1617,17 +1617,17 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9.then(testFunction9, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise @@ -1635,17 +1635,17 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise @@ -1653,17 +1653,17 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9.then(testFunction9P, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise @@ -1671,17 +1671,17 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise @@ -1689,17 +1689,17 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9.then(nPromise, nPromise, nPromise) : Promise > : ^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise @@ -1707,17 +1707,17 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9.then(testFunction, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> @@ -1725,29 +1725,29 @@ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9.then(testFunction, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10 = testFunction10(x => x); >r10 : IPromise @@ -1755,7 +1755,7 @@ var r10 = testFunction10(x => x); >testFunction10(x => x) : IPromise > : ^^^^^^^^^^^^^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1769,17 +1769,17 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok >r10.then(testFunction10, testFunction10, testFunction10) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise> @@ -1787,17 +1787,17 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise> @@ -1805,17 +1805,17 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10.then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : IPromise> @@ -1823,17 +1823,17 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10.then(testFunction, sIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise> @@ -1841,29 +1841,29 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then(testFunction, nIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10.then(testFunction, nIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10 = testFunction10P(x => x); >s10 : Promise @@ -1871,7 +1871,7 @@ var s10 = testFunction10P(x => x); >testFunction10P(x => x) : Promise > : ^^^^^^^^^^^^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1885,17 +1885,17 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10.then(testFunction10, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise @@ -1903,17 +1903,17 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise > : ^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise @@ -1921,17 +1921,17 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10.then(testFunction10P, testFunction10, testFunction10) : Promise > : ^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise @@ -1939,17 +1939,17 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> @@ -1957,17 +1957,17 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10.then(nIPromise, nPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise @@ -1975,17 +1975,17 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10.then(testFunctionP, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> @@ -1993,29 +1993,29 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r11: IPromise; >r11 : IPromise @@ -2027,17 +2027,17 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok >r11.then(testFunction11, testFunction11, testFunction11) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r11.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r11 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11: Promise; >s11 : Promise @@ -2049,17 +2049,17 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11.then(testFunction11, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Promise @@ -2067,17 +2067,17 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise > : ^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Promise @@ -2085,17 +2085,17 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11.then(testFunction11P, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> @@ -2103,7 +2103,7 @@ var r12 = testFunction12(x => x); >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2117,17 +2117,17 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12.then(testFunction12, testFunction12, testFunction12) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> @@ -2135,7 +2135,7 @@ var s12 = testFunction12(x => x); >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2149,17 +2149,17 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12.then(testFunction12, testFunction12, testFunction12) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise> @@ -2167,17 +2167,17 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise> @@ -2185,15 +2185,15 @@ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/promiseTest.types b/tests/baselines/reference/promiseTest.types index 62fbc6612f12c..f97721783ae83 100644 --- a/tests/baselines/reference/promiseTest.types +++ b/tests/baselines/reference/promiseTest.types @@ -4,7 +4,7 @@ interface Promise { then
    (success?: (value: T) => Promise): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -12,7 +12,7 @@ interface Promise { then(success?: (value: T) => B): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => B > : ^ ^^ ^^^^^ >value : T @@ -33,11 +33,11 @@ var p2 = p.then(function (x) { >p.then(function (x) { return p;} ) : Promise > : ^^^^^^^^^^^^^^^ >p.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^ ^^^ >function (x) { return p;} : (x: number) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index 8abf93915a14a..570177cdd0a33 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/promiseType.ts] //// === Performance Stats === -Instantiation count: 2,500 +Instantiation count: 2,500 -> 10,000 === promiseType.ts === declare var p: Promise; @@ -145,11 +145,11 @@ async function F() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -233,11 +233,11 @@ async function I() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -253,11 +253,11 @@ const p00 = p.catch(); >p.catch() : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ const p01 = p.then(); >p01 : Promise @@ -265,11 +265,11 @@ const p01 = p.then(); >p.then() : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ const p10 = p.catch(undefined); >p10 : Promise @@ -277,11 +277,11 @@ const p10 = p.catch(undefined); >p.catch(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -291,11 +291,11 @@ const p11 = p.catch(null); >p.catch(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ const p12 = p.catch(() => 1); >p12 : Promise @@ -303,11 +303,11 @@ const p12 = p.catch(() => 1); >p.catch(() => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -319,11 +319,11 @@ const p13 = p.catch(() => x); >p.catch(() => x) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -334,11 +334,11 @@ const p14 = p.catch(() => undefined); >p.catch(() => undefined) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -350,11 +350,11 @@ const p15 = p.catch(() => null); >p.catch(() => null) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -364,11 +364,11 @@ const p16 = p.catch(() => {}); >p.catch(() => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -378,11 +378,11 @@ const p17 = p.catch(() => {throw 1}); >p.catch(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -394,21 +394,21 @@ const p18 = p.catch(() => Promise.reject(1)); >p.catch(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -418,21 +418,21 @@ const p19 = p.catch(() => Promise.resolve(1)); >p.catch(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -442,11 +442,11 @@ const p20 = p.then(undefined); >p.then(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -456,11 +456,11 @@ const p21 = p.then(null); >p.then(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ const p22 = p.then(() => 1); >p22 : Promise @@ -468,11 +468,11 @@ const p22 = p.then(() => 1); >p.then(() => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -484,11 +484,11 @@ const p23 = p.then(() => x); >p.then(() => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -499,11 +499,11 @@ const p24 = p.then(() => undefined); >p.then(() => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -515,11 +515,11 @@ const p25 = p.then(() => null); >p.then(() => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -529,11 +529,11 @@ const p26 = p.then(() => {}); >p.then(() => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -543,11 +543,11 @@ const p27 = p.then(() => {throw 1}); >p.then(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -559,21 +559,21 @@ const p28 = p.then(() => Promise.resolve(1)); >p.then(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -583,21 +583,21 @@ const p29 = p.then(() => Promise.reject(1)); >p.then(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -607,11 +607,11 @@ const p30 = p.then(undefined, undefined); >p.then(undefined, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >undefined : undefined @@ -623,11 +623,11 @@ const p31 = p.then(undefined, null); >p.then(undefined, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -637,11 +637,11 @@ const p32 = p.then(undefined, () => 1); >p.then(undefined, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => 1 : () => number @@ -655,11 +655,11 @@ const p33 = p.then(undefined, () => x); >p.then(undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => x : () => any @@ -672,11 +672,11 @@ const p34 = p.then(undefined, () => undefined); >p.then(undefined, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => undefined : () => any @@ -690,11 +690,11 @@ const p35 = p.then(undefined, () => null); >p.then(undefined, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => null : () => any @@ -706,11 +706,11 @@ const p36 = p.then(undefined, () => {}); >p.then(undefined, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {} : () => void @@ -722,11 +722,11 @@ const p37 = p.then(undefined, () => {throw 1}); >p.then(undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {throw 1} : () => never @@ -740,11 +740,11 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >p.then(undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.resolve(1) : () => Promise @@ -752,11 +752,11 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -766,11 +766,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >p.then(undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -778,11 +778,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -792,11 +792,11 @@ const p40 = p.then(null, undefined); >p.then(null, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -806,11 +806,11 @@ const p41 = p.then(null, null); >p.then(null, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ const p42 = p.then(null, () => 1); >p42 : Promise @@ -818,11 +818,11 @@ const p42 = p.then(null, () => 1); >p.then(null, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -834,11 +834,11 @@ const p43 = p.then(null, () => x); >p.then(null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -849,11 +849,11 @@ const p44 = p.then(null, () => undefined); >p.then(null, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -865,11 +865,11 @@ const p45 = p.then(null, () => null); >p.then(null, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -879,11 +879,11 @@ const p46 = p.then(null, () => {}); >p.then(null, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -893,11 +893,11 @@ const p47 = p.then(null, () => {throw 1}); >p.then(null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -909,21 +909,21 @@ const p48 = p.then(null, () => Promise.resolve(1)); >p.then(null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -933,21 +933,21 @@ const p49 = p.then(null, () => Promise.reject(1)); >p.then(null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -957,11 +957,11 @@ const p50 = p.then(() => "1", undefined); >p.then(() => "1", undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -975,11 +975,11 @@ const p51 = p.then(() => "1", null); >p.then(() => "1", null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -991,11 +991,11 @@ const p52 = p.then(() => "1", () => 1); >p.then(() => "1", () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1011,11 +1011,11 @@ const p53 = p.then(() => "1", () => x); >p.then(() => "1", () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1030,11 +1030,11 @@ const p54 = p.then(() => "1", () => undefined); >p.then(() => "1", () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1050,11 +1050,11 @@ const p55 = p.then(() => "1", () => null); >p.then(() => "1", () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1068,11 +1068,11 @@ const p56 = p.then(() => "1", () => {}); >p.then(() => "1", () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1086,11 +1086,11 @@ const p57 = p.then(() => "1", () => {throw 1}); >p.then(() => "1", () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1106,11 +1106,11 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >p.then(() => "1", () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1120,11 +1120,11 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1134,11 +1134,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >p.then(() => "1", () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1148,11 +1148,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1162,11 +1162,11 @@ const p60 = p.then(() => x, undefined); >p.then(() => x, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1179,11 +1179,11 @@ const p61 = p.then(() => x, null); >p.then(() => x, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1194,11 +1194,11 @@ const p62 = p.then(() => x, () => 1); >p.then(() => x, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1213,11 +1213,11 @@ const p63 = p.then(() => x, () => x); >p.then(() => x, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1231,11 +1231,11 @@ const p64 = p.then(() => x, () => undefined); >p.then(() => x, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1250,11 +1250,11 @@ const p65 = p.then(() => x, () => null); >p.then(() => x, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1267,11 +1267,11 @@ const p66 = p.then(() => x, () => {}); >p.then(() => x, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1284,11 +1284,11 @@ const p67 = p.then(() => x, () => {throw 1}); >p.then(() => x, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1303,11 +1303,11 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >p.then(() => x, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1316,11 +1316,11 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1330,11 +1330,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >p.then(() => x, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1343,11 +1343,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1357,11 +1357,11 @@ const p70 = p.then(() => undefined, undefined); >p.then(() => undefined, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1375,11 +1375,11 @@ const p71 = p.then(() => undefined, null); >p.then(() => undefined, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1391,11 +1391,11 @@ const p72 = p.then(() => undefined, () => 1); >p.then(() => undefined, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1411,11 +1411,11 @@ const p73 = p.then(() => undefined, () => x); >p.then(() => undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1430,11 +1430,11 @@ const p74 = p.then(() => undefined, () => undefined); >p.then(() => undefined, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1450,11 +1450,11 @@ const p75 = p.then(() => undefined, () => null); >p.then(() => undefined, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1468,11 +1468,11 @@ const p76 = p.then(() => undefined, () => {}); >p.then(() => undefined, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1486,11 +1486,11 @@ const p77 = p.then(() => undefined, () => {throw 1}); >p.then(() => undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1506,11 +1506,11 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p.then(() => undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1520,11 +1520,11 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1534,11 +1534,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >p.then(() => undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1548,11 +1548,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1562,11 +1562,11 @@ const p80 = p.then(() => null, undefined); >p.then(() => null, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1578,11 +1578,11 @@ const p81 = p.then(() => null, null); >p.then(() => null, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -1592,11 +1592,11 @@ const p82 = p.then(() => null, () => 1); >p.then(() => null, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => 1 : () => number @@ -1610,11 +1610,11 @@ const p83 = p.then(() => null, () => x); >p.then(() => null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => x : () => any @@ -1627,11 +1627,11 @@ const p84 = p.then(() => null, () => undefined); >p.then(() => null, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => undefined : () => any @@ -1645,11 +1645,11 @@ const p85 = p.then(() => null, () => null); >p.then(() => null, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => null : () => any @@ -1661,11 +1661,11 @@ const p86 = p.then(() => null, () => {}); >p.then(() => null, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => {} : () => void @@ -1677,11 +1677,11 @@ const p87 = p.then(() => null, () => {throw 1}); >p.then(() => null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => {throw 1} : () => never @@ -1695,11 +1695,11 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >p.then(() => null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => Promise.resolve(1) : () => Promise @@ -1707,11 +1707,11 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1721,11 +1721,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >p.then(() => null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1733,11 +1733,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1747,11 +1747,11 @@ const p90 = p.then(() => {}, undefined); >p.then(() => {}, undefined) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >undefined : undefined @@ -1763,11 +1763,11 @@ const p91 = p.then(() => {}, null); >p.then(() => {}, null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -1777,11 +1777,11 @@ const p92 = p.then(() => {}, () => 1); >p.then(() => {}, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => 1 : () => number @@ -1795,11 +1795,11 @@ const p93 = p.then(() => {}, () => x); >p.then(() => {}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => x : () => any @@ -1812,11 +1812,11 @@ const p94 = p.then(() => {}, () => undefined); >p.then(() => {}, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => undefined : () => any @@ -1830,11 +1830,11 @@ const p95 = p.then(() => {}, () => null); >p.then(() => {}, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => null : () => any @@ -1846,11 +1846,11 @@ const p96 = p.then(() => {}, () => {}); >p.then(() => {}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {} : () => void @@ -1862,11 +1862,11 @@ const p97 = p.then(() => {}, () => {throw 1}); >p.then(() => {}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {throw 1} : () => never @@ -1880,11 +1880,11 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >p.then(() => {}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.resolve(1) : () => Promise @@ -1892,11 +1892,11 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1906,11 +1906,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >p.then(() => {}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1918,11 +1918,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1932,11 +1932,11 @@ const pa0 = p.then(() => {throw 1}, undefined); >p.then(() => {throw 1}, undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1950,11 +1950,11 @@ const pa1 = p.then(() => {throw 1}, null); >p.then(() => {throw 1}, null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1966,11 +1966,11 @@ const pa2 = p.then(() => {throw 1}, () => 1); >p.then(() => {throw 1}, () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1986,11 +1986,11 @@ const pa3 = p.then(() => {throw 1}, () => x); >p.then(() => {throw 1}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2005,11 +2005,11 @@ const pa4 = p.then(() => {throw 1}, () => undefined); >p.then(() => {throw 1}, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2025,11 +2025,11 @@ const pa5 = p.then(() => {throw 1}, () => null); >p.then(() => {throw 1}, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2043,11 +2043,11 @@ const pa6 = p.then(() => {throw 1}, () => {}); >p.then(() => {throw 1}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2061,11 +2061,11 @@ const pa7 = p.then(() => {throw 1}, () => {throw 1}); >p.then(() => {throw 1}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2081,11 +2081,11 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2095,11 +2095,11 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2109,11 +2109,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >p.then(() => {throw 1}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2123,11 +2123,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2137,21 +2137,21 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >p.then(() => Promise.resolve("1"), undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2163,21 +2163,21 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >p.then(() => Promise.resolve("1"), null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ @@ -2187,21 +2187,21 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >p.then(() => Promise.resolve("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2215,21 +2215,21 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >p.then(() => Promise.resolve("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2242,21 +2242,21 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >p.then(() => Promise.resolve("1"), () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => undefined : () => any @@ -2270,21 +2270,21 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >p.then(() => Promise.resolve("1"), () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => null : () => any @@ -2296,21 +2296,21 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >p.then(() => Promise.resolve("1"), () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2322,21 +2322,21 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2350,21 +2350,21 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise @@ -2372,11 +2372,11 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2386,21 +2386,21 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2408,11 +2408,11 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2422,21 +2422,21 @@ const pc0 = p.then(() => Promise.reject("1"), undefined); >p.then(() => Promise.reject("1"), undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2448,21 +2448,21 @@ const pc1 = p.then(() => Promise.reject("1"), null); >p.then(() => Promise.reject("1"), null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ @@ -2472,21 +2472,21 @@ const pc2 = p.then(() => Promise.reject("1"), () => 1); >p.then(() => Promise.reject("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2500,21 +2500,21 @@ const pc3 = p.then(() => Promise.reject("1"), () => x); >p.then(() => Promise.reject("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2527,21 +2527,21 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); >p.then(() => Promise.reject("1"), () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => undefined : () => any @@ -2555,21 +2555,21 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); >p.then(() => Promise.reject("1"), () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => null : () => any @@ -2581,21 +2581,21 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); >p.then(() => Promise.reject("1"), () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2607,21 +2607,21 @@ const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >p.then(() => Promise.reject("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2635,21 +2635,21 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise @@ -2657,11 +2657,11 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2671,21 +2671,21 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2693,11 +2693,11 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2705,11 +2705,11 @@ Promise.resolve(undefined as Promise | number); >Promise.resolve(undefined as Promise | number) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise | number : number | Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2719,11 +2719,11 @@ Promise.resolve(undefined as Promise>); >Promise.resolve(undefined as Promise>) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise> : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2733,11 +2733,11 @@ Promise.resolve(undefined as string | Promise>); >Promise.resolve(undefined as string | Promise>) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as string | Promise> : string | Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2747,11 +2747,11 @@ Promise.resolve(undefined as Promise | Promise>); >Promise.resolve(undefined as Promise | Promise>) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise | Promise> : Promise | Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2761,11 +2761,11 @@ Promise.resolve(undefined as Promise>>); >Promise.resolve(undefined as Promise>>) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise>> : Promise>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/promiseTypeInference.types b/tests/baselines/reference/promiseTypeInference.types index bf3f8d605813b..a08547bc2765e 100644 --- a/tests/baselines/reference/promiseTypeInference.types +++ b/tests/baselines/reference/promiseTypeInference.types @@ -40,15 +40,15 @@ var $$x = load("something").then(s => convert(s)); >load("something").then(s => convert(s)) : CPromise > : ^^^^^^^^^^^^^^^^ >load("something").then : (success?: (value: string) => CPromise) => CPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >load("something") : CPromise > : ^^^^^^^^^^^^^^^^ >load : (name: string) => CPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"something" : "something" > : ^^^^^^^^^^^ >then : (success?: (value: string) => CPromise) => CPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >s => convert(s) : (s: string) => IPromise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string @@ -56,7 +56,7 @@ var $$x = load("something").then(s => convert(s)); >convert(s) : IPromise > : ^^^^^^^^^^^^^^^^ >convert : (s: string) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/promiseTypeInferenceUnion.types b/tests/baselines/reference/promiseTypeInferenceUnion.types index 6ff54e4dd1c21..e5277861461dd 100644 --- a/tests/baselines/reference/promiseTypeInferenceUnion.types +++ b/tests/baselines/reference/promiseTypeInferenceUnion.types @@ -11,11 +11,11 @@ function f1(x: number): number | Promise { >Promise.resolve(x) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } @@ -30,11 +30,11 @@ function f2(x: number): number | PromiseLike { >Promise.resolve(x) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } @@ -49,11 +49,11 @@ function f3(x: number): number | Promise | PromiseLike { >Promise.resolve(x) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } @@ -64,15 +64,15 @@ const g1: Promise = Promise.resolve(f1(42)); >Promise.resolve(f1(42)) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >f1(42) : number | Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: number) => number | Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -82,15 +82,15 @@ const g2: Promise = Promise.resolve(f2(42)); >Promise.resolve(f2(42)) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >f2(42) : number | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: number) => number | PromiseLike -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -100,15 +100,15 @@ const g3: Promise = Promise.resolve(f3(42)); >Promise.resolve(f3(42)) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >f3(42) : number | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (x: number) => number | Promise | PromiseLike -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ diff --git a/tests/baselines/reference/promiseTypeStrictNull.types b/tests/baselines/reference/promiseTypeStrictNull.types index ffb052124f124..c7d7aa3a3b6f7 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.types +++ b/tests/baselines/reference/promiseTypeStrictNull.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/promiseTypeStrictNull.ts] //// === Performance Stats === -Instantiation count: 2,500 +Instantiation count: 2,500 -> 10,000 === promiseTypeStrictNull.ts === declare var p: Promise; @@ -145,11 +145,11 @@ async function F() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -233,11 +233,11 @@ async function I() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -253,11 +253,11 @@ const p00 = p.catch(); >p.catch() : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ const p01 = p.then(); >p01 : Promise @@ -265,11 +265,11 @@ const p01 = p.then(); >p.then() : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ const p10 = p.catch(undefined); >p10 : Promise @@ -277,11 +277,11 @@ const p10 = p.catch(undefined); >p.catch(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -291,11 +291,11 @@ const p11 = p.catch(null); >p.catch(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ const p12 = p.catch(() => 1); >p12 : Promise @@ -303,11 +303,11 @@ const p12 = p.catch(() => 1); >p.catch(() => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -319,11 +319,11 @@ const p13 = p.catch(() => x); >p.catch(() => x) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -334,11 +334,11 @@ const p14 = p.catch(() => undefined); >p.catch(() => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -350,11 +350,11 @@ const p15 = p.catch(() => null); >p.catch(() => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -364,11 +364,11 @@ const p16 = p.catch(() => {}); >p.catch(() => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -378,11 +378,11 @@ const p17 = p.catch(() => {throw 1}); >p.catch(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -394,21 +394,21 @@ const p18 = p.catch(() => Promise.reject(1)); >p.catch(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -418,21 +418,21 @@ const p19 = p.catch(() => Promise.resolve(1)); >p.catch(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -442,11 +442,11 @@ const p20 = p.then(undefined); >p.then(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -456,11 +456,11 @@ const p21 = p.then(null); >p.then(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ const p22 = p.then(() => 1); >p22 : Promise @@ -468,11 +468,11 @@ const p22 = p.then(() => 1); >p.then(() => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -484,11 +484,11 @@ const p23 = p.then(() => x); >p.then(() => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -499,11 +499,11 @@ const p24 = p.then(() => undefined); >p.then(() => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -515,11 +515,11 @@ const p25 = p.then(() => null); >p.then(() => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -529,11 +529,11 @@ const p26 = p.then(() => {}); >p.then(() => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -543,11 +543,11 @@ const p27 = p.then(() => {throw 1}); >p.then(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -559,21 +559,21 @@ const p28 = p.then(() => Promise.resolve(1)); >p.then(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -583,21 +583,21 @@ const p29 = p.then(() => Promise.reject(1)); >p.then(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -607,11 +607,11 @@ const p30 = p.then(undefined, undefined); >p.then(undefined, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >undefined : undefined @@ -623,11 +623,11 @@ const p31 = p.then(undefined, null); >p.then(undefined, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -637,11 +637,11 @@ const p32 = p.then(undefined, () => 1); >p.then(undefined, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => 1 : () => number @@ -655,11 +655,11 @@ const p33 = p.then(undefined, () => x); >p.then(undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => x : () => any @@ -672,11 +672,11 @@ const p34 = p.then(undefined, () => undefined); >p.then(undefined, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => undefined : () => undefined @@ -690,11 +690,11 @@ const p35 = p.then(undefined, () => null); >p.then(undefined, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => null : () => null @@ -706,11 +706,11 @@ const p36 = p.then(undefined, () => {}); >p.then(undefined, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {} : () => void @@ -722,11 +722,11 @@ const p37 = p.then(undefined, () => {throw 1}); >p.then(undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {throw 1} : () => never @@ -740,11 +740,11 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >p.then(undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.resolve(1) : () => Promise @@ -752,11 +752,11 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -766,11 +766,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >p.then(undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -778,11 +778,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -792,11 +792,11 @@ const p40 = p.then(null, undefined); >p.then(null, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -806,11 +806,11 @@ const p41 = p.then(null, null); >p.then(null, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ const p42 = p.then(null, () => 1); >p42 : Promise @@ -818,11 +818,11 @@ const p42 = p.then(null, () => 1); >p.then(null, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -834,11 +834,11 @@ const p43 = p.then(null, () => x); >p.then(null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -849,11 +849,11 @@ const p44 = p.then(null, () => undefined); >p.then(null, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -865,11 +865,11 @@ const p45 = p.then(null, () => null); >p.then(null, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -879,11 +879,11 @@ const p46 = p.then(null, () => {}); >p.then(null, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -893,11 +893,11 @@ const p47 = p.then(null, () => {throw 1}); >p.then(null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -909,21 +909,21 @@ const p48 = p.then(null, () => Promise.resolve(1)); >p.then(null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -933,21 +933,21 @@ const p49 = p.then(null, () => Promise.reject(1)); >p.then(null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -957,11 +957,11 @@ const p50 = p.then(() => "1", undefined); >p.then(() => "1", undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -975,11 +975,11 @@ const p51 = p.then(() => "1", null); >p.then(() => "1", null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -991,11 +991,11 @@ const p52 = p.then(() => "1", () => 1); >p.then(() => "1", () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1011,11 +1011,11 @@ const p53 = p.then(() => "1", () => x); >p.then(() => "1", () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1030,11 +1030,11 @@ const p54 = p.then(() => "1", () => undefined); >p.then(() => "1", () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1050,11 +1050,11 @@ const p55 = p.then(() => "1", () => null); >p.then(() => "1", () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1068,11 +1068,11 @@ const p56 = p.then(() => "1", () => {}); >p.then(() => "1", () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1086,11 +1086,11 @@ const p57 = p.then(() => "1", () => {throw 1}); >p.then(() => "1", () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1106,11 +1106,11 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >p.then(() => "1", () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1120,11 +1120,11 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1134,11 +1134,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >p.then(() => "1", () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1148,11 +1148,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1162,11 +1162,11 @@ const p60 = p.then(() => x, undefined); >p.then(() => x, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1179,11 +1179,11 @@ const p61 = p.then(() => x, null); >p.then(() => x, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1194,11 +1194,11 @@ const p62 = p.then(() => x, () => 1); >p.then(() => x, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1213,11 +1213,11 @@ const p63 = p.then(() => x, () => x); >p.then(() => x, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1231,11 +1231,11 @@ const p64 = p.then(() => x, () => undefined); >p.then(() => x, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1250,11 +1250,11 @@ const p65 = p.then(() => x, () => null); >p.then(() => x, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1267,11 +1267,11 @@ const p66 = p.then(() => x, () => {}); >p.then(() => x, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1284,11 +1284,11 @@ const p67 = p.then(() => x, () => {throw 1}); >p.then(() => x, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1303,11 +1303,11 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >p.then(() => x, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1316,11 +1316,11 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1330,11 +1330,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >p.then(() => x, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1343,11 +1343,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1357,11 +1357,11 @@ const p70 = p.then(() => undefined, undefined); >p.then(() => undefined, undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1375,11 +1375,11 @@ const p71 = p.then(() => undefined, null); >p.then(() => undefined, null) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1391,11 +1391,11 @@ const p72 = p.then(() => undefined, () => 1); >p.then(() => undefined, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1411,11 +1411,11 @@ const p73 = p.then(() => undefined, () => x); >p.then(() => undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1430,11 +1430,11 @@ const p74 = p.then(() => undefined, () => undefined); >p.then(() => undefined, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1450,11 +1450,11 @@ const p75 = p.then(() => undefined, () => null); >p.then(() => undefined, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1468,11 +1468,11 @@ const p76 = p.then(() => undefined, () => {}); >p.then(() => undefined, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1486,11 +1486,11 @@ const p77 = p.then(() => undefined, () => {throw 1}); >p.then(() => undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1506,11 +1506,11 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p.then(() => undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1520,11 +1520,11 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1534,11 +1534,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >p.then(() => undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1548,11 +1548,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1562,11 +1562,11 @@ const p80 = p.then(() => null, undefined); >p.then(() => null, undefined) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >undefined : undefined @@ -1578,11 +1578,11 @@ const p81 = p.then(() => null, null); >p.then(() => null, null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -1592,11 +1592,11 @@ const p82 = p.then(() => null, () => 1); >p.then(() => null, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => 1 : () => number @@ -1610,11 +1610,11 @@ const p83 = p.then(() => null, () => x); >p.then(() => null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => x : () => any @@ -1627,11 +1627,11 @@ const p84 = p.then(() => null, () => undefined); >p.then(() => null, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => undefined : () => undefined @@ -1645,11 +1645,11 @@ const p85 = p.then(() => null, () => null); >p.then(() => null, () => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => null : () => null @@ -1661,11 +1661,11 @@ const p86 = p.then(() => null, () => {}); >p.then(() => null, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => {} : () => void @@ -1677,11 +1677,11 @@ const p87 = p.then(() => null, () => {throw 1}); >p.then(() => null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => {throw 1} : () => never @@ -1695,11 +1695,11 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >p.then(() => null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => Promise.resolve(1) : () => Promise @@ -1707,11 +1707,11 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1721,11 +1721,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >p.then(() => null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1733,11 +1733,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1747,11 +1747,11 @@ const p90 = p.then(() => {}, undefined); >p.then(() => {}, undefined) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >undefined : undefined @@ -1763,11 +1763,11 @@ const p91 = p.then(() => {}, null); >p.then(() => {}, null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -1777,11 +1777,11 @@ const p92 = p.then(() => {}, () => 1); >p.then(() => {}, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => 1 : () => number @@ -1795,11 +1795,11 @@ const p93 = p.then(() => {}, () => x); >p.then(() => {}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => x : () => any @@ -1812,11 +1812,11 @@ const p94 = p.then(() => {}, () => undefined); >p.then(() => {}, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => undefined : () => undefined @@ -1830,11 +1830,11 @@ const p95 = p.then(() => {}, () => null); >p.then(() => {}, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => null : () => null @@ -1846,11 +1846,11 @@ const p96 = p.then(() => {}, () => {}); >p.then(() => {}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {} : () => void @@ -1862,11 +1862,11 @@ const p97 = p.then(() => {}, () => {throw 1}); >p.then(() => {}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {throw 1} : () => never @@ -1880,11 +1880,11 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >p.then(() => {}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.resolve(1) : () => Promise @@ -1892,11 +1892,11 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1906,11 +1906,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >p.then(() => {}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1918,11 +1918,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1932,11 +1932,11 @@ const pa0 = p.then(() => {throw 1}, undefined); >p.then(() => {throw 1}, undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1950,11 +1950,11 @@ const pa1 = p.then(() => {throw 1}, null); >p.then(() => {throw 1}, null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1966,11 +1966,11 @@ const pa2 = p.then(() => {throw 1}, () => 1); >p.then(() => {throw 1}, () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1986,11 +1986,11 @@ const pa3 = p.then(() => {throw 1}, () => x); >p.then(() => {throw 1}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2005,11 +2005,11 @@ const pa4 = p.then(() => {throw 1}, () => undefined); >p.then(() => {throw 1}, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2025,11 +2025,11 @@ const pa5 = p.then(() => {throw 1}, () => null); >p.then(() => {throw 1}, () => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2043,11 +2043,11 @@ const pa6 = p.then(() => {throw 1}, () => {}); >p.then(() => {throw 1}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2061,11 +2061,11 @@ const pa7 = p.then(() => {throw 1}, () => {throw 1}); >p.then(() => {throw 1}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2081,11 +2081,11 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2095,11 +2095,11 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2109,11 +2109,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >p.then(() => {throw 1}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2123,11 +2123,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2137,21 +2137,21 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >p.then(() => Promise.resolve("1"), undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2163,21 +2163,21 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >p.then(() => Promise.resolve("1"), null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ @@ -2187,21 +2187,21 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >p.then(() => Promise.resolve("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2215,21 +2215,21 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >p.then(() => Promise.resolve("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2242,21 +2242,21 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >p.then(() => Promise.resolve("1"), () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => undefined : () => undefined @@ -2270,21 +2270,21 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >p.then(() => Promise.resolve("1"), () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => null : () => null @@ -2296,21 +2296,21 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >p.then(() => Promise.resolve("1"), () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2322,21 +2322,21 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2350,21 +2350,21 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise @@ -2372,11 +2372,11 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2386,21 +2386,21 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2408,11 +2408,11 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2422,21 +2422,21 @@ const pc0 = p.then(() => Promise.reject("1"), undefined); >p.then(() => Promise.reject("1"), undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2448,21 +2448,21 @@ const pc1 = p.then(() => Promise.reject("1"), null); >p.then(() => Promise.reject("1"), null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ @@ -2472,21 +2472,21 @@ const pc2 = p.then(() => Promise.reject("1"), () => 1); >p.then(() => Promise.reject("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2500,21 +2500,21 @@ const pc3 = p.then(() => Promise.reject("1"), () => x); >p.then(() => Promise.reject("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2527,21 +2527,21 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); >p.then(() => Promise.reject("1"), () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => undefined : () => undefined @@ -2555,21 +2555,21 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); >p.then(() => Promise.reject("1"), () => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => null : () => null @@ -2581,21 +2581,21 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); >p.then(() => Promise.reject("1"), () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2607,21 +2607,21 @@ const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >p.then(() => Promise.reject("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2635,21 +2635,21 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise @@ -2657,11 +2657,11 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2671,21 +2671,21 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2693,11 +2693,11 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index f809d961945c6..8e7b4e4b28fb3 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.types +++ b/tests/baselines/reference/promiseVoidErrorCallback.types @@ -27,11 +27,11 @@ function f1(): Promise { >Promise.resolve({ __t1: "foo_t1" }) : Promise<{ __t1: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ __t1: "foo_t1" } : { __t1: string; } > : ^^^^^^^^^^^^^^^^^ >__t1 : string @@ -69,21 +69,21 @@ var x3 = f1() >f1() .then(f2, (e: Error) => { throw e;}) .then((x: T2) => { return { __t3: x.__t2 + "bar" };}) : Promise<{ __t3: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1() .then(f2, (e: Error) => { throw e;}) .then : (onfulfilled?: (value: T2) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f1() .then(f2, (e: Error) => { throw e;}) : Promise > : ^^^^^^^^^^^ >f1() .then : (onfulfilled?: (value: T1) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f1() : Promise > : ^^^^^^^^^^^ >f1 : () => Promise -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ .then(f2, (e: Error) => { >then : (onfulfilled?: (value: T1) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f2 : (x: T1) => T2 -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >(e: Error) => { throw e;} : (e: Error) => never > : ^ ^^ ^^^^^^^^^^ >e : Error @@ -96,7 +96,7 @@ var x3 = f1() }) .then((x: T2) => { >then : (onfulfilled?: (value: T2) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(x: T2) => { return { __t3: x.__t2 + "bar" };} : (x: T2) => { __t3: string; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : T2 diff --git a/tests/baselines/reference/promiseWithResolvers.types b/tests/baselines/reference/promiseWithResolvers.types index c573adf3cde7c..6ccb2b9736c2f 100644 --- a/tests/baselines/reference/promiseWithResolvers.types +++ b/tests/baselines/reference/promiseWithResolvers.types @@ -9,15 +9,15 @@ const { promise, resolve, reject } = Promise.withResolvers(); >promise : Promise > : ^^^^^^^^^^ >resolve : (value: T | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Promise.withResolvers() : PromiseWithResolvers > : ^^^^^^^^^^^^^^^^^^^^^^^ >Promise.withResolvers : () => PromiseWithResolvers -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >withResolvers : () => PromiseWithResolvers -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/promises.types b/tests/baselines/reference/promises.types index 914bbabac64e5..a6dc5831f889f 100644 --- a/tests/baselines/reference/promises.types +++ b/tests/baselines/reference/promises.types @@ -4,7 +4,7 @@ interface Promise { then(success?: (value: T) => U): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -12,7 +12,7 @@ interface Promise { then(success?: (value: T) => Promise): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U_1): Promise; (success?: (value: T) => Promise): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T diff --git a/tests/baselines/reference/promisesWithConstraints.types b/tests/baselines/reference/promisesWithConstraints.types index fd365f86005ee..2ea111f3c24e2 100644 --- a/tests/baselines/reference/promisesWithConstraints.types +++ b/tests/baselines/reference/promisesWithConstraints.types @@ -4,7 +4,7 @@ interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (cb: (x: T) => Promise): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/propTypeValidatorInference.types b/tests/baselines/reference/propTypeValidatorInference.types index 3447531c0cd40..16d1e994330d4 100644 --- a/tests/baselines/reference/propTypeValidatorInference.types +++ b/tests/baselines/reference/propTypeValidatorInference.types @@ -224,11 +224,11 @@ const arrayOfTypes = [PropTypes.string, PropTypes.bool, PropTypes.shape({ >PropTypes.shape({ foo: PropTypes.string, bar: PropTypes.number.isRequired}) : PropTypes.Requireable; bar: PropTypes.Validator; }>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PropTypes.shape :

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

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

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

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

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

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

    (App: React.ComponentClass

    | React.StatelessComponent

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

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

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

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

    (Inner: React.ComponentClass

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

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

    > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types index 38e95ec3bb270..09c38866b4d64 100644 --- a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types +++ b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types @@ -354,7 +354,7 @@ const Test1 = connect( >connect( null, mapDispatchToProps) : InferableComponentEnhancerWithProps<{ simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => Promise; }, {}> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect : (mapStateToProps: null | undefined, mapDispatchToProps: TDispatchProps) => InferableComponentEnhancerWithProps, TOwnProps> -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ null, mapDispatchToProps diff --git a/tests/baselines/reference/reactSFCAndFunctionResolvable.types b/tests/baselines/reference/reactSFCAndFunctionResolvable.types index b0860c347eec2..d2cbbe7cdedab 100644 --- a/tests/baselines/reference/reactSFCAndFunctionResolvable.types +++ b/tests/baselines/reference/reactSFCAndFunctionResolvable.types @@ -55,17 +55,17 @@ const RandomComponent: React.SFC = () => { const Component = >Component : ((props: {}) => React.ReactElement<{}>) | React.SFC<{}> -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ condition1 >condition1 ? Radio : Checkbox : ((props: {}) => React.ReactElement<{}>) | React.SFC<{}> -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ >condition1 : boolean > : ^^^^^^^ ? Radio >Radio : (props: {}) => React.ReactElement<{}> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ : Checkbox; >Checkbox : React.SFC<{}> @@ -73,17 +73,17 @@ const RandomComponent: React.SFC = () => { const OtherComponent = >OtherComponent : (() => React.ReactElement<{}>) | React.SFC<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ condition2 >condition2 ? OtherRadio : Checkbox : (() => React.ReactElement<{}>) | React.SFC<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ >condition2 : boolean > : ^^^^^^^ ? OtherRadio >OtherRadio : () => React.ReactElement<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ : Checkbox; >Checkbox : React.SFC<{}> @@ -97,11 +97,11 @@ const RandomComponent: React.SFC = () => { > : JSX.Element > : ^^^^^^^^^^^ >Component : ((props: {}) => React.ReactElement<{}>) | React.SFC<{}> -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ >OtherComponent : (() => React.ReactElement<{}>) | React.SFC<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ }; diff --git a/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types b/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types index a9b081bc941c4..314979508e248 100644 --- a/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types +++ b/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types @@ -55,18 +55,18 @@ export default function styled(tag: string): (o: object) => StyledOtherComponent === index.ts === import styled from "react-emotion" ->styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/create-emotion-styled/index").StyledOtherComponentList["div"], any> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ const Form = styled('div')({ color: "red" }) >Form : import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled('div')({ color: "red" }) : import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled('div') : (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled('div') : (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/create-emotion-styled/index").StyledOtherComponentList["div"], any> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/create-emotion-styled/index").StyledOtherComponentList["div"], any> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >'div' : "div" > : ^^^^^ >{ color: "red" } : { color: string; } diff --git a/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types b/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types index a7b1a7f7bd55c..d8aa9f84e5c93 100644 --- a/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types +++ b/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types @@ -18,7 +18,7 @@ class C extends (class {} as new () => Readonly<{ attrib: number }>) { >super() : void > : ^^^^ >super : new () => Readonly<{ attrib: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ this.attrib = 2 >this.attrib = 2 : 2 diff --git a/tests/baselines/reference/readonlyInDeclarationFile.types b/tests/baselines/reference/readonlyInDeclarationFile.types index b12808dff8ed0..ac3d899754fd4 100644 --- a/tests/baselines/reference/readonlyInDeclarationFile.types +++ b/tests/baselines/reference/readonlyInDeclarationFile.types @@ -211,5 +211,5 @@ function g() { } return x; >x : { readonly [x: string]: Object; readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/readonlyMembers.types b/tests/baselines/reference/readonlyMembers.types index 228fb549b1f00..0566106bdf4a9 100644 --- a/tests/baselines/reference/readonlyMembers.types +++ b/tests/baselines/reference/readonlyMembers.types @@ -259,7 +259,7 @@ p.a = 1; // Error >p.a : any > : ^^^ >p : { readonly a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >a : any > : ^^^ >1 : 1 @@ -271,7 +271,7 @@ p.b = 1; >p.b : number > : ^^^^^^ >p : { readonly a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 @@ -285,7 +285,7 @@ var q: { a: number, b: number } = p; >b : number > : ^^^^^^ >p : { readonly a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ q.a = 1; >q.a = 1 : 1 @@ -293,7 +293,7 @@ q.a = 1; >q.a : number > : ^^^^^^ >q : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ >1 : 1 @@ -305,7 +305,7 @@ q.b = 1; >q.b : number > : ^^^^^^ >q : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types b/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types index dde9cad88345b..351ec983ffccd 100644 --- a/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types +++ b/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types @@ -29,7 +29,7 @@ const one: { readonly a: string } = { a: 'one' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -37,17 +37,17 @@ function doSomething(condition: boolean) { // only treated as readonly (i.e. it will produce a diagnostic if you try to assign to it) based on the order of declarations of `one` and `two` above const three = (condition) ? one : two; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? one : two : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -55,7 +55,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -69,7 +69,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -77,7 +77,7 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } === two.ts === export {}; @@ -108,7 +108,7 @@ const one: { readonly a: string } = { a: 'one' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -116,17 +116,17 @@ function doSomething(condition: boolean) { // based on the declaration order of `one` and `two` const three = (condition) ? two : one; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? two : one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -134,7 +134,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -148,7 +148,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -156,7 +156,7 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } === three.ts === @@ -188,7 +188,7 @@ const two: { a: string } = { a: 'two' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -196,17 +196,17 @@ function doSomething(condition: boolean) { // only treated as readonly (i.e. it will produce a diagnostic if you try to assign to it) based on the order of declarations of `one` and `two` above const three = (condition) ? one : two; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? one : two : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -214,7 +214,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -228,7 +228,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -236,7 +236,7 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } === four.ts === @@ -268,7 +268,7 @@ const two: { a: string } = { a: 'two' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -276,17 +276,17 @@ function doSomething(condition: boolean) { // based on the declaration order of `one` and `two` const three = (condition) ? two : one; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? two : one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -294,7 +294,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -308,7 +308,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -316,5 +316,5 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/readonlyTupleAndArrayElaboration.types b/tests/baselines/reference/readonlyTupleAndArrayElaboration.types index 3fdbcf7c7f14f..19aa0053f168f 100644 --- a/tests/baselines/reference/readonlyTupleAndArrayElaboration.types +++ b/tests/baselines/reference/readonlyTupleAndArrayElaboration.types @@ -28,11 +28,11 @@ function distanceFromOrigin([x, y]: [number, number]) { >Math.sqrt(x ** 2 + y ** 2) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x ** 2 + y ** 2 : number > : ^^^^^^ >x ** 2 : number @@ -67,7 +67,7 @@ arryFn(point); >arryFn(point) : void > : ^^^^ >arryFn : (x: number[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >point : readonly [3, 4] > : ^^^^^^^^^^^^^^^ @@ -81,7 +81,7 @@ arryFn2(point); >arryFn2(point) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >point : readonly [3, 4] > : ^^^^^^^^^^^^^^^ @@ -101,7 +101,7 @@ arryFn2(a); >arryFn2(a) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : readonly number[] > : ^^^^^^^^^^^^^^^^^ @@ -109,7 +109,7 @@ arryFn2(b); >arryFn2(b) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : readonly number[] > : ^^^^^^^^^^^^^^^^^ @@ -117,7 +117,7 @@ arryFn2(c); >arryFn2(c) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : readonly number[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveArrayNotCircular.types b/tests/baselines/reference/recursiveArrayNotCircular.types index 7802715a7e0ce..9596f54bcfa24 100644 --- a/tests/baselines/reference/recursiveArrayNotCircular.types +++ b/tests/baselines/reference/recursiveArrayNotCircular.types @@ -150,7 +150,7 @@ function reducer(action: ReducerAction): void { >action.payload.map(reducer) : void[] > : ^^^^^^ >action.payload.map : (callbackfn: (value: ReducerAction, index: number, array: ReducerAction[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >action.payload : ReducerAction[] > : ^^^^^^^^^^^^^^^ >action : { type: ActionType.Batch; payload: ReducerAction[]; } @@ -158,16 +158,16 @@ function reducer(action: ReducerAction): void { >payload : ReducerAction[] > : ^^^^^^^^^^^^^^^ >map : (callbackfn: (value: ReducerAction, index: number, array: ReducerAction[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >reducer : (action: ReducerAction) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ break; default: return assertNever(action); >assertNever(action) : never > : ^^^^^ >assertNever : (a: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >action : never > : ^^^^^ } diff --git a/tests/baselines/reference/recursiveClassBaseType.types b/tests/baselines/reference/recursiveClassBaseType.types index 27e0cce0eab1f..ed89ef813ceb4 100644 --- a/tests/baselines/reference/recursiveClassBaseType.types +++ b/tests/baselines/reference/recursiveClassBaseType.types @@ -20,8 +20,8 @@ class C extends Base({ x: p(() => []) }) { } > : ^ >Base({ x: p(() => []) }) : { x: C[]; } > : ^^^^^^^^^^^ ->Base : (val: T) => new () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +>Base : (val: T) => { new (): T; } +> : ^ ^^ ^^ ^^^^^ >{ x: p(() => []) } : { x: C[]; } > : ^^^^^^^^^^^ >x : C[] @@ -29,7 +29,7 @@ class C extends Base({ x: p(() => []) }) { } >p(() => []) : C[] > : ^^^ >p : (fn: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => [] : () => never[] > : ^^^^^^^^^^^^^ >[] : never[] diff --git a/tests/baselines/reference/recursiveClassReferenceTest.types b/tests/baselines/reference/recursiveClassReferenceTest.types index 5e718535369b7..092de33da333b 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.types +++ b/tests/baselines/reference/recursiveClassReferenceTest.types @@ -142,7 +142,7 @@ module Sample.Thing.Widgets { >runner(this) : any > : ^^^ >runner : (widget: Sample.Thing.IWidget) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/recursiveConditionalCrash3.types b/tests/baselines/reference/recursiveConditionalCrash3.types index 3d26d2293203a..d0c13fb59417f 100644 --- a/tests/baselines/reference/recursiveConditionalCrash3.types +++ b/tests/baselines/reference/recursiveConditionalCrash3.types @@ -186,11 +186,11 @@ export type Expand = never, N extends */ let y1: Expand >y1 : { id: string; name: string; user: string; role: string; roles: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let y2: Expand >y2 : { id: string; name: string; user: { id: string; role: { id: string; user: { id: string; role: string; note: string; }; x: string; }; note: string; }; role: string; roles: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /** @@ -234,5 +234,5 @@ type UseQueryOptions4 = ExpandResult */ let t: UseQueryOptions >t : { id: string; name: string; user: string; role: { id: string; user: { id: string; role: { id: string; user: string; x: string; }; note: string; }; x: string; }; roles: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveConditionalTypes.types b/tests/baselines/reference/recursiveConditionalTypes.types index 8a47cbaee3cb8..a82cbcb06a8ed 100644 --- a/tests/baselines/reference/recursiveConditionalTypes.types +++ b/tests/baselines/reference/recursiveConditionalTypes.types @@ -189,7 +189,7 @@ f23(['a', 'b', 'c']); // string >f23(['a', 'b', 'c']) : string > : ^^^^^^ >f23 : (t: TupleOf) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >['a', 'b', 'c'] : [string, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -263,15 +263,15 @@ declare let b4: { value: { value: { value: typeof b4 }}}; >value : { value: typeof b4; } > : ^^^^^^^^^ ^^^ >value : { value: { value: { value: typeof b4; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ->b4 : { value: { value: { value: any; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ +>b4 : { value: { value: { value: typeof b4; }; }; } +> : ^^^^^^^^^ ^^^ unbox(b1); // string >unbox(b1) : string > : ^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b1 : Box>>>>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -279,7 +279,7 @@ unbox(b2); // string >unbox(b2) : string > : ^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : T6 > : ^^ @@ -287,7 +287,7 @@ unbox(b3); // InfBox >unbox(b3) : InfBox > : ^^^^^^^^^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : InfBox > : ^^^^^^^^^^^^^^ @@ -295,7 +295,7 @@ unbox({ value: { value: { value: { value: { value: { value: 5 }}}}}}); // numbe >unbox({ value: { value: { value: { value: { value: { value: 5 }}}}}}) : number > : ^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ value: { value: { value: { value: { value: { value: 5 }}}}}} : { value: { value: { value: { value: { value: { value: number; }; }; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { value: { value: { value: { value: { value: number; }; }; }; }; } @@ -324,18 +324,18 @@ unbox({ value: { value: { value: { value: { value: { value: 5 }}}}}}); // numbe > : ^ unbox(b4); // { value: { value: typeof b4 }} ->unbox(b4) : { value: { value: { value: any; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>unbox(b4) : { value: { value: typeof b4; }; } +> : ^^^^^^^^^ ^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ ->b4 : { value: { value: { value: any; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b4 : { value: { value: { value: typeof b4; }; }; } +> : ^^^^^^^^^ ^^^ unbox({ value: { value: { get value() { return this; } }}}); // { readonly value: ... } >unbox({ value: { value: { get value() { return this; } }}}) : { readonly value: { readonly value: any; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ value: { value: { get value() { return this; } }}} : { value: { value: { readonly value: { readonly value: any; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { value: { readonly value: { readonly value: any; }; }; } @@ -379,7 +379,7 @@ foo(z); // string >foo(z) : string > : ^^^^^^ >foo : (x: Box1>) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >z : Box2> > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveConditionalTypes2.types b/tests/baselines/reference/recursiveConditionalTypes2.types index 81ab93d1c1900..1e808b8db5145 100644 --- a/tests/baselines/reference/recursiveConditionalTypes2.types +++ b/tests/baselines/reference/recursiveConditionalTypes2.types @@ -122,11 +122,11 @@ z.find((_) => true); >z.find((_) => true) : void > : ^^^^ >z.find : >(predicate: (value: DefaultsDeep<{}, {}>) => boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >z : _Array> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >find : >(predicate: (value: DefaultsDeep<{}, {}>) => boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(_) => true : (_: DefaultsDeep<{}, {}>) => true > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_ : DefaultsDeep<{}, {}> diff --git a/tests/baselines/reference/recursiveFunctionTypes.types b/tests/baselines/reference/recursiveFunctionTypes.types index 8411d44569a78..2ead748c9b405 100644 --- a/tests/baselines/reference/recursiveFunctionTypes.types +++ b/tests/baselines/reference/recursiveFunctionTypes.types @@ -13,25 +13,25 @@ var x: number = fn; // error >x : number > : ^^^^^^ >fn : () => typeof fn -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ var y: () => number = fn; // ok >y : () => number > : ^^^^^^ >fn : () => typeof fn -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ var f: () => typeof g; >f : () => typeof g > : ^^^^^^ ->g : () => () => typeof g -> : ^^^^^^^^^^^^ +>g : () => typeof f +> : ^^^^^^ var g: () => typeof f; >g : () => typeof f > : ^^^^^^ ->f : () => () => typeof f -> : ^^^^^^^^^^^^ +>f : () => typeof g +> : ^^^^^^ function f1(d: typeof f1) { } >f1 : (d: typeof f1) => void @@ -44,29 +44,29 @@ function f1(d: typeof f1) { } function f2(): typeof g2 { } >f2 : () => typeof g2 > : ^^^^^^ ->g2 : () => () => typeof g2 -> : ^^^^^^^^^^^^ +>g2 : () => typeof f2 +> : ^^^^^^ function g2(): typeof f2 { } >g2 : () => typeof f2 > : ^^^^^^ ->f2 : () => () => typeof f2 -> : ^^^^^^^^^^^^ +>f2 : () => typeof g2 +> : ^^^^^^ interface I { } function f3(): I { return f3; } >f3 : () => I > : ^^^^^^ >f3 : () => I -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >f3 : () => I -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var a: number = f3; // error >a : number > : ^^^^^^ >f3 : () => I -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ class C { >C : C @@ -105,8 +105,8 @@ var f4: () => typeof f4; f4 = 3; // error >f4 = 3 : 3 > : ^ ->f4 : () => any -> : ^^^^^^^^^ +>f4 : () => typeof f4 +> : ^^^^^^ >3 : 3 > : ^ @@ -118,31 +118,31 @@ function f5() { return f5; } function f6(): typeof f6; >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function f6(a: typeof f6): () => number; >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >a : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function f6(a?: any) { return f6; } >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ f6("", 3); // error (arity mismatch) >f6("", 3) : { (): typeof f6; (a: typeof f6): () => number; } & (() => number) -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >3 : 3 @@ -150,53 +150,53 @@ f6("", 3); // error (arity mismatch) f6(""); // ok (function takes an any param) >f6("") : { (): typeof f6; (a: typeof f6): () => number; } & (() => number) -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >"" : "" > : ^^ f6(); // ok >f6() : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ declare function f7(): typeof f7; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ declare function f7(a: typeof f7): () => number; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >a : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ declare function f7(a: number): number; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >a : number > : ^^^^^^ declare function f7(a?: typeof f7): typeof f7; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >a : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ f7("", 3); // error (arity mismatch) >f7("", 3) : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } & (() => number) & number -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >"" : "" > : ^^ >3 : 3 @@ -204,15 +204,15 @@ f7("", 3); // error (arity mismatch) f7(""); // ok (function takes an any param) >f7("") : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } & (() => number) & number -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >"" : "" > : ^^ f7(); // ok >f7() : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ diff --git a/tests/baselines/reference/recursiveGenericMethodCall.types b/tests/baselines/reference/recursiveGenericMethodCall.types index 6621f3dd88a72..93d6a45828b9a 100644 --- a/tests/baselines/reference/recursiveGenericMethodCall.types +++ b/tests/baselines/reference/recursiveGenericMethodCall.types @@ -13,7 +13,7 @@ function Generate(func: Generator): T { >Generate(func) : T > : ^ >Generate : (func: Generator) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : Generator > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/recursiveMods.types b/tests/baselines/reference/recursiveMods.types index 6f20a12a3217b..06cc172732100 100644 --- a/tests/baselines/reference/recursiveMods.types +++ b/tests/baselines/reference/recursiveMods.types @@ -24,7 +24,7 @@ export module Foo { >Bar() : C > : ^ >Bar : () => C -> : ^^^^^^^ +> : ^^^^^^ return new C(); >new C() : C @@ -43,13 +43,13 @@ export module Foo { >Baz() : C > : ^ >Baz : () => C -> : ^^^^^^^ +> : ^^^^^^ return Bar(); >Bar() : C > : ^ >Bar : () => C -> : ^^^^^^^ +> : ^^^^^^ } function Gar() { @@ -62,7 +62,7 @@ export module Foo { >Baz() : C > : ^ >Baz : () => C -> : ^^^^^^^ +> : ^^^^^^ return; } diff --git a/tests/baselines/reference/recursiveReverseMappedType.types b/tests/baselines/reference/recursiveReverseMappedType.types index 5179edf13d6b1..91ceffd4dd0e1 100644 --- a/tests/baselines/reference/recursiveReverseMappedType.types +++ b/tests/baselines/reference/recursiveReverseMappedType.types @@ -39,7 +39,7 @@ function a(l: Recur[]): void { >join(l) : Recur > : ^^^^^^^^ >join : (l: Recur[]) => Recur -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >l : Recur[] > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/recursiveTupleTypeInference.types b/tests/baselines/reference/recursiveTupleTypeInference.types index d544d09a1c148..1a8f4cc115153 100644 --- a/tests/baselines/reference/recursiveTupleTypeInference.types +++ b/tests/baselines/reference/recursiveTupleTypeInference.types @@ -57,7 +57,7 @@ foo(gK); >foo(gK) : { b: unknown; } > : ^^^^^^^^^^^^^^^ >foo : (g: G) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >gK : { b: A; } > : ^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types b/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types index ac47b1ae1b104..9a56781e125f7 100644 --- a/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types +++ b/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types @@ -58,11 +58,11 @@ const zipped1 = opt1.zip1(opt2, opt3); >opt1.zip1(opt2, opt3) : Option<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opt1.zip1 : >>(...others: O) => Option<[number, ...UnzipOptionArray1]> -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt1 : Option > : ^^^^^^^^^^^^^^ >zip1 : >>(...others: O) => Option<[number, ...UnzipOptionArray1]> -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt2 : Option > : ^^^^^^^^^^^^^^ >opt3 : Option @@ -74,11 +74,11 @@ const zipped2 = opt1.zip2(opt2, opt3); >opt1.zip2(opt2, opt3) : Option<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opt1.zip2 : >>(...others: O) => Option<[number, ...UnzipOptionArray2]> -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt1 : Option > : ^^^^^^^^^^^^^^ >zip2 : >>(...others: O) => Option<[number, ...UnzipOptionArray2]> -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt2 : Option > : ^^^^^^^^^^^^^^ >opt3 : Option @@ -90,11 +90,11 @@ const zipped3 = opt1.zip3(opt2, opt3); >opt1.zip3(opt2, opt3) : Option<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opt1.zip3 : >>(...others: O) => Option<[number, ...UnzipOptionArray3]> -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt1 : Option > : ^^^^^^^^^^^^^^ >zip3 : >>(...others: O) => Option<[number, ...UnzipOptionArray3]> -> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt2 : Option > : ^^^^^^^^^^^^^^ >opt3 : Option diff --git a/tests/baselines/reference/recursiveTypeComparison2.types b/tests/baselines/reference/recursiveTypeComparison2.types index b18b4c470970d..9f8d4d2de2a60 100644 --- a/tests/baselines/reference/recursiveTypeComparison2.types +++ b/tests/baselines/reference/recursiveTypeComparison2.types @@ -119,9 +119,9 @@ var stuck: Bacon.Bus = new Bacon.Bus(); >new Bacon.Bus() : Bacon.Bus > : ^^^^^^^^^^^^^^^^^ >Bacon.Bus : new () => Bacon.Bus -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^ >Bacon : typeof Bacon > : ^^^^^^^^^^^^ >Bus : new () => Bacon.Bus -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveTypeReferences1.types b/tests/baselines/reference/recursiveTypeReferences1.types index f8dec34885245..fec88efec2d07 100644 --- a/tests/baselines/reference/recursiveTypeReferences1.types +++ b/tests/baselines/reference/recursiveTypeReferences1.types @@ -315,8 +315,8 @@ declare function flat2(a: Array>>): Array; flat([1, [2, [3]]]); // number[] >flat([1, [2, [3]]]) : number[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, [3]]] : (number | (number | number[])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -333,8 +333,8 @@ flat([1, [2, [3]]]); // number[] flat([[[0]]]); // number[] >flat([[[0]]]) : number[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[[[0]]] : number[][][] > : ^^^^^^^^^^^^ >[[0]] : number[][] @@ -347,8 +347,8 @@ flat([[[0]]]); // number[] flat([[[[[[[[[[[4]]]]]]]]]]]); // number[] >flat([[[[[[[[[[[4]]]]]]]]]]]) : number[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[[[[[[[[[[[4]]]]]]]]]]] : number[][][][][][][][][][][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[[[[[[[[[[4]]]]]]]]]] : number[][][][][][][][][][] @@ -377,8 +377,8 @@ flat([[[[[[[[[[[4]]]]]]]]]]]); // number[] flat([1, 'a', [2]]); // (string | number)[] >flat([1, 'a', [2]]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, 'a', [2]] : (string | number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -393,8 +393,8 @@ flat([1, 'a', [2]]); // (string | number)[] flat([1, [2, 'a']]); // (string | number)[] >flat([1, [2, 'a']]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, 'a']] : (number | (string | number)[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -409,8 +409,8 @@ flat([1, [2, 'a']]); // (string | number)[] flat([1, ['a']]); // Error >flat([1, ['a']]) : string[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, ['a']] : (number | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -423,8 +423,8 @@ flat([1, ['a']]); // Error flat1([1, [2, [3]]]); // (number | number[])[] >flat1([1, [2, [3]]]) : (number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, [3]]] : (number | (number | number[])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -441,8 +441,8 @@ flat1([1, [2, [3]]]); // (number | number[])[] flat1([[[0]]]); // number[][] >flat1([[[0]]]) : number[][] > : ^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[[[0]]] : number[][][] > : ^^^^^^^^^^^^ >[[0]] : number[][] @@ -455,8 +455,8 @@ flat1([[[0]]]); // number[][] flat1([1, 'a', [2]]); // (string | number)[] >flat1([1, 'a', [2]]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, 'a', [2]] : (string | number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -471,8 +471,8 @@ flat1([1, 'a', [2]]); // (string | number)[] flat1([1, [2, 'a']]); // (string | number)[] >flat1([1, [2, 'a']]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, 'a']] : (number | (string | number)[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -487,8 +487,8 @@ flat1([1, [2, 'a']]); // (string | number)[] flat1([1, ['a']]); // Error >flat1([1, ['a']]) : string[] > : ^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, ['a']] : (number | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -501,8 +501,8 @@ flat1([1, ['a']]); // Error flat2([1, [2, [3]]]); // number[] >flat2([1, [2, [3]]]) : number[] > : ^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, [3]]] : (number | (number | number[])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -519,8 +519,8 @@ flat2([1, [2, [3]]]); // number[] flat2([[[0]]]); // number[] >flat2([[[0]]]) : number[] > : ^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[[[0]]] : number[][][] > : ^^^^^^^^^^^^ >[[0]] : number[][] @@ -533,8 +533,8 @@ flat2([[[0]]]); // number[] flat2([1, 'a', [2]]); // (string | number)[] >flat2([1, 'a', [2]]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, 'a', [2]] : (string | number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -549,8 +549,8 @@ flat2([1, 'a', [2]]); // (string | number)[] flat2([1, [2, 'a']]); // (string | number)[] >flat2([1, [2, 'a']]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, 'a']] : (number | (string | number)[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -565,8 +565,8 @@ flat2([1, [2, 'a']]); // (string | number)[] flat2([1, ['a']]); // Error >flat2([1, ['a']]) : string[] > : ^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, ['a']] : (number | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -626,7 +626,7 @@ let x1 = foo1(ra1); // Boom! >foo1(ra1) : string > : ^^^^^^ >foo1 : (a: ValueOrArray1) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ra1 : ValueOrArray2 > : ^^^^^^^^^^^^^^^^^^^^^ @@ -654,7 +654,7 @@ let x2 = foo2(ra2); // Boom! >foo2(ra2) : string > : ^^^^^^ >foo2 : (a: ValueOrArray1) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ra2 : ValueOrArray2 > : ^^^^^^^^^^^^^^^^^^^^^ @@ -684,11 +684,11 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >node.map(([el, children], i) => { const idx = [...index, i + 1]; return html('li', [ html('a', { href: `#${el.id}`, rel: 'noopener', 'data-index': idx.join('.') }, el.textContent!), children.length > 0 ? parse(children, idx) : frag() ]); }) : any[] > : ^^^^^ >node.map : (callbackfn: (value: [HTMLHeadingElement, Tree], index: number, array: [HTMLHeadingElement, Tree][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >node : Tree > : ^^^^ >map : (callbackfn: (value: [HTMLHeadingElement, Tree], index: number, array: [HTMLHeadingElement, Tree][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >([el, children], i) => { const idx = [...index, i + 1]; return html('li', [ html('a', { href: `#${el.id}`, rel: 'noopener', 'data-index': idx.join('.') }, el.textContent!), children.length > 0 ? parse(children, idx) : frag() ]); } : ([el, children]: [HTMLHeadingElement, Tree], i: number) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >el : HTMLHeadingElement @@ -752,11 +752,11 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >idx.join('.') : string > : ^^^^^^ >idx.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >idx : number[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'.' : "." > : ^^^ >el.textContent! : string @@ -784,7 +784,7 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >parse(children, idx) : HTMLUListElement > : ^^^^^^^^^^^^^^^^ >parse : (node: Tree, index?: number[]) => HTMLUListElement -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >children : Tree > : ^^^^ >idx : number[] @@ -834,11 +834,11 @@ function cons(hs: HTMLHeadingElement[]): Tree { >hss.pop() : HTMLHeadingElement[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >hss.pop : () => HTMLHeadingElement[] | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >hss : HTMLHeadingElement[][] > : ^^^^^^^^^^^^^^^^^^^^^^ >pop : () => HTMLHeadingElement[] | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ return hs.length === 0 || level(h) > level(hs[0]) >hs.length === 0 || level(h) > level(hs[0]) ? concat(hss, [concat(hs, [h])]) : concat(hss, [hs, [h]]) : any @@ -860,13 +860,13 @@ function cons(hs: HTMLHeadingElement[]): Tree { >level(h) : number > : ^^^^^^ >level : (h: HTMLHeadingElement) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >h : HTMLHeadingElement > : ^^^^^^^^^^^^^^^^^^ >level(hs[0]) : number > : ^^^^^^ >level : (h: HTMLHeadingElement) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hs[0] : HTMLHeadingElement > : ^^^^^^^^^^^^^^^^^^ >hs : HTMLHeadingElement[] @@ -960,15 +960,15 @@ function cons(hs: HTMLHeadingElement[]): Tree { >hs.shift() : HTMLHeadingElement | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >hs.shift : () => HTMLHeadingElement | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >hs : HTMLHeadingElement[] > : ^^^^^^^^^^^^^^^^^^^^ >shift : () => HTMLHeadingElement | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >cons(hs) : Tree > : ^^^^ >cons : (hs: HTMLHeadingElement[]) => Tree -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >hs : HTMLHeadingElement[] > : ^^^^^^^^^^^^^^^^^^^^ @@ -991,7 +991,7 @@ function level(h: HTMLHeadingElement): number { >isFinite(+h.tagName[1]) : boolean > : ^^^^^^^ >isFinite : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >+h.tagName[1] : number > : ^^^^^^ >h.tagName[1] : string diff --git a/tests/baselines/reference/recursiveTypeReferences2.types b/tests/baselines/reference/recursiveTypeReferences2.types index f46929b4cb71b..1edbf9be6ff01 100644 --- a/tests/baselines/reference/recursiveTypeReferences2.types +++ b/tests/baselines/reference/recursiveTypeReferences2.types @@ -27,7 +27,7 @@ /** @type {XMLObject<{foo:string}>} */ const p = {}; >p : XMLObject<{ foo: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/recursiveTypeRelations.types b/tests/baselines/reference/recursiveTypeRelations.types index a66a41271ec9c..da64c92c5de1e 100644 --- a/tests/baselines/reference/recursiveTypeRelations.types +++ b/tests/baselines/reference/recursiveTypeRelations.types @@ -53,11 +53,11 @@ export function css(styles: S, ...classNam >classNames.map(arg => { if (arg == null) { return null; } if (typeof arg == "string") { return styles[arg]; } if (typeof arg == "object") { return Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; }, {}); } }) : string[] > : ^^^^^^^^ >classNames.map : (callbackfn: (value: ClassNameArg, index: number, array: ClassNameArg[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >classNames : ClassNameArg[] > : ^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: ClassNameArg, index: number, array: ClassNameArg[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arg => { if (arg == null) { return null; } if (typeof arg == "string") { return styles[arg]; } if (typeof arg == "object") { return Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; }, {}); } } : (arg: ClassNameArg) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arg : ClassNameArg @@ -107,11 +107,11 @@ export function css(styles: S, ...classNam >Object.keys(arg) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : ClassNameObjectMap > : ^^^^^^^^^^^^^^^^^^^^^ >reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } diff --git a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types index 12f559847bec1..fcc84bfafdf25 100644 --- a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types +++ b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types @@ -99,25 +99,25 @@ function other, U>() { // ok function foo5(x: T): string; >foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ function foo5(x: List): number; >foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : List > : ^^^^^^^ function foo5(x: MyList): boolean; >foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : MyList > : ^^^^^^^^^ function foo5(x: any): any { return null; } >foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : any var list: List; @@ -134,7 +134,7 @@ function other, U>() { >foo5(list) : number > : ^^^^^^ >foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >list : List > : ^^^^^^^^^^^^ @@ -144,7 +144,7 @@ function other, U>() { >foo5(myList) : number > : ^^^^^^ >foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >myList : MyList > : ^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/recursiveTypesWithTypeof.types b/tests/baselines/reference/recursiveTypesWithTypeof.types index abd5232130db5..1844734733878 100644 --- a/tests/baselines/reference/recursiveTypesWithTypeof.types +++ b/tests/baselines/reference/recursiveTypesWithTypeof.types @@ -70,18 +70,18 @@ var g: { x: typeof g; }; > : ^^^^^ ^^^ >x : { x: typeof g; } > : ^^^^^ ^^^ ->g : { x: any; } -> : ^^^^^^^^^^^ +>g : { x: typeof g; } +> : ^^^^^ ^^^ var g: typeof g.x; ->g : { x: any; } -> : ^^^^^^^^^^^ ->g.x : { x: any; } -> : ^^^^^^^^^^^ ->g : { x: any; } -> : ^^^^^^^^^^^ ->x : { x: any; } -> : ^^^^^^^^^^^ +>g : { x: typeof g; } +> : ^^^^^ ^^^ +>g.x : { x: typeof g; } +> : ^^^^^ ^^^ +>g : { x: typeof g; } +> : ^^^^^ ^^^ +>x : { x: typeof g; } +> : ^^^^^ ^^^ var h: () => typeof h; >h : () => typeof h @@ -90,50 +90,50 @@ var h: () => typeof h; > : ^^^^^^ var h = h(); ->h : () => any -> : ^^^^^^^^^ ->h() : () => any -> : ^^^^^^^^^ ->h : () => any -> : ^^^^^^^^^ +>h : () => typeof h +> : ^^^^^^ +>h() : () => typeof h +> : ^^^^^^ +>h : () => typeof h +> : ^^^^^^ var i: (x: typeof i) => typeof x; >i : (x: typeof i) => typeof x > : ^ ^^ ^^^^^ ->x : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ +>x : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ >x : (x: typeof i) => typeof x > : ^ ^^ ^^^^^ var i = i(i); ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i(i) : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i(i) : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ var j: (x: T) => T; >j : (x: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var j = j(j); >j : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j(j) : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ // Same as h, i, j with construct signatures var h2: new () => typeof h2; @@ -143,50 +143,50 @@ var h2: new () => typeof h2; > : ^^^^^^^^^^ var h2 = new h2(); ->h2 : new () => any -> : ^^^^^^^^^^^^^ ->new h2() : new () => any -> : ^^^^^^^^^^^^^ ->h2 : new () => any -> : ^^^^^^^^^^^^^ +>h2 : new () => typeof h2 +> : ^^^^^^^^^^ +>new h2() : new () => typeof h2 +> : ^^^^^^^^^^ +>h2 : new () => typeof h2 +> : ^^^^^^^^^^ var i2: new (x: typeof i2) => typeof x; >i2 : new (x: typeof i2) => typeof x > : ^^^^^ ^^ ^^^^^ ->x : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ +>x : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ >x : new (x: typeof i2) => typeof x > : ^^^^^ ^^ ^^^^^ var i2 = new i2(i2); ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->new i2(i2) : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>new i2(i2) : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ var j2: new (x: T) => T; >j2 : new (x: T) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var j2 = new j2(j2); >j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >new j2(j2) : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ // Indexers var k: { [n: number]: typeof k;[s: string]: typeof k }; @@ -228,42 +228,42 @@ var hy1: { x: typeof hy1 }[]; > : ^^^^^ ^^^^^ >x : { x: typeof hy1; }[] > : ^^^^^ ^^^^^ ->hy1 : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>hy1 : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ var hy1 = hy1[0].x; ->hy1 : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ ->hy1[0].x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ ->hy1[0] : { x: any[]; } -> : ^^^^^^^^^^^^^ ->hy1 : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>hy1 : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ +>hy1[0].x : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ +>hy1[0] : { x: typeof hy1; } +> : ^^^^^ ^^^ +>hy1 : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ >0 : 0 > : ^ ->x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>x : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ var hy2: { x: Array }; >hy2 : { x: Array; } > : ^^^^^ ^^^ >x : { x: Array; }[] > : ^^^^^ ^^^^^ ->hy2 : { x: any[]; } -> : ^^^^^^^^^^^^^ +>hy2 : { x: Array; } +> : ^^^^^ ^^^ var hy2 = hy2.x[0]; ->hy2 : { x: any[]; } -> : ^^^^^^^^^^^^^ ->hy2.x[0] : { x: any[]; } -> : ^^^^^^^^^^^^^ ->hy2.x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ ->hy2 : { x: any[]; } -> : ^^^^^^^^^^^^^ ->x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>hy2 : { x: Array; } +> : ^^^^^ ^^^ +>hy2.x[0] : { x: Array; } +> : ^^^^^ ^^^ +>hy2.x : { x: Array; }[] +> : ^^^^^ ^^^^^ +>hy2 : { x: Array; } +> : ^^^^^ ^^^ +>x : { x: Array; }[] +> : ^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/recursiveUnionTypeInference.types b/tests/baselines/reference/recursiveUnionTypeInference.types index d6dd8845b7c4e..1977b1abd1cea 100644 --- a/tests/baselines/reference/recursiveUnionTypeInference.types +++ b/tests/baselines/reference/recursiveUnionTypeInference.types @@ -17,7 +17,7 @@ function bar(x: Foo | string): T { >bar(x) : T > : ^ >bar : (x: Foo | string) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | Foo > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/redeclarationOfVarWithGenericType.types b/tests/baselines/reference/redeclarationOfVarWithGenericType.types index 944e078187ae2..f8cd9851ee6af 100644 --- a/tests/baselines/reference/redeclarationOfVarWithGenericType.types +++ b/tests/baselines/reference/redeclarationOfVarWithGenericType.types @@ -11,7 +11,7 @@ var a1: { fn(x: T): T }; var a1: { fn(x: T): T }; >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >fn : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/reducibleIndexedAccessTypes.types b/tests/baselines/reference/reducibleIndexedAccessTypes.types index bd13dedb1855a..0ac4ffbdc3e81 100644 --- a/tests/baselines/reference/reducibleIndexedAccessTypes.types +++ b/tests/baselines/reference/reducibleIndexedAccessTypes.types @@ -106,11 +106,11 @@ const payloads2: MappedPayload2 = { >console.log(data) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >data : string > : ^^^^^^ } diff --git a/tests/baselines/reference/referenceSatisfiesExpression.types b/tests/baselines/reference/referenceSatisfiesExpression.types index 9c74de8c52996..1d0fb0b0dffd8 100644 --- a/tests/baselines/reference/referenceSatisfiesExpression.types +++ b/tests/baselines/reference/referenceSatisfiesExpression.types @@ -135,11 +135,11 @@ for ((g satisfies number) of [10]) { >console.log(g) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >g : number > : ^^^^^^ } @@ -168,11 +168,11 @@ for ((x satisfies string) in { a: 10 }) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types b/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types index 0605272aced84..38494113a2a37 100644 --- a/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types +++ b/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types @@ -3,7 +3,7 @@ === usage.ts === import { parse } from "url"; >parse : () => import("url").Url -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ export const thing = () => parse(); >thing : () => import("url").Url @@ -13,7 +13,7 @@ export const thing = () => parse(); >parse() : import("url").Url > : ^^^^^^^^^^^^^^^^^ >parse : () => import("url").Url -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ === node_modules/@types/node/index.d.ts === declare module "url" { diff --git a/tests/baselines/reference/regExpWithSlashInCharClass.types b/tests/baselines/reference/regExpWithSlashInCharClass.types index 89bbeca7cb621..64c20b5182766 100644 --- a/tests/baselines/reference/regExpWithSlashInCharClass.types +++ b/tests/baselines/reference/regExpWithSlashInCharClass.types @@ -7,11 +7,11 @@ var foo1 = "a/".replace(/.[/]/, ""); >"a/".replace(/.[/]/, "") : string > : ^^^^^^ >"a/".replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a/" : "a/" > : ^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/.[/]/ : RegExp > : ^^^^^^ >"" : "" @@ -23,11 +23,11 @@ var foo2 = "a//".replace(/.[//]/g, ""); >"a//".replace(/.[//]/g, "") : string > : ^^^^^^ >"a//".replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a//" : "a//" > : ^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/.[//]/g : RegExp > : ^^^^^^ >"" : "" @@ -39,11 +39,11 @@ var foo3 = "a/".replace(/.[/no sleep /till/]/, "bugfix"); >"a/".replace(/.[/no sleep /till/]/, "bugfix") : string > : ^^^^^^ >"a/".replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a/" : "a/" > : ^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/.[/no sleep /till/]/ : RegExp > : ^^^^^^ >"bugfix" : "bugfix" diff --git a/tests/baselines/reference/regexMatchAll-esnext.types b/tests/baselines/reference/regexMatchAll-esnext.types index 13c2b3b1572af..e8048eb9db3a4 100644 --- a/tests/baselines/reference/regexMatchAll-esnext.types +++ b/tests/baselines/reference/regexMatchAll-esnext.types @@ -7,7 +7,7 @@ const matches = /\w/g[Symbol.matchAll]("matchAll"); >/\w/g[Symbol.matchAll]("matchAll") : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol diff --git a/tests/baselines/reference/regexMatchAll.types b/tests/baselines/reference/regexMatchAll.types index 59bd4d730a162..acfc292ace79f 100644 --- a/tests/baselines/reference/regexMatchAll.types +++ b/tests/baselines/reference/regexMatchAll.types @@ -7,7 +7,7 @@ const matches = /\w/g[Symbol.matchAll]("matchAll"); >/\w/g[Symbol.matchAll]("matchAll") : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol diff --git a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types index 436f9bd0bfd6e..cf6673a5ed5ea 100644 --- a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types +++ b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types @@ -165,11 +165,11 @@ export function foo(matchResult: RegExpMatchArray, execResult: RegExpExecArray) >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ matchResult = execResult; >matchResult = execResult : RegExpExecArray diff --git a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types index 81455769f5f50..21c3abcc70570 100644 --- a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types +++ b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types @@ -165,11 +165,11 @@ export function foo(matchResult: RegExpMatchArray, execResult: RegExpExecArray) >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ matchResult = execResult; >matchResult = execResult : RegExpExecArray diff --git a/tests/baselines/reference/relativePathToDeclarationFile.types b/tests/baselines/reference/relativePathToDeclarationFile.types index 03cc3474fb7ad..dbe995b668fb3 100644 --- a/tests/baselines/reference/relativePathToDeclarationFile.types +++ b/tests/baselines/reference/relativePathToDeclarationFile.types @@ -35,7 +35,7 @@ if(foo.M2.x){ >other.M2.x.charCodeAt(0) : number > : ^^^^^^ >other.M2.x.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >other.M2.x : string > : ^^^^^^ >other.M2 : typeof other.M2 @@ -47,7 +47,7 @@ if(foo.M2.x){ >x : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/reorderProperties.types b/tests/baselines/reference/reorderProperties.types index 8093dce8f0244..c27b992221511 100644 --- a/tests/baselines/reference/reorderProperties.types +++ b/tests/baselines/reference/reorderProperties.types @@ -41,5 +41,5 @@ var d: D<{ n: number; s: string }> = c >s : string > : ^^^^^^ >c : C<{ s: string; n: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ diff --git a/tests/baselines/reference/requireAssertsFromTypescript.types b/tests/baselines/reference/requireAssertsFromTypescript.types index 786ba0f5b9235..89564a780c683 100644 --- a/tests/baselines/reference/requireAssertsFromTypescript.types +++ b/tests/baselines/reference/requireAssertsFromTypescript.types @@ -3,7 +3,7 @@ === 38379.js === const { art } = require('./ex') >art : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >require('./ex') : typeof import("ex") > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >require : any @@ -12,9 +12,9 @@ const { art } = require('./ex') const artoo = require('./ex2') >artoo : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >require('./ex2') : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >require : any >'./ex2' : "./ex2" > : ^^^^^^^ @@ -29,7 +29,7 @@ art(x) >art(x) : void > : ^^^^ >art : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : number > : ^^^^^^ @@ -43,7 +43,7 @@ artoo(y) >artoo(y) : void > : ^^^^ >artoo : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >y : number > : ^^^^^^ @@ -66,5 +66,5 @@ declare function art(value: any, message?: string | Error): asserts value; export = art; >art : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/requireOfJsonFileInJsFile.types b/tests/baselines/reference/requireOfJsonFileInJsFile.types index dc801c0c894f9..0df1092de2d12 100644 --- a/tests/baselines/reference/requireOfJsonFileInJsFile.types +++ b/tests/baselines/reference/requireOfJsonFileInJsFile.types @@ -22,7 +22,7 @@ json0.b; // Error (good) /** @type {{ b: number }} */ const json1 = require("./json.json"); // No error (bad) >json1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >require("./json.json") : { a: number; } > : ^^^^^^^^^^^^^^ >require : any @@ -34,7 +34,7 @@ json1.b; // No error (OK since that's the type annotation) >json1.b : number > : ^^^^^^ >json1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : number > : ^^^^^^ @@ -59,7 +59,7 @@ json0.b; // Error (good) /** @type {{ b: number }} */ const js1 = require("./js.js"); // Error (good) >js1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >require("./js.js") : { a: number; } > : ^^^^^^^^^^^^^^ >require : any @@ -71,7 +71,7 @@ js1.b; >js1.b : number > : ^^^^^^ >js1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/requireTwoPropertyAccesses.types b/tests/baselines/reference/requireTwoPropertyAccesses.types index 1d5759107fd31..d0f887d90639e 100644 --- a/tests/baselines/reference/requireTwoPropertyAccesses.types +++ b/tests/baselines/reference/requireTwoPropertyAccesses.types @@ -21,11 +21,11 @@ console.log(value) >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : error === mod.js === diff --git a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types index cc1c134f70861..d5e7d9af23894 100644 --- a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types +++ b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types @@ -39,37 +39,37 @@ const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; export let A = a; >A : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ export let B = b; >B : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ A = b; // Should Error >A = b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >A : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ B = a; // Should Error >B = a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >B : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. >a.b : any > : ^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : any > : ^^^ @@ -77,7 +77,7 @@ b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. >b.a : any > : ^^^ >b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : any > : ^^^ @@ -132,41 +132,41 @@ const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; export let AA = aa; >AA : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ export let BB = bb; >BB : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ AA = bb; // Should Error >AA = bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >AA : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ BB = aa; // Should Error >BB = aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >BB : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. >aa.a.b : any > : ^^^ >aa.a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : any > : ^^^ @@ -174,11 +174,11 @@ bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. >bb.a.a : any > : ^^^ >bb.a : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : any > : ^^^ diff --git a/tests/baselines/reference/resolveNameWithNamspace.types b/tests/baselines/reference/resolveNameWithNamspace.types index 9066fa171adb1..877b8c757bee3 100644 --- a/tests/baselines/reference/resolveNameWithNamspace.types +++ b/tests/baselines/reference/resolveNameWithNamspace.types @@ -31,7 +31,7 @@ var myAssert = require('assert') >myAssert : any >require('assert') : any >require : (moduleName: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'assert' : "assert" > : ^^^^^^^^ diff --git a/tests/baselines/reference/restArgAssignmentCompat.types b/tests/baselines/reference/restArgAssignmentCompat.types index 39443ebc0b12b..385410a2afc27 100644 --- a/tests/baselines/reference/restArgAssignmentCompat.types +++ b/tests/baselines/reference/restArgAssignmentCompat.types @@ -11,11 +11,11 @@ function f(...x: number[]) { >x.forEach((n, i) => void ('item ' + i + ' = ' + n)) : void > : ^^^^ >x.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >x : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(n, i) => void ('item ' + i + ' = ' + n) : (n: number, i: number) => any > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/restElementWithNumberPropertyName.types b/tests/baselines/reference/restElementWithNumberPropertyName.types index a13ce021c9c4e..7d62c246ff88e 100644 --- a/tests/baselines/reference/restElementWithNumberPropertyName.types +++ b/tests/baselines/reference/restElementWithNumberPropertyName.types @@ -4,8 +4,8 @@ const { 0: a, ...b } = [0, 1, 2]; >a : number > : ^^^^^^ ->b : { [n: number]: number; 0: number; 1: number; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): number; push(...items: number[]): number; concat(...items: ConcatArray[]): number[]; concat(...items: (number | ConcatArray)[]): number[]; join(separator?: string): string; reverse(): number[]; shift(): number; slice(start?: number, end?: number): number[]; sort(compareFn?: (a: number, b: number) => number): [number, number, number]; splice(start: number, deleteCount?: number): number[]; splice(start: number, deleteCount: number, ...items: number[]): number[]; unshift(...items: number[]): number; indexOf(searchElement: number, fromIndex?: number): number; lastIndexOf(searchElement: number, fromIndex?: number): number; every(predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; some(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any): void; map(callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any): U[]; filter(predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +>b : { [n: number]: number; 0: number; 1: number; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): number | undefined; push(...items: number[]): number; concat(...items: ConcatArray[]): number[]; concat(...items: (number | ConcatArray)[]): number[]; join(separator?: string): string; reverse(): number[]; shift(): number | undefined; slice(start?: number, end?: number): number[]; sort(compareFn?: (a: number, b: number) => number): [number, number, number]; splice(start: number, deleteCount?: number): number[]; splice(start: number, deleteCount: number, ...items: number[]): number[]; unshift(...items: number[]): number; indexOf(searchElement: number, fromIndex?: number): number; lastIndexOf(searchElement: number, fromIndex?: number): number; every(predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; some(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any): void; map(callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any): U[]; filter(predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >[0, 1, 2] : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/restIntersection.types b/tests/baselines/reference/restIntersection.types index db4fd5fb3dcb6..74b6ebfad0fae 100644 --- a/tests/baselines/reference/restIntersection.types +++ b/tests/baselines/reference/restIntersection.types @@ -27,7 +27,7 @@ var {x, ...rest1 } = intersection; >x : number > : ^^^^^^ >rest1 : { y: number; w: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >intersection : { x: number; y: number; } & { w: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/restInvalidArgumentType.types b/tests/baselines/reference/restInvalidArgumentType.types index c943a901df2d7..64eb43c860498 100644 --- a/tests/baselines/reference/restInvalidArgumentType.types +++ b/tests/baselines/reference/restInvalidArgumentType.types @@ -102,8 +102,8 @@ function f(p1: T, p2: T[]) { > : ^ var {...r2} = p2; // OK ->r2 : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ +>r2 : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T | undefined; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T | undefined; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^ ^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >p2 : T[] > : ^^^ @@ -139,27 +139,27 @@ function f(p1: T, p2: T[]) { var {...r8} = union_generic; // Error, union with generic type parameter >r8 : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >union_generic : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var {...r9} = union_primitive; // Error, union with generic type parameter >r9 : any > : ^^^ >union_primitive : number | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ var {...r10} = intersection_generic; // Error, intersection with generic type parameter >r10 : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >intersection_generic : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var {...r11} = intersection_primitive; // Error, intersection with generic type parameter >r11 : any > : ^^^ >intersection_primitive : { a: number; } & string -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^ var {...r12} = num; // Error >r12 : any diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.types b/tests/baselines/reference/restParameterWithBindingPattern3.types index dea79e78b4b85..15bee41d4849c 100644 --- a/tests/baselines/reference/restParameterWithBindingPattern3.types +++ b/tests/baselines/reference/restParameterWithBindingPattern3.types @@ -56,6 +56,6 @@ function e(...{0: a = 1, 1: b = true, ...rest: rest}: [boolean, string, number]) > : ^^^^ >rest : any > : ^^^ ->rest : { [n: number]: string | number | boolean; 0: boolean; 1: string; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): string | number | boolean; push(...items: (string | number | boolean)[]): number; concat(...items: ConcatArray[]): (string | number | boolean)[]; concat(...items: (string | number | boolean | ConcatArray)[]): (string | number | boolean)[]; join(separator?: string): string; reverse(): (string | number | boolean)[]; shift(): string | number | boolean; slice(start?: number, end?: number): (string | number | boolean)[]; sort(compareFn?: (a: string | number | boolean, b: string | number | boolean) => number): [boolean, string, number]; splice(start: number, deleteCount?: number): (string | number | boolean)[]; splice(start: number, deleteCount: number, ...items: (string | number | boolean)[]): (string | number | boolean)[]; unshift(...items: (string | number | boolean)[]): number; indexOf(searchElement: string | number | boolean, fromIndex?: number): number; lastIndexOf(searchElement: string | number | boolean, fromIndex?: number): number; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; some(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => void, thisArg?: any): void; map(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => U, thisArg?: any): U[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean)[]; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +>rest : { [n: number]: string | number | boolean; 0: boolean; 1: string; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): (string | number | boolean) | undefined; push(...items: (string | number | boolean)[]): number; concat(...items: ConcatArray[]): (string | number | boolean)[]; concat(...items: (string | number | boolean | ConcatArray)[]): (string | number | boolean)[]; join(separator?: string): string; reverse(): (string | number | boolean)[]; shift(): (string | number | boolean) | undefined; slice(start?: number, end?: number): (string | number | boolean)[]; sort(compareFn?: (a: string | number | boolean, b: string | number | boolean) => number): [boolean, string, number]; splice(start: number, deleteCount?: number): (string | number | boolean)[]; splice(start: number, deleteCount: number, ...items: (string | number | boolean)[]): (string | number | boolean)[]; unshift(...items: (string | number | boolean)[]): number; indexOf(searchElement: string | number | boolean, fromIndex?: number): number; lastIndexOf(searchElement: string | number | boolean, fromIndex?: number): number; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; some(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => void, thisArg?: any): void; map(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => U, thisArg?: any): U[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean)[]; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/restPropertyWithBindingPattern.types b/tests/baselines/reference/restPropertyWithBindingPattern.types index dd69591af8fb7..2ac93afdc8154 100644 --- a/tests/baselines/reference/restPropertyWithBindingPattern.types +++ b/tests/baselines/reference/restPropertyWithBindingPattern.types @@ -32,8 +32,8 @@ > : ^^ >{...[]} = {} : {} > : ^^ ->{...[]} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +>{...[]} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never | undefined; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never | undefined; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >[] : [] > : ^^ >{} : {} @@ -44,8 +44,8 @@ > : ^^ >{...([])} = {} : {} > : ^^ ->{...([])} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +>{...([])} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never | undefined; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never | undefined; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >([]) : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/restTupleElements1.types b/tests/baselines/reference/restTupleElements1.types index 8f7740dd28b22..20cedc952a65e 100644 --- a/tests/baselines/reference/restTupleElements1.types +++ b/tests/baselines/reference/restTupleElements1.types @@ -65,85 +65,85 @@ assign(); >assign() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign(); >assign() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[...number[]], number[]>(); >assign<[...number[]], number[]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], number[]>(); // Error >assign<[number, ...number[]], number[]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], []>(); // Error >assign<[number, ...number[]], []>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number]>(); >assign<[number, ...number[]], [number]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number]>(); >assign<[number, ...number[]], [number, number]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number, ...number[]]>(); >assign<[number, ...number[]], [number, number, ...number[]]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number], [...number[]]>(); // Error >assign<[number], [...number[]]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number], [number, ...number[]]>(); // Error >assign<[number], [number, ...number[]]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, ...string[]]>(); // Error >assign<[number, ...number[]], [number, ...string[]]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [string, ...number[]]>(); // Error >assign<[number, ...number[]], [string, ...number[]]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number, string]>(); // Error >assign<[number, ...number[]], [number, number, string]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number, number, string]>(); // Error >assign<[number, ...number[]], [number, number, number, string]>() : void > : ^^^^ >assign : () => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ type T20 = [number, string, ...boolean[]]; >T20 : T20 @@ -249,7 +249,7 @@ f0([]); // Error >f0([]) : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[] : [] > : ^^ @@ -257,7 +257,7 @@ f0([1]); >f0([1]) : [number, unknown] > : ^^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1] : [number] > : ^^^^^^^^ >1 : 1 @@ -267,7 +267,7 @@ f0([1, 2, 3]); >f0([1, 2, 3]) : [number, number] > : ^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -281,7 +281,7 @@ f0([1, "hello", true]); >f0([1, "hello", true]) : [number, string | boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1, "hello", true] : [number, string, true] > : ^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -315,7 +315,7 @@ f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]); >f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]) : void > : ^^^^ >f1 : (a: [(x: number) => number, ...((x: string) => number)[]]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[x => x * 2, x => x.length, x => x.charCodeAt(0)] : [(x: number) => number, (x: string) => number, (x: string) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >x => x * 2 : (x: number) => number @@ -345,11 +345,11 @@ f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]); >x.charCodeAt(0) : number > : ^^^^^^ >x.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -357,7 +357,7 @@ f2(x => x * 2, x => x.length, x => x.charCodeAt(0)); >f2(x => x * 2, x => x.length, x => x.charCodeAt(0)) : void > : ^^^^ >f2 : (a_0: (x: number) => number, ...a_1: ((x: string) => number)[]) => void -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >x => x * 2 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -385,11 +385,11 @@ f2(x => x * 2, x => x.length, x => x.charCodeAt(0)); >x.charCodeAt(0) : number > : ^^^^^^ >x.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/restTuplesFromContextualTypes.types b/tests/baselines/reference/restTuplesFromContextualTypes.types index cc01d11fe6d80..655c5f92bd68d 100644 --- a/tests/baselines/reference/restTuplesFromContextualTypes.types +++ b/tests/baselines/reference/restTuplesFromContextualTypes.types @@ -105,7 +105,7 @@ f1((a, b, c) => {}) >f1((a, b, c) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -119,7 +119,7 @@ f1((...x) => {}) >f1((...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(...x) => {} : (x_0: number, x_1: boolean, x_2: string) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, string] @@ -129,7 +129,7 @@ f1((a, ...x) => {}) >f1((a, ...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, ...x) => {} : (a: number, x_0: boolean, x_1: string) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -141,7 +141,7 @@ f1((a, b, ...x) => {}) >f1((a, b, ...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, ...x) => {} : (a: number, b: boolean, x_0: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -155,7 +155,7 @@ f1((a, b, c, ...x) => {}) >f1((a, b, c, ...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -271,7 +271,7 @@ f2((a, b, c) => {}) >f2((a, b, c) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -285,7 +285,7 @@ f2((...x) => {}) >f2((...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(...x) => {} : (x_0: number, x_1: boolean, ...x_2: string[]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, ...string[]] @@ -295,7 +295,7 @@ f2((a, ...x) => {}) >f2((a, ...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -307,7 +307,7 @@ f2((a, b, ...x) => {}) >f2((a, b, ...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, ...x) => {} : (a: number, b: boolean, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -321,7 +321,7 @@ f2((a, b, c, ...x) => {}) >f2((a, b, c, ...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -449,7 +449,7 @@ f3((a, b, c) => {}) >f3((a, b, c) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -463,7 +463,7 @@ f3((...x) => {}) >f3((...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(...x) => {} : (x: number, x_1: boolean, ...x_2: string[]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [x: number, boolean, ...string[]] @@ -473,7 +473,7 @@ f3((a, ...x) => {}) >f3((a, ...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -485,7 +485,7 @@ f3((a, b, ...x) => {}) >f3((a, b, ...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, ...x) => {} : (a: number, b: boolean, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -499,7 +499,7 @@ f3((a, b, c, ...x) => {}) >f3((a, b, c, ...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -632,7 +632,7 @@ let g0 = f5(() => "hello"); >f5(() => "hello") : () => string > : ^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >() => "hello" : () => string > : ^^^^^^^^^^^^ >"hello" : "hello" @@ -644,7 +644,7 @@ let g1 = f5((x, y) => 42); >f5((x, y) => 42) : (x: any, y: any) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x, y) => 42 : (x: any, y: any) => number > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >x : any @@ -660,7 +660,7 @@ let g2 = f5((x: number, y) => 42); >f5((x: number, y) => 42) : (x: number, y: any) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x: number, y) => 42 : (x: number, y: any) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : number @@ -676,7 +676,7 @@ let g3 = f5((x: number, y: number) => x + y); >f5((x: number, y: number) => x + y) : (x: number, y: number) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -696,7 +696,7 @@ let g4 = f5((...args) => true); >f5((...args) => true) : (...args: any[]) => boolean > : ^^^^ ^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(...args) => true : (...args: any[]) => boolean > : ^^^^ ^^^^^^^^^^^^^^^^^^^ >args : any[] @@ -724,7 +724,7 @@ let g5 = pipe(() => true, b => 42); >pipe(() => true, b => 42) : () => number > : ^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >() => true : () => boolean > : ^^^^^^^^^^^^^ >true : true @@ -742,7 +742,7 @@ let g6 = pipe(x => "hello", s => s.length); >pipe(x => "hello", s => s.length) : (x: any) => number > : ^^^^^^^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x => "hello" : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >x : any @@ -766,7 +766,7 @@ let g7 = pipe((x, y) => 42, x => "" + x); >pipe((x, y) => 42, x => "" + x) : (x: any, y: any) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x, y) => 42 : (x: any, y: any) => number > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >x : any @@ -792,7 +792,7 @@ let g8 = pipe((x: number, y: string) => 42, x => "" + x); >pipe((x: number, y: string) => 42, x => "" + x) : (x: number, y: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: number, y: string) => 42 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -868,7 +868,7 @@ take(function(...rest){}); >take(function(...rest){}) : void > : ^^^^ >take : (cb: (a: number, b: string) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(...rest){} : (a: number, b: string) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rest : [a: number, b: string] diff --git a/tests/baselines/reference/restTypeRetainsMappyness.types b/tests/baselines/reference/restTypeRetainsMappyness.types index c65e61162047b..78df64c62ddbd 100644 --- a/tests/baselines/reference/restTypeRetainsMappyness.types +++ b/tests/baselines/reference/restTypeRetainsMappyness.types @@ -27,7 +27,7 @@ function test(fn: (...args: Foo) => void) { >fn(...arr) : void > : ^^^^ >fn : (...args: Foo) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...arr : any >arr : Foo > : ^^^^^^ diff --git a/tests/baselines/reference/restUnion.types b/tests/baselines/reference/restUnion.types index c1ff911243911..48ea71e6a4ace 100644 --- a/tests/baselines/reference/restUnion.types +++ b/tests/baselines/reference/restUnion.types @@ -25,9 +25,9 @@ var {a, ...rest1 } = union; >a : string | number > : ^^^^^^^^^^^^^^^ >rest1 : { c: boolean; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; c: boolean; } | { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ var undefinedUnion: { n: number } | undefined; @@ -46,7 +46,7 @@ var {n, ...rest2 } = undefinedUnion; >rest2 : {} > : ^^ >undefinedUnion : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var nullUnion: { n: number } | null; @@ -65,5 +65,5 @@ var {n, ...rest3 } = nullUnion; >rest3 : {} > : ^^ >nullUnion : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/restUnion2.types b/tests/baselines/reference/restUnion2.types index 3205d3b2d984c..6788a95e2e56c 100644 --- a/tests/baselines/reference/restUnion2.types +++ b/tests/baselines/reference/restUnion2.types @@ -15,9 +15,9 @@ var rest2: { n: number }; var {...rest2 } = undefinedUnion; >rest2 : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefinedUnion : { n: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ declare const nullUnion: { n: number } | null; @@ -34,7 +34,7 @@ var rest3: { n: number }; var {...rest3 } = nullUnion; >rest3 : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >nullUnion : { n: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/restUnion3.types b/tests/baselines/reference/restUnion3.types index fcde1cefcb499..2b1693a0667f0 100644 --- a/tests/baselines/reference/restUnion3.types +++ b/tests/baselines/reference/restUnion3.types @@ -33,7 +33,7 @@ var rest5: { n: number, s: string }; var {...rest5 } = unionWithIntersection; >rest5 : { n: number; s: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >unionWithIntersection : never > : ^^^^^ diff --git a/tests/baselines/reference/returnTagTypeGuard.types b/tests/baselines/reference/returnTagTypeGuard.types index 1d6efa2e792a6..4653caabc4de4 100644 --- a/tests/baselines/reference/returnTagTypeGuard.types +++ b/tests/baselines/reference/returnTagTypeGuard.types @@ -76,11 +76,11 @@ function f(chunk) { >chunk.isInit(chunk) : boolean > : ^^^^^^^ >chunk.isInit : ((x: any) => this is Entry) | ((x: any) => false) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >chunk : Entry | Group > : ^^^^^^^^^^^^^ >isInit : ((x: any) => this is Entry) | ((x: any) => false) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >chunk : Entry | Group > : ^^^^^^^^^^^^^ >chunk.c : number @@ -131,7 +131,7 @@ function foo(val) { >isBoolean(val) : boolean > : ^^^^^^^ >isBoolean : (value: any) => value is boolean -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >val : number | boolean > : ^^^^^^^^^^^^^^^^ @@ -173,7 +173,7 @@ function g(x) { >isNumber(x) : boolean > : ^^^^^^^ >isNumber : (x: unknown) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ diff --git a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types index 0d1c833314eb6..149c7971b596e 100644 --- a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types +++ b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types @@ -46,7 +46,7 @@ export const y = sepsis({ low: 1, sign: { kind: 'a', a: 3 }}); >sepsis({ low: 1, sign: { kind: 'a', a: 3 }}) : Wrapper<{ kind: "a"; a: 3; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sepsis : (opts: Opts) => Wrapper -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ low: 1, sign: { kind: 'a', a: 3 }} : { low: number; sign: { kind: "a"; a: 3; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >low : number @@ -73,7 +73,7 @@ export const yun = unwrap(y); >unwrap(y) : { kind: "a"; a: 3; } > : ^^^^^^^^^^^^^^^^^^^^ >unwrap : (w: Wrapper) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y : Wrapper<{ kind: "a"; a: 3; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -84,11 +84,11 @@ export const yone = unwrap(sepsis({ low: 1, sign: { kind: 'a', a: 3 }})); >unwrap(sepsis({ low: 1, sign: { kind: 'a', a: 3 }})) : { kind: "a"; a: 3; } > : ^^^^^^^^^^^^^^^^^^^^ >unwrap : (w: Wrapper) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >sepsis({ low: 1, sign: { kind: 'a', a: 3 }}) : Wrapper<{ kind: "a"; a: 3; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sepsis : (opts: Opts) => Wrapper -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ low: 1, sign: { kind: 'a', a: 3 }} : { low: number; sign: { kind: "a"; a: 3; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >low : number diff --git a/tests/baselines/reference/returnTypeParameterWithModules.types b/tests/baselines/reference/returnTypeParameterWithModules.types index 1868eebb2b1a9..bc5fccfddb8d9 100644 --- a/tests/baselines/reference/returnTypeParameterWithModules.types +++ b/tests/baselines/reference/returnTypeParameterWithModules.types @@ -15,7 +15,7 @@ module M1 { return Array.prototype.reduce.apply(ar, e ? [f, e] : [f]); >Array.prototype.reduce.apply(ar, e ? [f, e] : [f]) : any >Array.prototype.reduce.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >Array.prototype.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } > : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >Array.prototype : any[] @@ -27,7 +27,7 @@ module M1 { >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } > : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >ar : any >e ? [f, e] : [f] : any[] > : ^^^^^ @@ -59,16 +59,16 @@ module M2 { A.reduce(arguments, compose2); >A.reduce(arguments, compose2) : unknown[] > : ^^^^^^^^^ ->A.reduce : (ar: any, f: any, e?: any) => A[] -> : ^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +>A.reduce : (ar: any, f: any, e?: any) => Array +> : ^ ^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ ->reduce : (ar: any, f: any, e?: any) => A[] -> : ^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +>reduce : (ar: any, f: any, e?: any) => Array +> : ^ ^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >compose2 : (g: (x: B) => C, f: (x: D) => B) => (x: D) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ }; export function compose2(g: (x: B) => C, f: (x: D) => B): (x: D) => C { @@ -93,11 +93,11 @@ module M2 { >g(f(x)) : C > : ^ >g : (x: B) => C -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >f(x) : B > : ^ >f : (x: D) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : D > : ^ diff --git a/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types b/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types index bc6e07b95814d..f2678d05d4294 100644 --- a/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types +++ b/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types @@ -27,19 +27,19 @@ class TestComponent extends React.Component<{ isAny: (obj: any) => obj is T } static defaultProps = { >defaultProps : { isAny: (obj: any) => obj is T; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >{ isAny: TestComponent.isAny } : { isAny: (obj: any) => obj is T; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ isAny: TestComponent.isAny >isAny : (obj: any) => obj is T -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >TestComponent.isAny : (obj: any) => obj is T -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >TestComponent : typeof TestComponent > : ^^^^^^^^^^^^^^^^^^^^ >isAny : (obj: any) => obj is T -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } // Type guard is defined as a static class property diff --git a/tests/baselines/reference/reverseInferenceInContextualInstantiation.types b/tests/baselines/reference/reverseInferenceInContextualInstantiation.types index 88d393c7172d2..4f23a1f3f3dc2 100644 --- a/tests/baselines/reference/reverseInferenceInContextualInstantiation.types +++ b/tests/baselines/reference/reverseInferenceInContextualInstantiation.types @@ -19,11 +19,11 @@ x.sort(compare); // Error, but shouldn't be >x.sort(compare) : number[] > : ^^^^^^^^ >x.sort : (compareFn?: (a: number, b: number) => number) => number[] -> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >x : number[] > : ^^^^^^^^ >sort : (compareFn?: (a: number, b: number) => number) => number[] -> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >compare : (a: T, b: T) => number -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/reverseMappedContravariantInference.types b/tests/baselines/reference/reverseMappedContravariantInference.types index 7a130d1d209b5..da070f1c6ca9c 100644 --- a/tests/baselines/reference/reverseMappedContravariantInference.types +++ b/tests/baselines/reference/reverseMappedContravariantInference.types @@ -17,9 +17,9 @@ conforms({ foo: (v: string) => false })({ foo: "hello" }); >conforms({ foo: (v: string) => false })({ foo: "hello" }) : boolean > : ^^^^^^^ >conforms({ foo: (v: string) => false }) : (value: { foo: string; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >conforms : (source: { [K in keyof T]: (val: T[K]) => boolean; }) => (value: T) => boolean -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: (v: string) => false } : { foo: (v: string) => false; } > : ^^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo : (v: string) => false diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types index 88e6e191e0801..50e7502dd422c 100644 --- a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types @@ -78,8 +78,8 @@ const r = extend({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extend({ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }}) : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->extend : ({ props }: { props: PropsDefinition; }) => RecordPropsDefinition -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>extend : ({ props }: { props: PropsDefinition; }) => PropsDefinition +> : ^ ^^ ^^ ^^^^^ >{ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }} : { props: { notResolved: { type: PropType; validator: (x: MyType) => boolean; }; explicit: { type: PropType; validator: (x: MyType) => boolean; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ @@ -233,7 +233,7 @@ const obj1 = id({ >id({ foo: { contents: "" }}) : Mapped<{ foo: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >id : (arg: Mapped) => Mapped -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { contents: "" }} : { foo: { contents: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -259,7 +259,7 @@ const obj2 = id({ >id({ foo: { contents: "", contains(k) { return k.length > 0; } }}) : Mapped<{ foo: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >id : (arg: Mapped) => Mapped -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { contents: "", contains(k) { return k.length > 0; } }} : { foo: { contents: string; contains(k: string): boolean; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -304,7 +304,7 @@ const obj3 = id({ >id({ foo: { contains(k) { return k.length > 0; } }}) : Mapped > : ^^^^^^^^^^^^^^^ >id : (arg: Mapped) => Mapped -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { contains(k) { return k.length > 0; } }} : { foo: { contains(k: unknown): boolean; }; } > : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -357,7 +357,7 @@ inferMapped1({ >inferMapped1({ key: [3, arg => arg.key > 5]}) : void > : ^^^^ >inferMapped1 : (arg: Mapped1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ key: [3, arg => arg.key > 5]} : { key: [number, (arg: { key: number; }) => boolean]; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -405,7 +405,7 @@ inferMapped2({ >inferMapped2({ key: [3, arg => arg.key > 5]}) : void > : ^^^^ >inferMapped2 : (arg: Mapped2) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ key: [3, arg => arg.key > 5]} : { key: [number, (arg: { key: number; }) => boolean]; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -453,7 +453,7 @@ inferMappedReadonly({ >inferMappedReadonly({ key: [3, arg => arg.key > 5]}) : void > : ^^^^ >inferMappedReadonly : (arg: MappedReadonly) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ key: [3, arg => arg.key > 5]} : { key: [number, (arg: { key: number; }) => boolean]; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTupleContext.types b/tests/baselines/reference/reverseMappedTupleContext.types index faaa4730ae267..91a5c3dfffb9b 100644 --- a/tests/baselines/reference/reverseMappedTupleContext.types +++ b/tests/baselines/reference/reverseMappedTupleContext.types @@ -17,7 +17,7 @@ const result1 = test1(["foo", 42]); >test1(["foo", 42]) : [string, number] > : ^^^^^^^^^^^^^^^^ >test1 : (arg: { [K in keyof T]: T[K]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["foo", 42] : [string, number] > : ^^^^^^^^^^^^^^^^ >"foo" : "foo" @@ -39,7 +39,7 @@ const result2 = test2(["foo", 42]); >test2(["foo", 42]) : [string, number] > : ^^^^^^^^^^^^^^^^ >test2 : (arg: { [K in keyof T]: T[K]; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["foo", 42] : [string, number] > : ^^^^^^^^^^^^^^^^ >"foo" : "foo" @@ -69,7 +69,7 @@ const created1 = create([() => 1, [() => ""]]); >create([() => 1, [() => ""]]) : [number, [string]] > : ^^^^^^^^^^^^^^^^^^ >create : (definition: Definition) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[() => 1, [() => ""]] : [() => number, [() => string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >() => 1 : () => number @@ -89,7 +89,7 @@ const created2 = create({ >create({ a: () => 1, b: [() => ""],}) : { a: number; b: [string]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (definition: Definition) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ a: () => 1, b: [() => ""],} : { a: () => number; b: [() => string]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -151,7 +151,7 @@ const result4 = test4({ >test4({ alwaysStrict: { dependencies: ["foo", "bar"], }, allowUnusedLabels: { dependencies: ["baz", "qwe"], },}) : { alwaysStrict: ["foo", "bar"]; allowUnusedLabels: ["baz", "qwe"]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test4 : >(obj: { [K in keyof T & keyof CompilerOptions]: { dependencies: KeepLiteralStrings; }; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ alwaysStrict: { dependencies: ["foo", "bar"], }, allowUnusedLabels: { dependencies: ["baz", "qwe"], },} : { alwaysStrict: { dependencies: ["foo", "bar"]; }; allowUnusedLabels: { dependencies: ["baz", "qwe"]; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types b/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types index c3aa601567a04..8f6c154f822d3 100644 --- a/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types +++ b/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types @@ -33,7 +33,7 @@ const mapStateToProps = createStructuredSelector({ >createStructuredSelector({ editable: (state: any, props: any) => editable(), // expect "Type '(state: any, props: any) => {}' is not assignable to type 'Selector'", _not_ a circularity error}) : Selector > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createStructuredSelector : (selectors: { [K in keyof T]: Selector; }) => Selector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ editable: (state: any, props: any) => editable(), // expect "Type '(state: any, props: any) => {}' is not assignable to type 'Selector'", _not_ a circularity error} : { editable: (state: any, props: any) => {}; } > : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types b/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types index 465a8b489694b..34a2bd7a78788 100644 --- a/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types +++ b/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types @@ -44,7 +44,7 @@ bindAll({} as HTMLButtonElement, [ >bindAll({} as HTMLButtonElement, [ { type: "onclick", listener: (event) => {}, }, { type: "onkeydown", listener: (event) => {}, },]) : void > : ^^^^ >bindAll : >(target: TTarget, bindings: { [K in keyof TTypes]: { type: TTypes[K]; listener: (ev: Parameters any>>[0]) => void; }; }) => void -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{} as HTMLButtonElement : HTMLButtonElement > : ^^^^^^^^^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types b/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types index fa46e5713c949..50aa4cc334119 100644 --- a/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types +++ b/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types @@ -64,7 +64,7 @@ export const validatorFunc = ObjValidator(test); >ObjValidator(test) : (o: any) => { Test: { Test1: { Test2: string; }; }; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ObjValidator : (validatorObj: ObjectValidator) => (o: any) => V -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >test : { Test: { Test1: { Test2: NativeTypeValidator; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types b/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types index 520138cd37274..fbb016a9ba1fd 100644 --- a/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types +++ b/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types @@ -41,7 +41,7 @@ const inferredParams1 = createMachine({ >createMachine({ entry: "foo", states: { a: { entry: "bar", }, }, extra: 12,}) : ["foo", StateConfig<"foo">] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createMachine : , TAction extends string = TConfig["entry"] extends string ? TConfig["entry"] : string>(config: { [K in keyof TConfig & keyof StateConfig]: TConfig[K]; }) => [TAction, TConfig] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ entry: "foo", states: { a: { entry: "bar", }, }, extra: 12,} : { entry: "foo"; states: { a: { entry: "bar"; }; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -85,7 +85,7 @@ const inferredParams2 = createMachine({ >createMachine({ entry: "foo", states: { a: { entry: "foo", }, }, extra: 12,}) : ["foo", { entry: "foo"; states: { a: { entry: "foo"; }; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createMachine : , TAction extends string = TConfig["entry"] extends string ? TConfig["entry"] : string>(config: { [K in keyof TConfig & keyof StateConfig]: TConfig[K]; }) => [TAction, TConfig] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ entry: "foo", states: { a: { entry: "foo", }, }, extra: 12,} : { entry: "foo"; states: { a: { entry: "foo"; }; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -204,11 +204,11 @@ function doStuffWithStuff(s: { [K in keyof T & keyof Stuff]: T[ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -229,7 +229,7 @@ doStuffWithStuff({ field: 1, anotherField: 'a', extra: 123 }) >doStuffWithStuff({ field: 1, anotherField: 'a', extra: 123 }) : { field: 1; anotherField: "a"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doStuffWithStuff : (s: { [K in keyof T & keyof Stuff]: T[K]; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ field: 1, anotherField: 'a', extra: 123 } : { field: 1; anotherField: "a"; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >field : 1 @@ -257,11 +257,11 @@ function doStuffWithStuffArr(arr: { [K in keyof T & keyof Stuff >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -282,7 +282,7 @@ doStuffWithStuffArr([ >doStuffWithStuffArr([ { field: 1, anotherField: 'a', extra: 123 },]) : { field: 1; anotherField: "a"; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doStuffWithStuffArr : (arr: { [K in keyof T & keyof Stuff]: T[K]; }[]) => T[] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[ { field: 1, anotherField: 'a', extra: 123 },] : { field: 1; anotherField: "a"; extra: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -332,16 +332,16 @@ function bar(props: {x: number, y: string}) { >foo(props) : void > : ^^^^ >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } foo({x: 1, y: 'foo'}); >foo({x: 1, y: 'foo'}) : void > : ^^^^ >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: string; } > : ^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -357,7 +357,7 @@ foo({...{x: 1, y: 'foo'}}); // no error because lack of excess property check by >foo({...{x: 1, y: 'foo'}}) : void > : ^^^^ >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{...{x: 1, y: 'foo'}} : { x: 1; y: string; } > : ^^^^^^^^^^^^^^^^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: string; } @@ -391,7 +391,7 @@ baz({x: 1}); >baz({x: 1}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1} : { x: 1; } > : ^^^^^^^^^ >x : 1 @@ -403,7 +403,7 @@ baz({x: 1, z: 123}); >baz({x: 1, z: 123}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, z: 123} : { x: 1; z: number; } > : ^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -419,7 +419,7 @@ baz({x: 1, y: 'foo'}); >baz({x: 1, y: 'foo'}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: "foo"; } > : ^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -435,7 +435,7 @@ baz({x: 1, y: 'foo', z: 123}); >baz({x: 1, y: 'foo', z: 123}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo', z: 123} : { x: 1; y: "foo"; z: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -480,7 +480,7 @@ const wnp = withNestedProp({prop: 'foo', nested: { prop: 'bar' }, extra: 10 }); >withNestedProp({prop: 'foo', nested: { prop: 'bar' }, extra: 10 }) : { prop: "foo"; nested: { prop: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >withNestedProp : (props: { [K in keyof T & keyof WithNestedProp]: T[K]; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{prop: 'foo', nested: { prop: 'bar' }, extra: 10 } : { prop: "foo"; nested: { prop: string; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >prop : "foo" @@ -606,7 +606,7 @@ const config = createXMachine({ >createXMachine({ types: {} as { actors: { src: "str"; logic: typeof child; }; }, invoke: { src: "str", }, extra: 10}) : { types: { actors: { src: "str"; logic: typeof child; }; }; invoke: { readonly src: "str"; }; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createXMachine : , TActor extends ProvidedActor = TConfig extends { types: { actors: ProvidedActor; }; } ? TConfig["types"]["actors"] : ProvidedActor>(config: { [K in keyof MachineConfig & keyof TConfig]: TConfig[K]; }) => TConfig -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ types: {} as { actors: { src: "str"; logic: typeof child; }; }, invoke: { src: "str", }, extra: 10} : { types: { actors: { src: "str"; logic: typeof child; }; }; invoke: { src: "str"; }; extra: number; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -661,7 +661,7 @@ const config2 = createXMachine({ >createXMachine({ invoke: { src: "whatever", }, extra: 10}) : { invoke: { readonly src: "whatever"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createXMachine : , TActor extends ProvidedActor = TConfig extends { types: { actors: ProvidedActor; }; } ? TConfig["types"]["actors"] : ProvidedActor>(config: { [K in keyof MachineConfig & keyof TConfig]: TConfig[K]; }) => TConfig -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ invoke: { src: "whatever", }, extra: 10} : { invoke: { src: "whatever"; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types b/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types index f063fe88f6cac..38b6fc719d261 100644 --- a/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types +++ b/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types @@ -17,7 +17,7 @@ foo_({x: 1, y: 'foo'}); >foo_({x: 1, y: 'foo'}) : { x: 1; } > : ^^^^^^^^^ >foo_ : (props: { [K in keyof T & keyof XNumber_]: T[K]; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: string; } > : ^^^^^^^^^^^^^^^^^^^^ >x : 1 diff --git a/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types b/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types index d019de28535b4..cba6b40393ab6 100644 --- a/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types +++ b/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types @@ -23,7 +23,7 @@ const result = test({ >test({ prop: "foo", // this one should not widen to string nested: { nestedProp: "bar", }, extra: "baz",}) : { prop: "foo"; nested: { nestedProp: string; }; extra: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (obj: { [K in keyof T]: T[K]; }) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", // this one should not widen to string nested: { nestedProp: "bar", }, extra: "baz",} : { prop: "foo"; nested: { nestedProp: string; }; extra: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeRecursiveInference.types b/tests/baselines/reference/reverseMappedTypeRecursiveInference.types index acaa5b22d55fa..5cdda57f52197 100644 --- a/tests/baselines/reference/reverseMappedTypeRecursiveInference.types +++ b/tests/baselines/reference/reverseMappedTypeRecursiveInference.types @@ -25,11 +25,11 @@ function test(value: Foo): V { >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : Foo > : ^^^^^^ @@ -49,7 +49,7 @@ test(bar); >test(bar) : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >test : (value: Foo) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : Bar > : ^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedUnionInference.types b/tests/baselines/reference/reverseMappedUnionInference.types index 971a40c21d6b0..d74f5853d608e 100644 --- a/tests/baselines/reference/reverseMappedUnionInference.types +++ b/tests/baselines/reference/reverseMappedUnionInference.types @@ -69,15 +69,15 @@ const identifierExtractor = createExtractor({ >createExtractor({ matcher: isIdentifier, extract: (node) => { return { node, kind: "identifier" as const, value: node.name, }; },}) : Extractor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createExtractor : (params: { matcher: (node: unknown) => node is T; extract: (node: T) => Result; }) => Extractor -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ matcher: isIdentifier, extract: (node) => { return { node, kind: "identifier" as const, value: node.name, }; },} : { matcher: (node: unknown) => node is Identifier; extract: (node: Identifier) => { node: Identifier; kind: "identifier"; value: string; }; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ matcher: isIdentifier, >matcher : (node: unknown) => node is Identifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isIdentifier : (node: unknown) => node is Identifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ extract: (node) => { >extract : (node: Identifier) => { node: Identifier; kind: "identifier"; value: string; } @@ -139,15 +139,15 @@ const stringExtractor = createExtractor({ >createExtractor({ matcher: isStringLiteral, extract: (node) => { return { node, kind: "string" as const, value: node.value, }; },}) : Extractor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createExtractor : (params: { matcher: (node: unknown) => node is T; extract: (node: T) => Result; }) => Extractor -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ matcher: isStringLiteral, extract: (node) => { return { node, kind: "string" as const, value: node.value, }; },} : { matcher: (node: unknown) => node is StringLiteral; extract: (node: StringLiteral) => { node: StringLiteral; kind: "string"; value: string; }; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ matcher: isStringLiteral, >matcher : (node: unknown) => node is StringLiteral -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isStringLiteral : (node: unknown) => node is StringLiteral -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ extract: (node) => { >extract : (node: StringLiteral) => { node: StringLiteral; kind: "string"; value: string; } @@ -202,7 +202,7 @@ const myUnion = unionType([identifierExtractor, stringExtractor]); >unionType([identifierExtractor, stringExtractor]) : AnyExtractor<{ node: Identifier; kind: "identifier"; value: string; } | { node: StringLiteral; kind: "string"; value: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unionType : (parsers: { [K in keyof Result]: AnyExtractor; }) => AnyExtractor -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[identifierExtractor, stringExtractor] : [Extractor, Extractor] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >identifierExtractor : Extractor diff --git a/tests/baselines/reference/scannerS7.2_A1.5_T2.types b/tests/baselines/reference/scannerS7.2_A1.5_T2.types index f93a77f7075bd..c275739768c3b 100644 --- a/tests/baselines/reference/scannerS7.2_A1.5_T2.types +++ b/tests/baselines/reference/scannerS7.2_A1.5_T2.types @@ -16,7 +16,7 @@ eval("\u00A0var x\u00A0= 1\u00A0"); >eval("\u00A0var x\u00A0= 1\u00A0") : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"\u00A0var x\u00A0= 1\u00A0" : " var x = 1 " > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/selfInCallback.types b/tests/baselines/reference/selfInCallback.types index 5bf6ee75b3c9c..4ba660b4437b8 100644 --- a/tests/baselines/reference/selfInCallback.types +++ b/tests/baselines/reference/selfInCallback.types @@ -19,7 +19,7 @@ class C { >cb() : void > : ^^^^ >cb : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ public doit() { >doit : () => void diff --git a/tests/baselines/reference/selfInLambdas.types b/tests/baselines/reference/selfInLambdas.types index 5f40d02c7e6a1..7013e72a7fd35 100644 --- a/tests/baselines/reference/selfInLambdas.types +++ b/tests/baselines/reference/selfInLambdas.types @@ -45,11 +45,11 @@ var o = { >window.onmousemove = () => { this.counter++ var f = () => this.counter; } : () => void > : ^^^^^^^^^^ >window.onmousemove : (ev: MouseEvent) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >window : Window > : ^^^^^^ >onmousemove : (ev: MouseEvent) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { this.counter++ var f = () => this.counter; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/selfNameModuleAugmentation.types b/tests/baselines/reference/selfNameModuleAugmentation.types index 8f0eb75dc54fc..3728786e5272e 100644 --- a/tests/baselines/reference/selfNameModuleAugmentation.types +++ b/tests/baselines/reference/selfNameModuleAugmentation.types @@ -22,5 +22,5 @@ export {}; === /index.ts === import { simple } from 'acorn-walk'; >simple : (node: any, visitors: any, base?: any, state?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/selfReference.types b/tests/baselines/reference/selfReference.types index ab1c5aed6a07d..ec2b6bf814e7c 100644 --- a/tests/baselines/reference/selfReference.types +++ b/tests/baselines/reference/selfReference.types @@ -11,7 +11,7 @@ asFunction(() => { return 1; }); >asFunction(() => { return 1; }) : () => () => 1 > : ^^^^^^^^^^^^^ >asFunction : (value: T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => { return 1; } : () => 1 > : ^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/selfReferencesInFunctionParameters.types b/tests/baselines/reference/selfReferencesInFunctionParameters.types index 1f7d4c930f678..7edd67348729d 100644 --- a/tests/baselines/reference/selfReferencesInFunctionParameters.types +++ b/tests/baselines/reference/selfReferencesInFunctionParameters.types @@ -50,10 +50,10 @@ class C { >b.toString() : string > : ^^^^^^ >b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/selfReferentialFunctionType.types b/tests/baselines/reference/selfReferentialFunctionType.types index a028dee08c9a2..e69caaf61733f 100644 --- a/tests/baselines/reference/selfReferentialFunctionType.types +++ b/tests/baselines/reference/selfReferentialFunctionType.types @@ -7,13 +7,13 @@ declare function f(args: typeof f): T; >args : typeof f > : >f : (args: typeof f) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function g(args: T): T; >g : (args: T) => T > : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ >g : (args: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ >args : T > : ^ diff --git a/tests/baselines/reference/setMethods.types b/tests/baselines/reference/setMethods.types index 3a1d6dd950915..f9d7a924d7635 100644 --- a/tests/baselines/reference/setMethods.types +++ b/tests/baselines/reference/setMethods.types @@ -91,11 +91,11 @@ numberSet.union([]); >numberSet.union([]) : Set > : ^^^^^^^^^^^^ >numberSet.union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -103,11 +103,11 @@ numberSet.union(new Set); >numberSet.union(new Set) : Set > : ^^^^^^^^^^^^ >numberSet.union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -117,11 +117,11 @@ numberSet.union(stringSet); >numberSet.union(stringSet) : Set > : ^^^^^^^^^^^^^^^^^^^^ >numberSet.union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >stringSet : Set > : ^^^^^^^^^^^ @@ -129,11 +129,11 @@ numberSet.union(numberMap); >numberSet.union(numberMap) : Set > : ^^^^^^^^^^^ >numberSet.union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -141,11 +141,11 @@ numberSet.union(numberSetLike); >numberSet.union(numberSetLike) : Set > : ^^^^^^^^ >numberSet.union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >union : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -153,11 +153,11 @@ numberSet.intersection([]); >numberSet.intersection([]) : Set > : ^^^^^^^^^^^ >numberSet.intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -165,11 +165,11 @@ numberSet.intersection(new Set); >numberSet.intersection(new Set) : Set > : ^^^^^^^^^^^ >numberSet.intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -179,11 +179,11 @@ numberSet.intersection(stringSet); >numberSet.intersection(stringSet) : Set > : ^^^^^^^^^^ >numberSet.intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >stringSet : Set > : ^^^^^^^^^^^ @@ -191,11 +191,11 @@ numberSet.intersection(numberMap); >numberSet.intersection(numberMap) : Set > : ^^^^^^^^^^^ >numberSet.intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -203,11 +203,11 @@ numberSet.intersection(numberSetLike); >numberSet.intersection(numberSetLike) : Set > : ^^^^^^^^ >numberSet.intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >intersection : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -215,11 +215,11 @@ numberSet.difference([]); >numberSet.difference([]) : Set > : ^^^^^^^^^^^ >numberSet.difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -227,11 +227,11 @@ numberSet.difference(new Set); >numberSet.difference(new Set) : Set > : ^^^^^^^^^^^ >numberSet.difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -241,11 +241,11 @@ numberSet.difference(stringSet); >numberSet.difference(stringSet) : Set > : ^^^^^^^^^^^ >numberSet.difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >stringSet : Set > : ^^^^^^^^^^^ @@ -253,11 +253,11 @@ numberSet.difference(numberMap); >numberSet.difference(numberMap) : Set > : ^^^^^^^^^^^ >numberSet.difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -265,11 +265,11 @@ numberSet.difference(numberSetLike); >numberSet.difference(numberSetLike) : Set > : ^^^^^^^^^^^ >numberSet.difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >difference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -277,11 +277,11 @@ numberSet.symmetricDifference([]); >numberSet.symmetricDifference([]) : Set > : ^^^^^^^^^^^^ >numberSet.symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -289,11 +289,11 @@ numberSet.symmetricDifference(new Set); >numberSet.symmetricDifference(new Set) : Set > : ^^^^^^^^^^^^ >numberSet.symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -303,11 +303,11 @@ numberSet.symmetricDifference(stringSet); >numberSet.symmetricDifference(stringSet) : Set > : ^^^^^^^^^^^^^^^^^^^^ >numberSet.symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >stringSet : Set > : ^^^^^^^^^^^ @@ -315,11 +315,11 @@ numberSet.symmetricDifference(numberMap); >numberSet.symmetricDifference(numberMap) : Set > : ^^^^^^^^^^^ >numberSet.symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -327,11 +327,11 @@ numberSet.symmetricDifference(numberSetLike); >numberSet.symmetricDifference(numberSetLike) : Set > : ^^^^^^^^ >numberSet.symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSet : Set > : ^^^^^^^^^^^ >symmetricDifference : (other: ReadonlySetLike) => Set -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -339,11 +339,11 @@ numberSet.isSubsetOf([]); >numberSet.isSubsetOf([]) : boolean > : ^^^^^^^ >numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -351,11 +351,11 @@ numberSet.isSubsetOf(new Set); >numberSet.isSubsetOf(new Set) : boolean > : ^^^^^^^ >numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -365,11 +365,11 @@ numberSet.isSubsetOf(stringSet); >numberSet.isSubsetOf(stringSet) : boolean > : ^^^^^^^ >numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >stringSet : Set > : ^^^^^^^^^^^ @@ -377,11 +377,11 @@ numberSet.isSubsetOf(numberMap); >numberSet.isSubsetOf(numberMap) : boolean > : ^^^^^^^ >numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -389,11 +389,11 @@ numberSet.isSubsetOf(numberSetLike); >numberSet.isSubsetOf(numberSetLike) : boolean > : ^^^^^^^ >numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSubsetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -401,11 +401,11 @@ numberSet.isSupersetOf([]); >numberSet.isSupersetOf([]) : boolean > : ^^^^^^^ >numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -413,11 +413,11 @@ numberSet.isSupersetOf(new Set); >numberSet.isSupersetOf(new Set) : boolean > : ^^^^^^^ >numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -427,11 +427,11 @@ numberSet.isSupersetOf(stringSet); >numberSet.isSupersetOf(stringSet) : boolean > : ^^^^^^^ >numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >stringSet : Set > : ^^^^^^^^^^^ @@ -439,11 +439,11 @@ numberSet.isSupersetOf(numberMap); >numberSet.isSupersetOf(numberMap) : boolean > : ^^^^^^^ >numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -451,11 +451,11 @@ numberSet.isSupersetOf(numberSetLike); >numberSet.isSupersetOf(numberSetLike) : boolean > : ^^^^^^^ >numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isSupersetOf : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -463,11 +463,11 @@ numberSet.isDisjointFrom([]); >numberSet.isDisjointFrom([]) : boolean > : ^^^^^^^ >numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -475,11 +475,11 @@ numberSet.isDisjointFrom(new Set); >numberSet.isDisjointFrom(new Set) : boolean > : ^^^^^^^ >numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Set : Set > : ^^^^^^^^^^^^ >Set : SetConstructor @@ -489,11 +489,11 @@ numberSet.isDisjointFrom(stringSet); >numberSet.isDisjointFrom(stringSet) : boolean > : ^^^^^^^ >numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >stringSet : Set > : ^^^^^^^^^^^ @@ -501,11 +501,11 @@ numberSet.isDisjointFrom(numberMap); >numberSet.isDisjointFrom(numberMap) : boolean > : ^^^^^^^ >numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberMap : Map > : ^^^^^^^^^^^^^^^ @@ -513,11 +513,11 @@ numberSet.isDisjointFrom(numberSetLike); >numberSet.isDisjointFrom(numberSetLike) : boolean > : ^^^^^^^ >numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSet : Set > : ^^^^^^^^^^^ >isDisjointFrom : (other: ReadonlySetLike) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/setterBeforeGetter.types b/tests/baselines/reference/setterBeforeGetter.types index f4a9770688342..661c8a9e2f303 100644 --- a/tests/baselines/reference/setterBeforeGetter.types +++ b/tests/baselines/reference/setterBeforeGetter.types @@ -14,7 +14,7 @@ class Foo { // should not be an error to order them this way set bar(thing: { a: string; }) { >bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >thing : { a: string; } > : ^^^^^ ^^^ >a : string @@ -22,15 +22,15 @@ class Foo { this._bar = thing; >this._bar = thing : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >this._bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >this : this > : ^^^^ >_bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >thing : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } get bar(): { a: string; } { >bar : { a: string; } @@ -40,11 +40,11 @@ class Foo { return this._bar; >this._bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >this : this > : ^^^^ >_bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/shebangBeforeReferences.types b/tests/baselines/reference/shebangBeforeReferences.types index a08e35fecd8e9..daec61a0ca3b9 100644 --- a/tests/baselines/reference/shebangBeforeReferences.types +++ b/tests/baselines/reference/shebangBeforeReferences.types @@ -19,7 +19,7 @@ use(x); >use(x) : void > : ^^^^ >use : (f: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types b/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types index f390598588b39..01c59128c7a2e 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types @@ -36,7 +36,7 @@ use(x); >use(x) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ @@ -44,7 +44,7 @@ use(foo); >use(foo) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : any > : ^^^ diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types index 131dec85ede89..dfaaa2fe5c235 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types @@ -432,17 +432,17 @@ ({ y2 = 5, y3 = { x: 1 } } = {}) >({ y2 = 5, y3 = { x: 1 } } = {}) : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } = {} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y2 : string > : ^^^^^^ >5 : 5 > : ^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -450,7 +450,7 @@ >1 : 1 > : ^ >{} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -488,7 +488,7 @@ >y3 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -516,17 +516,17 @@ ({ y4 = 5, y5 = { x: 1 } } = {}) >({ y4 = 5, y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y4 : number > : ^^^^^^ >5 : 5 > : ^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -534,7 +534,7 @@ >1 : 1 > : ^ >{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -572,7 +572,7 @@ >y5 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types index cc54ceeaaf3c8..b713ddd3e4de1 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types @@ -432,17 +432,17 @@ ({ y2 = 5, y3 = { x: 1 } } = {}) >({ y2 = 5, y3 = { x: 1 } } = {}) : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } = {} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y2 : string > : ^^^^^^ >5 : 5 > : ^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -450,7 +450,7 @@ >1 : 1 > : ^ >{} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -488,7 +488,7 @@ >y3 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -516,17 +516,17 @@ ({ y4 = 5, y5 = { x: 1 } } = {}) >({ y4 = 5, y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y4 : number > : ^^^^^^ >5 : 5 > : ^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -534,7 +534,7 @@ >1 : 1 > : ^ >{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -572,7 +572,7 @@ >y5 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/signatureLengthMismatchInOverload.types b/tests/baselines/reference/signatureLengthMismatchInOverload.types index d73e8082f8bf0..996bdc883d34f 100644 --- a/tests/baselines/reference/signatureLengthMismatchInOverload.types +++ b/tests/baselines/reference/signatureLengthMismatchInOverload.types @@ -3,7 +3,7 @@ === signatureLengthMismatchInOverload.ts === function f(callback: (arg: string, arg2: string) => void): void; >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >callback : (arg: string, arg2: string) => void > : ^ ^^ ^^ ^^ ^^^^^ >arg : string @@ -13,7 +13,7 @@ function f(callback: (arg: string, arg2: string) => void): void; function f(callback: (arg: number) => void): void; >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >callback : (arg: number) => void > : ^ ^^ ^^^^^ >arg : number @@ -21,7 +21,7 @@ function f(callback: (arg: number) => void): void; function f(callback: unknown) { } >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >callback : unknown > : ^^^^^^^ @@ -29,7 +29,7 @@ f((arg: number, arg2: number) => {}); >f((arg: number, arg2: number) => {}) : void > : ^^^^ >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(arg: number, arg2: number) => {} : (arg: number, arg2: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >arg : number diff --git a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types index f89fac822860b..1058363a7df61 100644 --- a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types +++ b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types @@ -32,7 +32,7 @@ MyClass.prototype.optionalParam = function(required, notRequired) { >optionalParam : any > : ^^^ >function(required, notRequired) { return this;} : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >required : string > : ^^^^^^ >notRequired : string @@ -57,11 +57,11 @@ let c1 = pInst.optionalParam('hello') >pInst.optionalParam('hello') : MyClass > : ^^^^^^^ >pInst.optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >pInst : MyClass > : ^^^^^^^ >optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ @@ -71,11 +71,11 @@ let c2 = pInst.optionalParam('hello', null) >pInst.optionalParam('hello', null) : MyClass > : ^^^^^^^ >pInst.optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >pInst : MyClass > : ^^^^^^^ >optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/silentNeverPropagation.types b/tests/baselines/reference/silentNeverPropagation.types index 9115062f7b713..933843c9f53ec 100644 --- a/tests/baselines/reference/silentNeverPropagation.types +++ b/tests/baselines/reference/silentNeverPropagation.types @@ -53,13 +53,13 @@ const breaks = convert( >convert( createModule({ a: 12 }, { foo() { return true } })) : ModuleWithState<{ a: number; } & MoreState> & ModuleWithState<{ a: number; }> & { foo(): true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >convert : (m: ModuleWithState & TActions) => ModuleWithState & TActions -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ createModule({ a: 12 }, { foo() { return true } }) >createModule({ a: 12 }, { foo() { return true } }) : ModuleWithState<{ a: number; }> & { foo(): true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createModule : (state: TState, actions: TActions) => ModuleWithState & TActions -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 12 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types b/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types index 717e4facfbc67..d0e9771199482 100644 --- a/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types +++ b/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types @@ -5,21 +5,21 @@ >[].map(() => [].map(p => ({ X: p }))) : { X: any; }[][] > : ^^^^^^^^^^^^^^^ >[].map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >() => [].map(p => ({ X: p })) : () => { X: any; }[] > : ^^^^^^^^^^^^^^^^^^^ >[].map(p => ({ X: p })) : { X: any; }[] > : ^^^^^^^^^^^^^ >[].map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >p => ({ X: p }) : (p: any) => { X: any; } > : ^ ^^^^^^^^^^^^^^^^^^^^^ >p : any diff --git a/tests/baselines/reference/simpleRecursionWithBaseCase2.types b/tests/baselines/reference/simpleRecursionWithBaseCase2.types index 4379bc8dc0b8a..c8c43b74321be 100644 --- a/tests/baselines/reference/simpleRecursionWithBaseCase2.types +++ b/tests/baselines/reference/simpleRecursionWithBaseCase2.types @@ -11,11 +11,11 @@ async function rec1() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -42,11 +42,11 @@ async function rec2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -99,11 +99,11 @@ async function rec5() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -134,11 +134,11 @@ async function rec6() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -175,11 +175,11 @@ async function foo1() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -208,11 +208,11 @@ async function foo2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/simpleRecursionWithBaseCase3.types b/tests/baselines/reference/simpleRecursionWithBaseCase3.types index 5c07e1b0859c0..1be00dc5494eb 100644 --- a/tests/baselines/reference/simpleRecursionWithBaseCase3.types +++ b/tests/baselines/reference/simpleRecursionWithBaseCase3.types @@ -13,11 +13,11 @@ const fn1 = () => { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types b/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types index ba1f501adcc04..55455ad37ec30 100644 --- a/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types +++ b/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types @@ -26,7 +26,7 @@ function JustConditional(): ConditionalType { >ConditionalOrUndefined() : ConditionalType | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConditionalOrUndefined : () => ConditionalType | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } @@ -51,7 +51,7 @@ function JustGeneric(): T { >genericOrUndefined() : T | undefined > : ^^^^^^^^^^^^^ >genericOrUndefined : () => T_1 | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } // Simplified example: diff --git a/tests/baselines/reference/sliceResultCast.types b/tests/baselines/reference/sliceResultCast.types index 20df45adcf6b9..95a357be636bc 100644 --- a/tests/baselines/reference/sliceResultCast.types +++ b/tests/baselines/reference/sliceResultCast.types @@ -11,11 +11,11 @@ x.slice(1) as readonly string[]; >x.slice(1) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >x.slice : ((start?: number, end?: number) => (string | number)[]) | ((start?: number, end?: number) => (string | number)[]) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^ >x : [number, string] | [number, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : ((start?: number, end?: number) => (string | number)[]) | ((start?: number, end?: number) => (string | number)[]) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types b/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types index 423a18415680b..44a5c4ceb2ae9 100644 --- a/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types +++ b/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types @@ -24,7 +24,7 @@ interface Foo { let q: Foo["a"] | undefined; >q : { b: { c: { d: string; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const x: Foo = (void 0, { >x : Foo @@ -46,7 +46,7 @@ const x: Foo = (void 0, { >q = { b: ({ c: { d: 42 } }) } : { b: { c: { d: number; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >q : { b: { c: { d: string; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ b: ({ c: { d: 42 } }) } : { b: { c: { d: number; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/sourceFileMergeWithFunction.types b/tests/baselines/reference/sourceFileMergeWithFunction.types index 274cfec4e8b9d..f6cc9011e2055 100644 --- a/tests/baselines/reference/sourceFileMergeWithFunction.types +++ b/tests/baselines/reference/sourceFileMergeWithFunction.types @@ -14,7 +14,7 @@ declare function foo(props: any): any; export default foo; >foo : (props: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ export as namespace foo; >foo : typeof import("types") diff --git a/tests/baselines/reference/sourceMap-FileWithComments.types b/tests/baselines/reference/sourceMap-FileWithComments.types index c4854e08749db..3ee2579e00eee 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.types +++ b/tests/baselines/reference/sourceMap-FileWithComments.types @@ -32,11 +32,11 @@ module Shapes { >Math.sqrt(this.x * this.x + this.y * this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x * this.x + this.y * this.y : number > : ^^^^^^ >this.x * this.x : number @@ -127,9 +127,9 @@ var dist = p.getDist(); >p.getDist() : number > : ^^^^^^ >p.getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >p : IPoint > : ^^^^^^ >getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/sourceMapSample.types b/tests/baselines/reference/sourceMapSample.types index e8d0c949ec5eb..18833168898e4 100644 --- a/tests/baselines/reference/sourceMapSample.types +++ b/tests/baselines/reference/sourceMapSample.types @@ -138,11 +138,11 @@ module Foo.Bar { >greeters.push(new Greeter(restGreetings[i])) : number > : ^^^^^^ >greeters.push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >greeters : Greeter[] > : ^^^^^^^^^ >push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >new Greeter(restGreetings[i]) : Greeter > : ^^^^^^^ >Greeter : typeof Greeter diff --git a/tests/baselines/reference/sourceMapValidationClasses.types b/tests/baselines/reference/sourceMapValidationClasses.types index 9df99fe7840e2..15c3c6d1dac57 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.types +++ b/tests/baselines/reference/sourceMapValidationClasses.types @@ -134,11 +134,11 @@ module Foo.Bar { >greeters.push(new Greeter(restGreetings[i])) : number > : ^^^^^^ >greeters.push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >greeters : Greeter[] > : ^^^^^^^^^ >push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >new Greeter(restGreetings[i]) : Greeter > : ^^^^^^^ >Greeter : typeof Greeter diff --git a/tests/baselines/reference/sourceMapValidationDecorators.types b/tests/baselines/reference/sourceMapValidationDecorators.types index 5070f5d1660fd..9d156eec61d5d 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.types +++ b/tests/baselines/reference/sourceMapValidationDecorators.types @@ -61,13 +61,13 @@ declare function ParameterDecorator2(x: number): (target: Object, key: string | @ClassDecorator1 >ClassDecorator1 : (target: Function) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ @ClassDecorator2(10) >ClassDecorator2(10) : (target: Function) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ClassDecorator2 : (x: number) => (target: Function) => void -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -78,13 +78,13 @@ class Greeter { constructor( @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(20) >ParameterDecorator2(20) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >20 : 20 > : ^^ @@ -94,13 +94,13 @@ class Greeter { @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(30) >ParameterDecorator2(30) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >30 : 30 > : ^^ @@ -111,13 +111,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(40) >PropertyDecorator2(40) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >40 : 40 > : ^^ @@ -144,13 +144,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(50) >PropertyDecorator2(50) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >50 : 50 > : ^^ @@ -160,13 +160,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(60) >PropertyDecorator2(60) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >60 : 60 > : ^^ @@ -182,13 +182,13 @@ class Greeter { @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(70) >ParameterDecorator2(70) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >70 : 70 > : ^^ @@ -207,13 +207,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(80) >PropertyDecorator2(80) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >80 : 80 > : ^^ @@ -236,13 +236,13 @@ class Greeter { @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(90) >ParameterDecorator2(90) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >90 : 90 > : ^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types index ca13e05402fb9..11a3aa5c22453 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types @@ -102,11 +102,11 @@ for (let [, nameA] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -138,11 +138,11 @@ for (let [, nameA] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -178,11 +178,11 @@ for (let [, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -214,11 +214,11 @@ for (let [, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -252,11 +252,11 @@ for (let [, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -296,11 +296,11 @@ for (let [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -329,11 +329,11 @@ for (let [numberB] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -363,11 +363,11 @@ for (let [numberB] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -401,11 +401,11 @@ for (let [numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -433,11 +433,11 @@ for (let [nameB] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -467,11 +467,11 @@ for (let [nameB] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -507,11 +507,11 @@ for (let [nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -544,11 +544,11 @@ for (let [numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -582,11 +582,11 @@ for (let [numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -624,11 +624,11 @@ for (let [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -660,11 +660,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -698,11 +698,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -742,11 +742,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", " >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -777,11 +777,11 @@ for (let [numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -813,11 +813,11 @@ for (let [numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -853,11 +853,11 @@ for (let [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -885,11 +885,11 @@ for (let [...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -919,11 +919,11 @@ for (let [...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -959,11 +959,11 @@ for (let [...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0; i < >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types index d0ba32fe883f7..4e98942c92a10 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types @@ -146,11 +146,11 @@ for ([, nameA] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -190,11 +190,11 @@ for ([, nameA] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -238,11 +238,11 @@ for ([, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -284,11 +284,11 @@ for ([, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -332,11 +332,11 @@ for ([, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -386,11 +386,11 @@ for ([, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -427,11 +427,11 @@ for ([numberB] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -469,11 +469,11 @@ for ([numberB] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -515,11 +515,11 @@ for ([numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -555,11 +555,11 @@ for ([nameB] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -597,11 +597,11 @@ for ([nameB] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -645,11 +645,11 @@ for ([nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -690,11 +690,11 @@ for ([numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -736,11 +736,11 @@ for ([numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -786,11 +786,11 @@ for ([numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; i++ >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -832,11 +832,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -880,11 +880,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -934,11 +934,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edgi >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -979,11 +979,11 @@ for ([numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1025,11 +1025,11 @@ for ([numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1077,11 +1077,11 @@ for ([numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1 >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1119,11 +1119,11 @@ for ([...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -1163,11 +1163,11 @@ for ([...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -1215,11 +1215,11 @@ for ([...multiRobotAInfo] = ["trimmer", ["trimming", "edging" >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types index 50739ec5b230d..f20d3304689be 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types @@ -104,11 +104,11 @@ for (let [, nameA ="name"] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -142,11 +142,11 @@ for (let [, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -184,11 +184,11 @@ for (let [, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -236,11 +236,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -290,11 +290,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -350,11 +350,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -387,11 +387,11 @@ for (let [numberB = -1] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -425,11 +425,11 @@ for (let [numberB = -1] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -467,11 +467,11 @@ for (let [numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -501,11 +501,11 @@ for (let [nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -537,11 +537,11 @@ for (let [nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -579,11 +579,11 @@ for (let [nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -624,11 +624,11 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -670,11 +670,11 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0 >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -720,11 +720,11 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "t >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -778,11 +778,11 @@ for (let >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -837,11 +837,11 @@ for (let [nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -902,11 +902,11 @@ for (let [nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -941,11 +941,11 @@ for (let [numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -981,11 +981,11 @@ for (let [numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1025,11 +1025,11 @@ for (let [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types index a3f3da34b6f30..e52ddba83cbc6 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types @@ -150,11 +150,11 @@ for ([, nameA = "name"] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -198,11 +198,11 @@ for ([, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -250,11 +250,11 @@ for ([, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -318,11 +318,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -388,11 +388,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -464,11 +464,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -511,11 +511,11 @@ for ([numberB = -1] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -559,11 +559,11 @@ for ([numberB = -1] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -611,11 +611,11 @@ for ([numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -655,11 +655,11 @@ for ([nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -701,11 +701,11 @@ for ([nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -753,11 +753,11 @@ for ([nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -812,11 +812,11 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -872,11 +872,11 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -936,11 +936,11 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimm >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -994,11 +994,11 @@ for (let >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -1072,11 +1072,11 @@ for ([nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -1156,11 +1156,11 @@ for ([nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -1207,11 +1207,11 @@ for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1259,11 +1259,11 @@ for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1317,11 +1317,11 @@ for ([numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types index 670ffbd90cad9..e84e013a836cf 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types @@ -119,11 +119,11 @@ for (let {name: nameA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -155,11 +155,11 @@ for (let {name: nameA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -199,11 +199,11 @@ for (let {name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -239,11 +239,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -281,11 +281,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobo >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -343,11 +343,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -382,11 +382,11 @@ for (let {name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -422,11 +422,11 @@ for (let {name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -470,11 +470,11 @@ for (let {name: nameA, skill: skillA } = { name: "trimmer", skill: "trimm >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -514,11 +514,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -560,11 +560,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -626,11 +626,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types index 7e466e379dbf1..60343ca9b8439 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types @@ -149,11 +149,11 @@ for ({ name: nameA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -193,11 +193,11 @@ for ({ name: nameA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -245,11 +245,11 @@ for ({ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -295,11 +295,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -347,11 +347,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -419,11 +419,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -459,11 +459,11 @@ for ({ name } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -501,11 +501,11 @@ for ({ name } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -551,11 +551,11 @@ for ({ name } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -597,11 +597,11 @@ for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -645,11 +645,11 @@ for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -713,11 +713,11 @@ for ({ skills: { primary, secondary } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -761,11 +761,11 @@ for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -809,11 +809,11 @@ for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -865,11 +865,11 @@ for ({ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -919,11 +919,11 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = mul >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -975,11 +975,11 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = get >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1051,11 +1051,11 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1093,11 +1093,11 @@ for ({ name, skill } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1137,11 +1137,11 @@ for ({ name, skill } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1189,11 +1189,11 @@ for ({ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1237,11 +1237,11 @@ for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1287,11 +1287,11 @@ for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1357,11 +1357,11 @@ for ({ name, skills: { primary, secondary } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types index 3a69e5d52b4cb..50bc0a493296c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types @@ -121,11 +121,11 @@ for (let {name: nameA= "noName" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -159,11 +159,11 @@ for (let {name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -205,11 +205,11 @@ for (let {name: nameA = "noName" } = { name: "trimmer", skill: "trimming" >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -268,11 +268,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -333,11 +333,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -416,11 +416,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -459,11 +459,11 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -503,11 +503,11 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -555,11 +555,11 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = { name: "tr >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -626,11 +626,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -699,11 +699,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -790,11 +790,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types index f266f7220d44a..edf8bb79fa778 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types @@ -153,11 +153,11 @@ for ({name: nameA = "noName" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -201,11 +201,11 @@ for ({name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -257,11 +257,11 @@ for ({name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -337,11 +337,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -419,11 +419,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -519,11 +519,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -562,11 +562,11 @@ for ({ name = "noName" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -606,11 +606,11 @@ for ({ name = "noName" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -658,11 +658,11 @@ for ({ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -730,11 +730,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -804,11 +804,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -896,11 +896,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -952,11 +952,11 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1008,11 +1008,11 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1072,11 +1072,11 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = { name: "trimme >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1162,11 +1162,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1254,11 +1254,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1364,11 +1364,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1411,11 +1411,11 @@ for ({ name = "noName", skill = "skill" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1459,11 +1459,11 @@ for ({ name = "noName", skill = "skill" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1515,11 +1515,11 @@ for ({ name = "noName", skill = "skill" } = { name: "trimmer", skill: "tr >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1593,11 +1593,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1673,11 +1673,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1771,11 +1771,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types index db166c06947a4..cca716efa5480 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types @@ -120,11 +120,11 @@ for (let [, nameA] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -142,11 +142,11 @@ for (let [, nameA] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -166,11 +166,11 @@ for (let [, nameA] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -188,11 +188,11 @@ for (let [, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -212,11 +212,11 @@ for (let [, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -238,11 +238,11 @@ for (let [, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -257,11 +257,11 @@ for (let [numberB] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -277,11 +277,11 @@ for (let [numberB] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -299,11 +299,11 @@ for (let [numberB] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -317,11 +317,11 @@ for (let [nameB] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -337,11 +337,11 @@ for (let [nameB] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -359,11 +359,11 @@ for (let [nameB] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -382,11 +382,11 @@ for (let [numberA2, nameA2, skillA2] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -406,11 +406,11 @@ for (let [numberA2, nameA2, skillA2] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -432,11 +432,11 @@ for (let [numberA2, nameA2, skillA2] of [robotA, robotB]) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -454,11 +454,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -478,11 +478,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -504,11 +504,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -525,11 +525,11 @@ for (let [numberA3, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -547,11 +547,11 @@ for (let [numberA3, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -571,11 +571,11 @@ for (let [numberA3, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -589,11 +589,11 @@ for (let [...multiRobotAInfo] of multiRobots) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -609,11 +609,11 @@ for (let [...multiRobotAInfo] of getMultiRobots()) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -631,11 +631,11 @@ for (let [...multiRobotAInfo] of [multiRobotA, multiRobotB]) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types index 4038420f80cd4..8cfff566e87b2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types @@ -154,11 +154,11 @@ for ([, nameA] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -178,11 +178,11 @@ for ([, nameA] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -204,11 +204,11 @@ for ([, nameA] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -230,11 +230,11 @@ for ([, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -258,11 +258,11 @@ for ([, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -288,11 +288,11 @@ for ([, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -309,11 +309,11 @@ for ([numberB] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -331,11 +331,11 @@ for ([numberB] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -355,11 +355,11 @@ for ([numberB] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -375,11 +375,11 @@ for ([nameB] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -397,11 +397,11 @@ for ([nameB] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -421,11 +421,11 @@ for ([nameB] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -446,11 +446,11 @@ for ([numberA2, nameA2, skillA2] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -472,11 +472,11 @@ for ([numberA2, nameA2, skillA2] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -500,11 +500,11 @@ for ([numberA2, nameA2, skillA2] of [robotA, robotB]) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -526,11 +526,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -554,11 +554,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -584,11 +584,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -609,11 +609,11 @@ for ([numberA3, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -635,11 +635,11 @@ for ([numberA3, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -663,11 +663,11 @@ for ([numberA3, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -685,11 +685,11 @@ for ([...multiRobotAInfo] of multiRobots) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -709,11 +709,11 @@ for ([...multiRobotAInfo] of getMultiRobots()) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -735,11 +735,11 @@ for ([...multiRobotAInfo] of [multiRobotA, multiRobotB]) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types index 86ae24ef14d5b..c932fd489b889 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types @@ -122,11 +122,11 @@ for (let [, nameA = "noName"] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -146,11 +146,11 @@ for (let [, nameA = "noName"] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -172,11 +172,11 @@ for (let [, nameA = "noName"] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -210,11 +210,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -250,11 +250,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -292,11 +292,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -315,11 +315,11 @@ for (let [numberB = -1] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -339,11 +339,11 @@ for (let [numberB = -1] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -365,11 +365,11 @@ for (let [numberB = -1] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -385,11 +385,11 @@ for (let [nameB = "noName"] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -407,11 +407,11 @@ for (let [nameB = "noName"] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -431,11 +431,11 @@ for (let [nameB = "noName"] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -462,11 +462,11 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -494,11 +494,11 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -528,11 +528,11 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robot >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -568,11 +568,11 @@ for (let [nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -610,11 +610,11 @@ for (let [nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -654,11 +654,11 @@ for (let [nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -679,11 +679,11 @@ for (let [numberA3 = -1, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -705,11 +705,11 @@ for (let [numberA3 = -1, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -733,11 +733,11 @@ for (let [numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types index 9e439607b85ca..0659af5e1a0f5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types @@ -158,11 +158,11 @@ for ([, nameA = "noName"] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -186,11 +186,11 @@ for ([, nameA = "noName"] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -216,11 +216,11 @@ for ([, nameA = "noName"] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -264,11 +264,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -314,11 +314,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -366,11 +366,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -393,11 +393,11 @@ for ([numberB = -1] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -421,11 +421,11 @@ for ([numberB = -1] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -451,11 +451,11 @@ for ([numberB = -1] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -475,11 +475,11 @@ for ([nameB = "noName"] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -501,11 +501,11 @@ for ([nameB = "noName"] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -529,11 +529,11 @@ for ([nameB = "noName"] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -568,11 +568,11 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -608,11 +608,11 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -650,11 +650,11 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robotB]) >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -702,11 +702,11 @@ for ([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -756,11 +756,11 @@ for ([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -812,11 +812,11 @@ for ([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -843,11 +843,11 @@ for ([numberA3 = -1, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -875,11 +875,11 @@ for ([numberA3 = -1, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -909,11 +909,11 @@ for ([numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types index 7c966daa8aee5..ed48a298e5bba 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types @@ -140,11 +140,11 @@ for (let {name: nameA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -162,11 +162,11 @@ for (let {name: nameA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -202,11 +202,11 @@ for (let {name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -228,11 +228,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of multiRobots >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -256,11 +256,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of getMultiRob >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -320,11 +320,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "m >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -345,11 +345,11 @@ for (let {name: nameA, skill: skillA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -371,11 +371,11 @@ for (let {name: nameA, skill: skillA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -415,11 +415,11 @@ for (let {name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -445,11 +445,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -477,11 +477,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -545,11 +545,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types index e92e0ed847581..63c5d399ef3d1 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types @@ -164,11 +164,11 @@ for ({name: nameA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -188,11 +188,11 @@ for ({name: nameA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -230,11 +230,11 @@ for ({name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", s >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -260,11 +260,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of multiRobots) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -292,11 +292,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of getMultiRobots( >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -360,11 +360,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "mower >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -380,11 +380,11 @@ for ({name } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -402,11 +402,11 @@ for ({name } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -442,11 +442,11 @@ for ({name } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: " >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -468,11 +468,11 @@ for ({ skills: { primary, secondary } } of multiRobots) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -496,11 +496,11 @@ for ({ skills: { primary, secondary } } of getMultiRobots()) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -560,11 +560,11 @@ for ({ skills: { primary, secondary } } of [{ name: "mower", skills: { primary: >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -588,11 +588,11 @@ for ({name: nameA, skill: skillA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -616,11 +616,11 @@ for ({name: nameA, skill: skillA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -662,11 +662,11 @@ for ({name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { nam >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -696,11 +696,11 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of mul >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -732,11 +732,11 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of get >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -804,11 +804,11 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of [{ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -826,11 +826,11 @@ for ({name, skill } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -850,11 +850,11 @@ for ({name, skill } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -892,11 +892,11 @@ for ({name, skill } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", s >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -920,11 +920,11 @@ for ({name, skills: { primary, secondary } } of multiRobots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -950,11 +950,11 @@ for ({name, skills: { primary, secondary } } of getMultiRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1016,11 +1016,11 @@ for ({name, skills: { primary, secondary } } of [{ name: "mower", skills: { prim >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types index 0356648e42668..6b340234e2806 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types @@ -142,11 +142,11 @@ for (let {name: nameA = "noName" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -166,11 +166,11 @@ for (let {name: nameA = "noName" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -208,11 +208,11 @@ for (let {name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { nam >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -250,11 +250,11 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -294,11 +294,11 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -378,11 +378,11 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -407,11 +407,11 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -437,11 +437,11 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -485,11 +485,11 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mowe >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -542,11 +542,11 @@ for (let { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -601,11 +601,11 @@ for (let { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -698,11 +698,11 @@ for (let { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types index 33c89a0e8afb6..61071a5da110c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types @@ -168,11 +168,11 @@ for ({name: nameA = "noName" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -196,11 +196,11 @@ for ({name: nameA = "noName" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -242,11 +242,11 @@ for ({name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { name: " >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -294,11 +294,11 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -348,11 +348,11 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -442,11 +442,11 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -465,11 +465,11 @@ for ({ name = "noName" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -489,11 +489,11 @@ for ({ name = "noName" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -531,11 +531,11 @@ for ({ name = "noName" } of [{ name: "mower", skill: "mowing" }, { name: "trimme >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -583,11 +583,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -637,11 +637,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -727,11 +727,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -763,11 +763,11 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -799,11 +799,11 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -853,11 +853,11 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mower", >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -923,11 +923,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -995,11 +995,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1105,11 +1105,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1132,11 +1132,11 @@ for ({ name = "noName", skill = "noSkill" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1160,11 +1160,11 @@ for ({ name = "noName", skill = "noSkill" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1206,11 +1206,11 @@ for ({ name = "noName", skill = "noSkill" } of [{ name: "mower", skill: "mowing >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1264,11 +1264,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1324,11 +1324,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1420,11 +1420,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types index 33cf0f09eeea0..978a8bccac0c3 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types @@ -70,11 +70,11 @@ function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -100,11 +100,11 @@ function foo2({ name: nameC, skills: { primary: primaryB, secondary: secondaryB >console.log(secondaryB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >secondaryB : string > : ^^^^^^ } @@ -112,21 +112,21 @@ function foo3({ skills }: Robot) { >foo3 : ({ skills }: Robot) => void > : ^ ^^ ^^^^^^^^^ >skills : { primary: string; secondary: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ console.log(skills.primary); >console.log(skills.primary) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skills.primary : string > : ^^^^^^ >skills : { primary: string; secondary: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >primary : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types index ddeb116d33d56..dc0af84bf16c9 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types @@ -96,11 +96,11 @@ function foo1( >console.log(primaryA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -156,11 +156,11 @@ function foo2( >console.log(secondaryB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >secondaryB : string > : ^^^^^^ } @@ -168,7 +168,7 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro >foo3 : ({ skills }?: Robot) => void > : ^ ^^^ ^^^^^^^^^ >skills : { primary?: string; secondary?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >{ primary: "SomeSkill", secondary: "someSkill" } : { primary: string; secondary: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >primary : string @@ -186,15 +186,15 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro >console.log(skills.primary) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skills.primary : string > : ^^^^^^ >skills : { primary?: string; secondary?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >primary : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types index 5b001a96d02ce..9fdb7fcd7b0b4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types @@ -52,11 +52,11 @@ function foo1({ name: nameA }: Robot) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -76,11 +76,11 @@ function foo2({ name: nameB, skill: skillB }: Robot) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -94,11 +94,11 @@ function foo3({ name }: Robot) { >console.log(name) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types index 5e7d4519dfa0c..935c9aecb9402 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types @@ -56,11 +56,11 @@ function foo1({ name: nameA = "" }: Robot = { }) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -86,11 +86,11 @@ function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = { >console.log(nameB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -108,11 +108,11 @@ function foo3({ name = "" }: Robot = {}) { >console.log(name) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types index 32d8ef0251366..52edb6fd0a0ab 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types @@ -38,11 +38,11 @@ function foo1([, nameA]: Robot) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -57,11 +57,11 @@ function foo2([numberB]: Robot) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -80,11 +80,11 @@ function foo3([numberA2, nameA2, skillA2]: Robot) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -101,11 +101,11 @@ function foo4([numberA3, ...robotAInfo]: Robot) { >console.log(robotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >robotAInfo : [string, string] > : ^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types index a5b37ca082c02..4de0b5be5819c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types @@ -40,11 +40,11 @@ function foo1([, skillA]: Robot) { >console.log(skillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA : [string, string] > : ^^^^^^^^^^^^^^^^ } @@ -59,11 +59,11 @@ function foo2([nameMB]: Robot) { >console.log(nameMB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMB : string > : ^^^^^^ } @@ -82,11 +82,11 @@ function foo3([nameMA, [primarySkillA, secondarySkillA]]: Robot) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -101,11 +101,11 @@ function foo4([...multiRobotAInfo]: Robot) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types index 394a41af2d10a..8f83f04f17c7a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types @@ -50,11 +50,11 @@ function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -83,11 +83,11 @@ function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -124,11 +124,11 @@ function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -159,11 +159,11 @@ function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { >console.log(robotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >robotAInfo : [string, string] > : ^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types index 81d836ec4404e..9fb722f961905 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types @@ -56,11 +56,11 @@ function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "s >console.log(skillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA : string[] > : ^^^^^^^^ } @@ -87,11 +87,11 @@ function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) { >console.log(nameMB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMB : string > : ^^^^^^ } @@ -128,11 +128,11 @@ function foo3([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types index 5d9eec570482f..3bf079b6ce082 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types @@ -106,11 +106,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } @@ -119,11 +119,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types index 57d027bc884f4..6563370699d86 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types @@ -228,11 +228,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } @@ -241,11 +241,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types index 46750a081730c..dc216bdd79ed8 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types @@ -112,11 +112,11 @@ if (nameA == nameA2) { >console.log(skillA2) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA2 : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types index 395d793b8fa66..acc986e9ddb5b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types @@ -117,11 +117,11 @@ if (nameMB == nameMA) { >console.log(skillA[0] + skillA[1]) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA[0] + skillA[1] : string > : ^^^^^^ >skillA[0] : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types index 1a1d64cc3feb5..362eee3615e45 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types @@ -484,11 +484,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types index 506e226f1a147..eee8a49adbcfb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types @@ -141,11 +141,11 @@ if (nameA == nameA2) { >console.log(skillA2) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA2 : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types index c13418a565c8f..741478f9b7e6b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types @@ -145,11 +145,11 @@ if (nameMB == nameMA) { >console.log(skillA[0] + skillA[1]) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA[0] + skillA[1] : string > : ^^^^^^ >skillA[0] : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types index 01df5fd1f2c17..b319dffea433d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types @@ -602,11 +602,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types index 0d2636402c348..6b997eb1c8ceb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types @@ -116,11 +116,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } @@ -129,11 +129,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types index de3a5b40a2f31..c8071130329e4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types @@ -152,11 +152,11 @@ if (nameB == nameB) { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } @@ -165,11 +165,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types index a2e3ec300e48c..f7f4218e1f454 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types @@ -231,11 +231,11 @@ if (nameB == nameB) { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } @@ -244,11 +244,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationFor.types b/tests/baselines/reference/sourceMapValidationFor.types index ed04a851d78d0..53b988718e826 100644 --- a/tests/baselines/reference/sourceMapValidationFor.types +++ b/tests/baselines/reference/sourceMapValidationFor.types @@ -21,11 +21,11 @@ for (var i = 0; i < 10; i++) { >WScript.Echo("i: " + i) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"i: " + i : string > : ^^^^^^ >"i: " : "i: " @@ -55,11 +55,11 @@ for (i = 0; i < 10; i++) >WScript.Echo("i: " + i) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"i: " + i : string > : ^^^^^^ >"i: " : "i: " diff --git a/tests/baselines/reference/sourceMapValidationForIn.types b/tests/baselines/reference/sourceMapValidationForIn.types index 79bf50a9c38cd..35818f64c25c4 100644 --- a/tests/baselines/reference/sourceMapValidationForIn.types +++ b/tests/baselines/reference/sourceMapValidationForIn.types @@ -11,11 +11,11 @@ for (var x in String) { >WScript.Echo(x) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ } @@ -29,11 +29,11 @@ for (x in String) { >WScript.Echo(x) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ } @@ -47,11 +47,11 @@ for (var x2 in String) >WScript.Echo(x2) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x2 : string > : ^^^^^^ } @@ -65,11 +65,11 @@ for (x in String) >WScript.Echo(x) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types index ca83e3d4cc462..07ecb36cc88c3 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types +++ b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types @@ -29,7 +29,7 @@ greet("Hello"); >greet("Hello") : number > : ^^^^^^ >greet : (greeting: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/sourceMapValidationStatements.types b/tests/baselines/reference/sourceMapValidationStatements.types index b416c7733c974..c81165c278048 100644 --- a/tests/baselines/reference/sourceMapValidationStatements.types +++ b/tests/baselines/reference/sourceMapValidationStatements.types @@ -411,7 +411,7 @@ function f() { >eval("y") : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"y" : "y" > : ^^^ diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types index ccae41b10c393..2911f8b23b94d 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types @@ -13,8 +13,8 @@ module M { } interface Navigator { getGamepads(func?: any): any; ->getGamepads : { (): Gamepad[]; (func?: any): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +>getGamepads : { (): (Gamepad | null)[]; (func?: any): any; } +> : ^^^^^^ ^^^ ^^^ ^^^ ^^^ >func : any webkitGetGamepads(func?: any): any diff --git a/tests/baselines/reference/specedNoStackBlown.types b/tests/baselines/reference/specedNoStackBlown.types index 684a5f9f0a64f..f84e448dd51ff 100644 --- a/tests/baselines/reference/specedNoStackBlown.types +++ b/tests/baselines/reference/specedNoStackBlown.types @@ -80,5 +80,5 @@ export type Result = {[key in keyof INPUT]: true | any[] | Resultspected : = SpecValue>(spec: SPEC, input: ROOTINPUT) => Result -> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/specializationError.types b/tests/baselines/reference/specializationError.types index de905a720d141..1ec5f160b60df 100644 --- a/tests/baselines/reference/specializationError.types +++ b/tests/baselines/reference/specializationError.types @@ -4,7 +4,7 @@ interface Promise { then(value: T): void; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (value: T): void; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >value : T > : ^ } @@ -12,13 +12,13 @@ interface Promise { interface Bar { bar(value: "Menu"): Promise; >bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } -> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : "Menu" > : ^^^^^^ bar(value: string, element: string): Promise; >bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ >element : string @@ -26,7 +26,7 @@ interface Bar { bar(value: string): Promise; >bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/specializationsShouldNotAffectEachOther.types b/tests/baselines/reference/specializationsShouldNotAffectEachOther.types index 7b0cd70a57e74..4084b3d86700f 100644 --- a/tests/baselines/reference/specializationsShouldNotAffectEachOther.types +++ b/tests/baselines/reference/specializationsShouldNotAffectEachOther.types @@ -31,11 +31,11 @@ function foo() { >series2.map(seriesExtent) : any[] > : ^^^^^ >series2.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >series2 : number[] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >seriesExtent : (series: any) => any > : ^ ^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ var keyExtent2: any[] = series.data.map(function (d: string) { return d; }); >series.data.map(function (d: string) { return d; }) : string[] > : ^^^^^^^^ >series.data.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >series.data : string[] > : ^^^^^^^^ >series : Series @@ -57,7 +57,7 @@ var keyExtent2: any[] = series.data.map(function (d: string) { return d; }); >data : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (d: string) { return d; } : (d: string) => string > : ^ ^^ ^^^^^^^^^^^ >d : string diff --git a/tests/baselines/reference/specializeVarArgs1.types b/tests/baselines/reference/specializeVarArgs1.types index 59b19d6ce8b7d..4a8cfd38f5bab 100644 --- a/tests/baselines/reference/specializeVarArgs1.types +++ b/tests/baselines/reference/specializeVarArgs1.types @@ -31,7 +31,7 @@ var a = observableArray(); >observableArray() : ObservableArray > : ^^^^^^^^^^^^^^^^^^^^^^^ >observableArray : () => ObservableArray -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ a.push('Some Value'); >a.push('Some Value') : any diff --git a/tests/baselines/reference/specializedOverloadWithRestParameters.types b/tests/baselines/reference/specializedOverloadWithRestParameters.types index 26311d484278b..a4ee8a63e0ca4 100644 --- a/tests/baselines/reference/specializedOverloadWithRestParameters.types +++ b/tests/baselines/reference/specializedOverloadWithRestParameters.types @@ -17,7 +17,7 @@ class Derived1 extends Base { bar() { } } function f(tagName: 'span', ...args): Derived1; // error >f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } -> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ >tagName : "span" > : ^^^^^^ >args : any[] @@ -25,7 +25,7 @@ function f(tagName: 'span', ...args): Derived1; // error function f(tagName: number, ...args): Base; >f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } -> : ^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ >tagName : number > : ^^^^^^ >args : any[] @@ -33,28 +33,28 @@ function f(tagName: number, ...args): Base; function f(tagName: any): Base { >f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } -> : ^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ >tagName : any return null; } function g(tagName: 'span', arg): Derived1; // error >g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >tagName : "span" > : ^^^^^^ >arg : any function g(tagName: number, arg): Base; >g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >tagName : number > : ^^^^^^ >arg : any function g(tagName: any): Base { >g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types index f69d32ea5a2f5..4db6bb86a7213 100644 --- a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types +++ b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types @@ -35,7 +35,7 @@ function x3(a: any, cb: (x: number) => number) { >cb(a) : number > : ^^^^^^ >cb : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types b/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types index cd21361940582..09726805eacc5 100644 --- a/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types +++ b/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types @@ -4,7 +4,7 @@ interface A { f(p: string): { [p: string]: string; }; >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : string @@ -12,7 +12,7 @@ interface A { f(p: "spec"): { [p: string]: any; } // Should be ok >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : string @@ -21,7 +21,7 @@ interface A { interface B { f(p: string): { [p: number]: string; }; >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : number @@ -29,7 +29,7 @@ interface B { f(p: "spec"): { [p: string]: any; } // Should be ok >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : string @@ -38,7 +38,7 @@ interface B { interface C { f(p: string): { [p: number]: string; }; >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : number @@ -46,7 +46,7 @@ interface C { f(p: "spec"): { [p: number]: any; } // Should be ok >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : number @@ -55,7 +55,7 @@ interface C { interface D { f(p: string): { [p: string]: string; }; >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : string @@ -63,7 +63,7 @@ interface D { f(p: "spec"): { [p: number]: any; } // Should be error >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : number diff --git a/tests/baselines/reference/specializedSignatureWithOptional.types b/tests/baselines/reference/specializedSignatureWithOptional.types index b10a93051c39c..1f4450016c063 100644 --- a/tests/baselines/reference/specializedSignatureWithOptional.types +++ b/tests/baselines/reference/specializedSignatureWithOptional.types @@ -3,13 +3,13 @@ === specializedSignatureWithOptional.ts === declare function f(x?: "hi"): void; >f : { (x?: "hi"): void; (x?: string): void; } -> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : "hi" > : ^^^^ declare function f(x?: string): void; >f : { (x?: "hi"): void; (x?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types b/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types index 4b98ab3a71880..792c440f43e59 100644 --- a/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types +++ b/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types @@ -15,7 +15,7 @@ a.___foo >a.___foo : any > : ^^^ >a : { __foo: 10; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >___foo : any > : ^^^ @@ -33,7 +33,7 @@ b = { >b = { ___foo: 100,} : { ___foo: number; } > : ^^^^^^^^^^^^^^^^^^^ >b : { __foo: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ___foo: 100,} : { ___foo: number; } > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/spellingUncheckedJS.types b/tests/baselines/reference/spellingUncheckedJS.types index a73f1e64702ff..a2149a9efc1d6 100644 --- a/tests/baselines/reference/spellingUncheckedJS.types +++ b/tests/baselines/reference/spellingUncheckedJS.types @@ -161,11 +161,11 @@ const atoc = setIntegral(() => console.log('ok'), 500) >console.log('ok') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'ok' : "ok" > : ^^^^ >500 : 500 diff --git a/tests/baselines/reference/spreadBooleanRespectsFreshness.types b/tests/baselines/reference/spreadBooleanRespectsFreshness.types index 3e653b98fa428..68289d8a47aaa 100644 --- a/tests/baselines/reference/spreadBooleanRespectsFreshness.types +++ b/tests/baselines/reference/spreadBooleanRespectsFreshness.types @@ -37,11 +37,11 @@ foo1 = [...Array.isArray(foo2) ? foo2 : [foo2]]; >Array.isArray(foo2) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : Foo > : ^^^ >foo2 : FooArray diff --git a/tests/baselines/reference/spreadContextualTypedBindingPattern.types b/tests/baselines/reference/spreadContextualTypedBindingPattern.types index 43589779564e8..4b778a626d469 100644 --- a/tests/baselines/reference/spreadContextualTypedBindingPattern.types +++ b/tests/baselines/reference/spreadContextualTypedBindingPattern.types @@ -27,7 +27,7 @@ const { naam, age } = {...bob, ...alice} >age : number > : ^^^^^^ >{...bob, ...alice} : { naam: string; age: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bob : Person > : ^^^^^^ >alice : Person diff --git a/tests/baselines/reference/spreadDuplicate.types b/tests/baselines/reference/spreadDuplicate.types index 6a98267681656..e36d1923ebc92 100644 --- a/tests/baselines/reference/spreadDuplicate.types +++ b/tests/baselines/reference/spreadDuplicate.types @@ -33,15 +33,15 @@ declare let t: boolean; let a1 = { a: 123, ...a }; // string (Error) >a1 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...a } : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let b1 = { a: 123, ...b }; // string | number >b1 : { a: string | number; } @@ -52,20 +52,20 @@ let b1 = { a: 123, ...b }; // string | number > : ^^^^^^ >123 : 123 > : ^^^ ->b : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b : { a?: string; } +> : ^^^^^^ ^^^ let c1 = { a: 123, ...c }; // string | undefined (Error) >c1 : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...c } : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let d1 = { a: 123, ...d }; // string | number >d1 : { a: string | number; } @@ -77,7 +77,7 @@ let d1 = { a: 123, ...d }; // string | number >123 : 123 > : ^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >a2 : { a: string | number; } @@ -89,13 +89,13 @@ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >123 : 123 > : ^^^ >(t ? a : {}) : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? a : {} : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -108,14 +108,14 @@ let b2 = { a: 123, ...(t ? b : {}) }; // string | number > : ^^^^^^ >123 : 123 > : ^^^ ->(t ? b : {}) : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->t ? b : {} : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(t ? b : {}) : { a?: string; } +> : ^^^^^^ ^^^ +>t ? b : {} : { a?: string; } +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ ->b : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b : { a?: string; } +> : ^^^^^^ ^^^ >{} : {} > : ^^ @@ -129,13 +129,13 @@ let c2 = { a: 123, ...(t ? c : {}) }; // string | number >123 : 123 > : ^^^ >(t ? c : {}) : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? c : {} : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -149,13 +149,13 @@ let d2 = { a: 123, ...(t ? d : {}) }; // string | number >123 : 123 > : ^^^ >(t ? d : {}) : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t ? d : {} : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/spreadDuplicateExact.types b/tests/baselines/reference/spreadDuplicateExact.types index e29a79875740b..aaea5b2bd5dfb 100644 --- a/tests/baselines/reference/spreadDuplicateExact.types +++ b/tests/baselines/reference/spreadDuplicateExact.types @@ -33,15 +33,15 @@ declare let t: boolean; let a1 = { a: 123, ...a }; // string (Error) >a1 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...a } : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let b1 = { a: 123, ...b }; // string | number >b1 : { a: string | number; } @@ -53,19 +53,19 @@ let b1 = { a: 123, ...b }; // string | number >123 : 123 > : ^^^ >b : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let c1 = { a: 123, ...c }; // string | undefined (Error) >c1 : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...c } : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let d1 = { a: 123, ...d }; // string | number | undefined >d1 : { a: string | number | undefined; } @@ -77,7 +77,7 @@ let d1 = { a: 123, ...d }; // string | number | undefined >123 : 123 > : ^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >a2 : { a: string | number; } @@ -89,13 +89,13 @@ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >123 : 123 > : ^^^ >(t ? a : {}) : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? a : {} : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -109,13 +109,13 @@ let b2 = { a: 123, ...(t ? b : {}) }; // string | number >123 : 123 > : ^^^ >(t ? b : {}) : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t ? b : {} : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ >b : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{} : {} > : ^^ @@ -129,13 +129,13 @@ let c2 = { a: 123, ...(t ? c : {}) }; // string | number | undefined >123 : 123 > : ^^^ >(t ? c : {}) : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? c : {} : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -149,13 +149,13 @@ let d2 = { a: 123, ...(t ? d : {}) }; // string | number | undefined >123 : 123 > : ^^^ >(t ? d : {}) : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t ? d : {} : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/spreadIdenticalTypesRemoved.types b/tests/baselines/reference/spreadIdenticalTypesRemoved.types index 7d16e388ae92c..dd9b91bb66a55 100644 --- a/tests/baselines/reference/spreadIdenticalTypesRemoved.types +++ b/tests/baselines/reference/spreadIdenticalTypesRemoved.types @@ -25,7 +25,7 @@ interface Animal { function clonePet(pet: Animal, fullCopy?: boolean) { >clonePet : (pet: Animal, fullCopy?: boolean) => { name: string; kind: string; age?: number | undefined; location?: string | undefined; owner?: object | undefined; } -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pet : Animal > : ^^^^^^ >fullCopy : boolean | undefined @@ -33,7 +33,7 @@ function clonePet(pet: Animal, fullCopy?: boolean) { return { >{ name: pet.name, kind: pet.kind, ...(fullCopy && pet), } : { name: string; kind: string; age?: number | undefined; location?: string | undefined; owner?: object | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ name: pet.name, >name : string @@ -77,14 +77,14 @@ interface Animal2 { > : ^^^^^^^^^^^^^^^^^^ } function billOwner(pet: Animal2) { ->billOwner : (pet: Animal2) => { paid: boolean; name?: string | undefined; owner?: string | undefined; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>billOwner : (pet: Animal2) => { paid: boolean; name?: string | undefined; owner?: string; } +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pet : Animal2 > : ^^^^^^^ return { ->{ ...(pet.owner && pet), paid: false } : { paid: boolean; name?: string | undefined; owner?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ ...(pet.owner && pet), paid: false } : { paid: boolean; name?: string | undefined; owner?: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ...(pet.owner && pet), >(pet.owner && pet) : "" | Animal2 | undefined diff --git a/tests/baselines/reference/spreadIntersection.types b/tests/baselines/reference/spreadIntersection.types index 4a29fe0d17b3e..6b56e1b50ed9f 100644 --- a/tests/baselines/reference/spreadIntersection.types +++ b/tests/baselines/reference/spreadIntersection.types @@ -19,11 +19,11 @@ var o1: { a: number, b: string }; var o1 = { ...intersection }; >o1 : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ ...intersection } : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >intersection : { a: number; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ var o2: { a: number, b: string, c: boolean }; >o2 : { a: number; b: string; c: boolean; } @@ -37,11 +37,11 @@ var o2: { a: number, b: string, c: boolean }; var o2 = { ...intersection, c: false }; >o2 : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...intersection, c: false } : { c: boolean; a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >intersection : { a: number; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >c : boolean > : ^^^^^^^ >false : false diff --git a/tests/baselines/reference/spreadInvalidArgumentType.types b/tests/baselines/reference/spreadInvalidArgumentType.types index 861421fc345f5..f600941b34698 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.types +++ b/tests/baselines/reference/spreadInvalidArgumentType.types @@ -105,10 +105,10 @@ function f(p1: T, p2: T[]) { > : ^ var o2 = { ...p2 }; // OK ->o2 : { [x: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ->{ ...p2 } : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ +>o2 : { [x: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T | undefined; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T | undefined; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^ ^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ +>{ ...p2 } : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T | undefined; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T | undefined; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^ ^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >p2 : T[] > : ^^^ @@ -154,11 +154,11 @@ function f(p1: T, p2: T[]) { var o8 = { ...union_generic }; // OK, union with generic type parameter >o8 : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...union_generic } : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >union_generic : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var o9 = { ...union_primitive }; // Error, union with generic type parameter >o9 : any @@ -166,15 +166,15 @@ function f(p1: T, p2: T[]) { >{ ...union_primitive } : any > : ^^^ >union_primitive : number | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ var o10 = { ...intersection_generic }; // OK, intersection with generic type parameter >o10 : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...intersection_generic } : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >intersection_generic : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var o11 = { ...intersection_primitive }; // Error, intersection with generic type parameter >o11 : any @@ -182,7 +182,7 @@ function f(p1: T, p2: T[]) { >{ ...intersection_primitive } : any > : ^^^ >intersection_primitive : string | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ var o12 = { ...num }; // Error >o12 : any diff --git a/tests/baselines/reference/spreadMethods.types b/tests/baselines/reference/spreadMethods.types index 8b91038e008e7..a246f69552e82 100644 --- a/tests/baselines/reference/spreadMethods.types +++ b/tests/baselines/reference/spreadMethods.types @@ -131,17 +131,17 @@ let i: I = { p: 12, m() { }, get g() { return 0; } }; let si = { ...i }; >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >{ ...i } : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >i : I > : ^ let ssi = { ...i, ...i }; >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >{ ...i, ...i } : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >i : I > : ^ >i : I @@ -151,7 +151,7 @@ si.p; >si.p : number > : ^^^^^^ >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >p : number > : ^^^^^^ @@ -159,17 +159,17 @@ si.m(); // ok >si.m() : void > : ^^^^ >si.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ si.g; // ok >si.g : number > : ^^^^^^ >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >g : number > : ^^^^^^ @@ -177,7 +177,7 @@ ssi.p; >ssi.p : number > : ^^^^^^ >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >p : number > : ^^^^^^ @@ -185,17 +185,17 @@ ssi.m(); // ok >ssi.m() : void > : ^^^^ >ssi.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ ssi.g; // ok >ssi.g : number > : ^^^^^^ >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >g : number > : ^^^^^^ diff --git a/tests/baselines/reference/spreadNonObject1.types b/tests/baselines/reference/spreadNonObject1.types index 136391bc8fcff..99aef7c6bc4e2 100644 --- a/tests/baselines/reference/spreadNonObject1.types +++ b/tests/baselines/reference/spreadNonObject1.types @@ -19,7 +19,7 @@ const b = { >(["4"] as S[]).map(function (s) { const a = { ...s, y: 6 }; }) : void[] > : ^^^^^^ >(["4"] as S[]).map : (callbackfn: (value: `${number}`, index: number, array: `${number}`[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(["4"] as S[]) : `${number}`[] > : ^^^^^^^^^^^^^ >["4"] as S[] : `${number}`[] @@ -29,7 +29,7 @@ const b = { >"4" : "4" > : ^^^ >map : (callbackfn: (value: `${number}`, index: number, array: `${number}`[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (s) { const a = { ...s, y: 6 }; } : (s: `${number}`) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >s : `${number}` diff --git a/tests/baselines/reference/spreadObjectOrFalsy.types b/tests/baselines/reference/spreadObjectOrFalsy.types index 69411ad4d3f16..a33ded1d33fb3 100644 --- a/tests/baselines/reference/spreadObjectOrFalsy.types +++ b/tests/baselines/reference/spreadObjectOrFalsy.types @@ -130,17 +130,17 @@ class Foo { >this.hasData() : boolean > : ^^^^^^^ >this.hasData : () => this is DatafulFoo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >hasData : () => this is DatafulFoo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this.data.toLocaleLowerCase(); >this.data.toLocaleLowerCase() : string > : ^^^^^^ >this.data.toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.data : T > : ^ >this : this & DatafulFoo @@ -148,7 +148,7 @@ class Foo { >data : T > : ^ >toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } hasData(): this is DatafulFoo { diff --git a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types index f1c1b3138e693..660e4d74b1545 100644 --- a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types @@ -21,157 +21,157 @@ declare const c: { x?: string | number | undefined }; const v_a = { ...a }; >v_a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_b = { ...b }; ->v_b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ ...b } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v_b : { x?: string | number; } +> : ^^^^^^ ^^^ +>{ ...b } : { x?: string | number; } +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_c = { ...c }; >v_c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ab = { ...a, ...b }; >v_ab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_ac = { ...a, ...c }; >v_ac : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...c } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ba = { ...b, ...a }; >v_ba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_bc = { ...b, ...c }; ->v_bc : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ ...b, ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v_bc : { x?: string | number; } +> : ^^^^^^ ^^^ +>{ ...b, ...c } : { x?: string | number; } +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ca = { ...c, ...a }; >v_ca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cb = { ...c, ...b }; >v_cb : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c, ...b } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_abc = { ...a, ...b, ...c }; >v_abc : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b, ...c } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_acb = { ...a, ...c, ...b }; >v_acb : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...c, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_bac = { ...b, ...a, ...c }; >v_bac : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...a, ...c } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_bca = { ...b, ...c, ...a }; >v_bca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cab = { ...c, ...a, ...b }; >v_cab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_cba = { ...c, ...b, ...a }; >v_cba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types index 1d2c22e7a37d9..02ae4bdc4a7c0 100644 --- a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types @@ -21,37 +21,37 @@ declare const c: { x?: string | number | undefined }; const v_a = { ...a }; >v_a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_b = { ...b }; >v_b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...b } : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_c = { ...c }; >v_c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ab = { ...a, ...b }; >v_ab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ac = { ...a, ...c }; >v_ac : { x: string | number | undefined; } @@ -59,49 +59,49 @@ const v_ac = { ...a, ...c }; >{ ...a, ...c } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ba = { ...b, ...a }; >v_ba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_bc = { ...b, ...c }; ->v_bc : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ ...b, ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v_bc : { x?: string | number; } +> : ^^^^^^ ^^^ +>{ ...b, ...c } : { x?: string | number; } +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ca = { ...c, ...a }; >v_ca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cb = { ...c, ...b }; >v_cb : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c, ...b } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_abc = { ...a, ...b, ...c }; >v_abc : { x: string | number | undefined; } @@ -109,11 +109,11 @@ const v_abc = { ...a, ...b, ...c }; >{ ...a, ...b, ...c } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_acb = { ...a, ...c, ...b }; >v_acb : { x: string | number | undefined; } @@ -121,11 +121,11 @@ const v_acb = { ...a, ...c, ...b }; >{ ...a, ...c, ...b } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_bac = { ...b, ...a, ...c }; >v_bac : { x: string | number | undefined; } @@ -133,45 +133,45 @@ const v_bac = { ...b, ...a, ...c }; >{ ...b, ...a, ...c } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_bca = { ...b, ...c, ...a }; >v_bca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cab = { ...c, ...a, ...b }; >v_cab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_cba = { ...c, ...b, ...a }; >v_cba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types b/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types index 6eae6a821c0c1..500f68537fdb4 100644 --- a/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types +++ b/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types @@ -21,7 +21,7 @@ call(function* (a: 'a') { }); // error, 2nd argument required >call(function* (a: 'a') { }) : any > : ^^^ >call : any>(fn: Fn, ...args: Parameters) => any -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >function* (a: 'a') { } : (a: "a") => {} > : ^ ^^ ^^^^^^^ >a : "a" diff --git a/tests/baselines/reference/spreadOverwritesProperty.types b/tests/baselines/reference/spreadOverwritesProperty.types index 523d345c22a18..34d3dbbb7e6fd 100644 --- a/tests/baselines/reference/spreadOverwritesProperty.types +++ b/tests/baselines/reference/spreadOverwritesProperty.types @@ -20,37 +20,37 @@ declare var abq: { a: number, b?: number }; var unused1 = { b: 1, ...ab } >unused1 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused2 = { ...ab, ...ab } >unused2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ ...ab, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused3 = { b: 1, ...abq } >unused3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...abq } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ >abq : { a: number; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ function g(obj: { x: number | undefined }) { >g : (obj: { x: number | undefined; }) => { x: number | undefined; } @@ -61,14 +61,14 @@ function g(obj: { x: number | undefined }) { > : ^^^^^^ return { x: 1, ...obj }; ->{ x: 1, ...obj } : { x: number; } -> : ^^^^^^^^^^^^^^ +>{ x: 1, ...obj } : { x: number | undefined; } +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ ->obj : { x: number; } -> : ^^^^^^^^^^^^^^ +>obj : { x: number | undefined; } +> : ^^^^^ ^^^ } function h(obj: { x: number }) { >h : (obj: { x: number; }) => { x: number; } @@ -80,12 +80,12 @@ function h(obj: { x: number }) { return { x: 1, ...obj }; >{ x: 1, ...obj } : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } diff --git a/tests/baselines/reference/spreadOverwritesPropertyStrict.types b/tests/baselines/reference/spreadOverwritesPropertyStrict.types index 9db1117793350..f1d67c6696f0a 100644 --- a/tests/baselines/reference/spreadOverwritesPropertyStrict.types +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.types @@ -19,45 +19,45 @@ declare var abq: { a: number, b?: number }; var unused1 = { b: 1, ...ab } // error >unused1 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused2 = { ...ab, ...ab } // ok, overwritten error doesn't apply to spreads >unused2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ ...ab, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused3 = { b: 1, ...abq } // ok, abq might have b: undefined >unused3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...abq } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ ->abq : { a: number; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>abq : { a: number; b?: number; } +> : ^^^^^ ^^^^^^ ^^^ var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten >unused4 : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...ab, b: 1 } : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 @@ -65,11 +65,11 @@ var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten var unused5 = { ...abq, b: 1 } // ok >unused5 : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...abq, b: 1 } : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->abq : { a: number; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ +>abq : { a: number; b?: number; } +> : ^^^^^ ^^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 @@ -85,13 +85,13 @@ function g(obj: { x: number | undefined }) { return { x: 1, ...obj }; // ok, obj might have x: undefined >{ x: 1, ...obj } : { x: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } function f(obj: { x: number } | undefined) { >f : (obj: { x: number; } | undefined) => { x: number; } @@ -103,13 +103,13 @@ function f(obj: { x: number } | undefined) { return { x: 1, ...obj }; // ok, obj might be undefined >{ x: 1, ...obj } : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ } function h(obj: { x: number } | { x: string }) { >h : (obj: { x: number; } | { x: string; }) => { x: number; } | { x: string; } @@ -123,13 +123,13 @@ function h(obj: { x: number } | { x: string }) { return { x: 1, ...obj } // error >{ x: 1, ...obj } : { x: number; } | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number; } | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } function i(b: boolean, t: { command: string, ok: string }) { >i : (b: boolean, t: { command: string; ok: string; }) => { command: string; ok?: string | undefined; } @@ -145,19 +145,19 @@ function i(b: boolean, t: { command: string, ok: string }) { return { command: "hi", ...(b ? t : {}) } // ok >{ command: "hi", ...(b ? t : {}) } : { command: string; ok?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >command : string > : ^^^^^^ >"hi" : "hi" > : ^^^^ >(b ? t : {}) : { command: string; ok: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ >b ? t : {} : { command: string; ok: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ >b : boolean > : ^^^^^^^ >t : { command: string; ok: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^ >{} : {} > : ^^ } @@ -193,7 +193,7 @@ function k(t: { command: string, ok: string }) { return { command: "hi", ...{ spoiler: true }, spoiler2: true, ...t } // error >{ command: "hi", ...{ spoiler: true }, spoiler2: true, ...t } : { command: string; ok: string; spoiler2: boolean; spoiler: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >command : string > : ^^^^^^ >"hi" : "hi" @@ -209,7 +209,7 @@ function k(t: { command: string, ok: string }) { >true : true > : ^^^^ >t : { command: string; ok: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^ } function l(anyrequired: { a: any }) { @@ -222,13 +222,13 @@ function l(anyrequired: { a: any }) { return { a: 'zzz', ...anyrequired } // error >{ a: 'zzz', ...anyrequired } : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >'zzz' : "zzz" > : ^^^^^ >anyrequired : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ } function m(anyoptional: { a?: any }) { >m : (anyoptional: { a?: any; }) => { a: any; } @@ -240,13 +240,13 @@ function m(anyoptional: { a?: any }) { return { a: 'zzz', ...anyoptional } // ok >{ a: 'zzz', ...anyoptional } : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >'zzz' : "zzz" > : ^^^^^ >anyoptional : { a?: any; } -> : ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } diff --git a/tests/baselines/reference/spreadTypeRemovesReadonly.types b/tests/baselines/reference/spreadTypeRemovesReadonly.types index d0913d47a49e7..1f78ec19e52e7 100644 --- a/tests/baselines/reference/spreadTypeRemovesReadonly.types +++ b/tests/baselines/reference/spreadTypeRemovesReadonly.types @@ -19,9 +19,9 @@ const data: ReadonlyData = { value: 'foo' }; const clone = { ...data }; >clone : { value: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...data } : { value: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >data : ReadonlyData > : ^^^^^^^^^^^^ @@ -31,7 +31,7 @@ clone.value = 'bar'; >clone.value : string > : ^^^^^^ >clone : { value: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >value : string > : ^^^^^^ >'bar' : "bar" diff --git a/tests/baselines/reference/spreadUnion.types b/tests/baselines/reference/spreadUnion.types index 7e02f549918d4..ca1d3ba57fab7 100644 --- a/tests/baselines/reference/spreadUnion.types +++ b/tests/baselines/reference/spreadUnion.types @@ -19,11 +19,11 @@ var o3: { a: number } | { b: string }; var o3 = { ...union }; >o3 : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >{ ...union } : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ var o4: { a: boolean } | { b: string , a: boolean}; >o4 : { a: boolean; } | { b: string; a: boolean; } @@ -37,11 +37,11 @@ var o4: { a: boolean } | { b: string , a: boolean}; var o4 = { ...union, a: false }; >o4 : { a: boolean; } | { b: string; a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...union, a: false } : { a: boolean; } | { a: boolean; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : boolean > : ^^^^^^^ >false : false @@ -61,11 +61,11 @@ var o5: { a: number } | { b: string } | { a: number, b: string }; var o5 = { ...union, ...union }; >o5 : { a: number; } | { b: string; } | { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...union, ...union } : { a: number; } | { b: string; a: number; } | { a: number; b: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadUnion2.types b/tests/baselines/reference/spreadUnion2.types index c7a7bd278d977..d27cfe6d5e0b5 100644 --- a/tests/baselines/reference/spreadUnion2.types +++ b/tests/baselines/reference/spreadUnion2.types @@ -21,11 +21,11 @@ var o1: {} | { a: number }; var o1 = { ...undefinedUnion }; >o1 : {} | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...undefinedUnion } : { a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ var o2: {} | { b: number }; >o2 : {} | { b: number; } @@ -35,11 +35,11 @@ var o2: {} | { b: number }; var o2 = { ...nullUnion }; >o2 : {} | { b: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...nullUnion } : { b?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ var o3: {} | { a: number } | { b: number } | { a: number, b: number }; >o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; } @@ -55,23 +55,23 @@ var o3: {} | { a: number } | { b: number } | { a: number, b: number }; var o3 = { ...undefinedUnion, ...nullUnion }; >o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...undefinedUnion, ...nullUnion } : { b?: number | undefined; a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ var o3 = { ...nullUnion, ...undefinedUnion }; >o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...nullUnion, ...undefinedUnion } : { a?: number | undefined; b?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ var o4: {} | { a: number }; >o4 : {} | { a: number; } @@ -81,13 +81,13 @@ var o4: {} | { a: number }; var o4 = { ...undefinedUnion, ...undefinedUnion }; >o4 : {} | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...undefinedUnion, ...undefinedUnion } : { a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ var o5: {} | { b: number }; >o5 : {} | { b: number; } @@ -97,12 +97,12 @@ var o5: {} | { b: number }; var o5 = { ...nullUnion, ...nullUnion }; >o5 : {} | { b: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...nullUnion, ...nullUnion } : { b?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/spreadUnion3.types b/tests/baselines/reference/spreadUnion3.types index 64d8acf275598..007e530937fed 100644 --- a/tests/baselines/reference/spreadUnion3.types +++ b/tests/baselines/reference/spreadUnion3.types @@ -19,13 +19,13 @@ function f(x: { y: string } | undefined): { y: string } { >123 : 123 > : ^^^ >x : { y: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ } f(undefined) >f(undefined) : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : (x: { y: string; } | undefined) => { y: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -44,7 +44,7 @@ function g(t?: { a: number } | null): void { >{ ...t } : { a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t : { a: number; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ let c: number = b.a; // might not have 'a' >c : number @@ -60,13 +60,13 @@ g() >g() : void > : ^^^^ >g : (t?: { a: number; } | null) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ g(undefined) >g(undefined) : void > : ^^^^ >g : (t?: { a: number; } | null) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -74,7 +74,7 @@ g(null) >g(null) : void > : ^^^^ >g : (t?: { a: number; } | null) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ // spreading nothing but null and undefined is not allowed declare const nullAndUndefinedUnion: null | undefined; diff --git a/tests/baselines/reference/spreadUnion4.types b/tests/baselines/reference/spreadUnion4.types index d895a0fbaa166..bb3427c400338 100644 --- a/tests/baselines/reference/spreadUnion4.types +++ b/tests/baselines/reference/spreadUnion4.types @@ -15,11 +15,11 @@ declare const b: { x?: () => void } const c = { ...a, ...b }; >c : { x: () => void; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b } : { x: () => void; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: () => void; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: () => void; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadsAndContextualTupleTypes.types b/tests/baselines/reference/spreadsAndContextualTupleTypes.types index 160308c486044..a7e2d9aec9a77 100644 --- a/tests/baselines/reference/spreadsAndContextualTupleTypes.types +++ b/tests/baselines/reference/spreadsAndContextualTupleTypes.types @@ -31,7 +31,7 @@ fx1(['x', 'y', 'z', 'a']); >fx1(['x', 'y', 'z', 'a']) : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fx1 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >['x', 'y', 'z', 'a'] : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'x' : "x" @@ -47,7 +47,7 @@ fx1([...t3, 'a']); >fx1([...t3, 'a']) : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >fx1 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[...t3, 'a'] : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >...t3 : "x" | "y" | "z" @@ -61,7 +61,7 @@ fx2(['x', 'y', 'z', 'a']); >fx2(['x', 'y', 'z', 'a']) : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fx2 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >['x', 'y', 'z', 'a'] : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'x' : "x" @@ -77,7 +77,7 @@ fx2([...t3, 'a']); >fx2([...t3, 'a']) : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >fx2 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[...t3, 'a'] : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >...t3 : "x" | "y" | "z" @@ -175,7 +175,7 @@ const a1 = foo([...staticPath1Level, randomID, 'doc.pdf']); >foo([...staticPath1Level, randomID, 'doc.pdf']) : readonly ["home", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'doc.pdf'] : ["home", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -193,7 +193,7 @@ const a2 = foo([...staticPath2Level, randomID, 'doc.pdf']); >foo([...staticPath2Level, randomID, 'doc.pdf']) : readonly ["home", "user", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'doc.pdf'] : ["home", "user", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -211,7 +211,7 @@ const a3 = foo([...staticPath3Level, randomID, 'doc.pdf']); >foo([...staticPath3Level, randomID, 'doc.pdf']) : readonly ["home", "user", "downloads", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'doc.pdf'] : ["home", "user", "downloads", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" @@ -229,7 +229,7 @@ const b1 = foo([...staticPath1Level, randomID, 'folder', 'doc.pdf']); >foo([...staticPath1Level, randomID, 'folder', 'doc.pdf']) : readonly ["home", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'folder', 'doc.pdf'] : ["home", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -249,7 +249,7 @@ const b2 = foo([...staticPath2Level, randomID, 'folder', 'doc.pdf']); >foo([...staticPath2Level, randomID, 'folder', 'doc.pdf']) : readonly ["home", "user", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'folder', 'doc.pdf'] : ["home", "user", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -269,7 +269,7 @@ const b3 = foo([...staticPath3Level, randomID, 'folder', 'doc.pdf']); >foo([...staticPath3Level, randomID, 'folder', 'doc.pdf']) : readonly ["home", "user", "downloads", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'folder', 'doc.pdf'] : ["home", "user", "downloads", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" @@ -289,7 +289,7 @@ const c1 = foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'doc.pdf'] >foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'doc.pdf']) : readonly ["home", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'folder', 'subfolder', 'doc.pdf'] : ["home", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -311,7 +311,7 @@ const c2 = foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'doc.pdf'] >foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'doc.pdf']) : readonly ["home", "user", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'folder', 'subfolder', 'doc.pdf'] : ["home", "user", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -333,7 +333,7 @@ const c3 = foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'doc.pdf'] >foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'doc.pdf']) : readonly ["home", "user", "downloads", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'folder', 'subfolder', 'doc.pdf'] : ["home", "user", "downloads", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" @@ -355,7 +355,7 @@ const d1 = foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'another-s >foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf']) : readonly ["home", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf'] : ["home", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -379,7 +379,7 @@ const d2 = foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'another-s >foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf']) : readonly ["home", "user", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf'] : ["home", "user", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -403,7 +403,7 @@ const d3 = foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'another-s >foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf']) : readonly ["home", "user", "downloads", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf'] : ["home", "user", "downloads", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" diff --git a/tests/baselines/reference/spyComparisonChecking.types b/tests/baselines/reference/spyComparisonChecking.types index 682babc8a4cc6..8d8860d18545b 100644 --- a/tests/baselines/reference/spyComparisonChecking.types +++ b/tests/baselines/reference/spyComparisonChecking.types @@ -56,7 +56,7 @@ function mock(spyName: string, methodNames: Array): SpyObj { >createSpyObj(spyName, methodNames) : SpyObj > : ^^^^^^^^^ >createSpyObj : (name: string, names: Array) => SpyObj -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >spyName : string > : ^^^^^^ >methodNames : (keyof T)[] diff --git a/tests/baselines/reference/stackDepthLimitCastingType.types b/tests/baselines/reference/stackDepthLimitCastingType.types index 8ef2fa68acc92..5d0bf5c16487b 100644 --- a/tests/baselines/reference/stackDepthLimitCastingType.types +++ b/tests/baselines/reference/stackDepthLimitCastingType.types @@ -104,10 +104,10 @@ hoge.fetch(null as any); >hoge.fetch(null as any) : JQueryXHR > : ^^^^^^^^^ >hoge.fetch : (options?: any) => JQueryXHR -> : ^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >hoge : Backbone.ModelWithCache > : ^^^^^^^^^^^^^^^^^^^^^^^ >fetch : (options?: any) => JQueryXHR -> : ^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >null as any : any diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index bdf69cdbe81a9..4eab51e9e65d4 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -54,11 +54,11 @@ class ListWrapper2 { >array.slice(0) : T[] > : ^^^ >array.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >0 : 0 > : ^ @@ -78,11 +78,11 @@ class ListWrapper2 { >ListWrapper2.clone(dit, array) : T[] > : ^^^ >ListWrapper2.clone : (dit: typeof ListWrapper2, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper2 : typeof ListWrapper2 > : ^^^^^^^^^^^^^^^^^^^ >clone : (dit: typeof ListWrapper2, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >dit : typeof ListWrapper2 > : ^^^^^^^^^^^^^^^^^^^ >array : T[] @@ -148,7 +148,7 @@ namespace tessst { >callback(array[i], i) : U > : ^ >callback : (element: T, index: number) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >array[i] : T > : ^ >array : T[] @@ -234,11 +234,11 @@ class ListWrapper { >array.slice(0) : T[] > : ^^^ >array.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >0 : 0 > : ^ @@ -282,7 +282,7 @@ class ListWrapper { >fn(array[i], i) : void > : ^^^^ >fn : (t: T, n: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >array[i] : T > : ^ >array : T[] @@ -381,11 +381,11 @@ class ListWrapper { >array.indexOf(value, startIndex) : number > : ^^^^^^ >array.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >array : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >value : T > : ^ >startIndex : number @@ -407,11 +407,11 @@ class ListWrapper { >list.indexOf(el) : number > : ^^^^^^ >list.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >list : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >el : T > : ^ >-1 : -1 @@ -435,11 +435,11 @@ class ListWrapper { >ListWrapper.clone(dit, array) : T[] > : ^^^ >ListWrapper.clone : (dit: typeof ListWrapper, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >clone : (dit: typeof ListWrapper, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >dit : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >array : T[] @@ -453,11 +453,11 @@ class ListWrapper { >scanner.scanRange(3, 5, () => { }) : void > : ^^^^ >scanner.scanRange : (start: number, length: number, callback: () => T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scanner : Scanner > : ^^^^^^^ >scanRange : (start: number, length: number, callback: () => T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >5 : 5 @@ -471,11 +471,11 @@ class ListWrapper { >tessst.funkyFor(array, t => t.toString()) : string > : ^^^^^^ >tessst.funkyFor : (array: T_1[], callback: (element: T_1, index: number) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >tessst : typeof tessst > : ^^^^^^^^^^^^^ >funkyFor : (array: T_1[], callback: (element: T_1, index: number) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >array : T[] > : ^^^ >t => t.toString() : (t: T) => string @@ -485,19 +485,19 @@ class ListWrapper { >t.toString() : string > : ^^^^^^ >t.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.reverse() : T[] > : ^^^ >a.reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >a : T[] > : ^^^ >reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >a : T[] > : ^^^ } @@ -515,11 +515,11 @@ class ListWrapper { >a.concat(b) : any[] > : ^^^^^ >a.concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >a : any[] > : ^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >b : any[] > : ^^^^^ @@ -539,11 +539,11 @@ class ListWrapper { >list.splice(index, 0, value) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >0 : 0 @@ -577,11 +577,11 @@ class ListWrapper { >list.splice(index, 1) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >1 : 1 @@ -629,11 +629,11 @@ class ListWrapper { >list.indexOf(items[i]) : number > : ^^^^^^ >list.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >list : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >items[i] : T > : ^ >items : T[] @@ -645,11 +645,11 @@ class ListWrapper { >list.splice(index, 1) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >1 : 1 @@ -674,11 +674,11 @@ class ListWrapper { >list.indexOf(el) : number > : ^^^^^^ >list.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >list : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >el : T > : ^ @@ -696,11 +696,11 @@ class ListWrapper { >list.splice(index, 1) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >1 : 1 @@ -775,11 +775,11 @@ class ListWrapper { >list.fill(value, start, end === null ? list.length : end) : void > : ^^^^ >list.fill : (value: any, start: number, end: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : any[] > : ^^^^^ >fill : (value: any, start: number, end: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : any >start : number > : ^^^^^^ @@ -888,11 +888,11 @@ class ListWrapper { >l.slice(from, to === null ? undefined : to) : T[] > : ^^^ >l.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >l : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >from : number > : ^^^^^^ >to === null ? undefined : to : number @@ -922,11 +922,11 @@ class ListWrapper { >l.splice(from, length) : T[] > : ^^^ >l.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >l : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >from : number > : ^^^^^^ >length : number @@ -952,32 +952,32 @@ class ListWrapper { >isPresent(compareFn) : boolean > : ^^^^^^^ >isPresent : (compareFn?: (a: T_1, b: T_1) => number) => boolean -> : ^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >compareFn : (a: T, b: T) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ l.sort(compareFn); >l.sort(compareFn) : T[] > : ^^^ >l.sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >l : T[] > : ^^^ >sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >compareFn : (a: T, b: T) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } else { l.sort(); >l.sort() : T[] > : ^^^ >l.sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >l : T[] > : ^^^ >sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ } } static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } @@ -992,11 +992,11 @@ class ListWrapper { >l.toString() : string > : ^^^^^^ >l.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >l : T[] > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } >toJSON : (dit: typeof ListWrapper, l: T[]) => string @@ -1010,11 +1010,11 @@ class ListWrapper { >JSON.stringify(l) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >l : T[] > : ^^^ @@ -1092,7 +1092,7 @@ class ListWrapper { >isBlank(candidate) : boolean > : ^^^^^^^ >isBlank : (x: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >candidate : T > : ^ @@ -1104,7 +1104,7 @@ class ListWrapper { >predicate(candidate) : number > : ^^^^^^ >predicate : (t: T) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >candidate : T > : ^ @@ -1144,11 +1144,11 @@ let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); >ListWrapper.clone(ListWrapper, [1,2,3,4]) : number[] > : ^^^^^^^^ >ListWrapper.clone : (dit: typeof ListWrapper, array: T[]) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >clone : (dit: typeof ListWrapper, array: T[]) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >[1,2,3,4] : number[] diff --git a/tests/baselines/reference/staticFieldWithInterfaceContext.types b/tests/baselines/reference/staticFieldWithInterfaceContext.types index b76e10f3edb74..33e959ec5b630 100644 --- a/tests/baselines/reference/staticFieldWithInterfaceContext.types +++ b/tests/baselines/reference/staticFieldWithInterfaceContext.types @@ -30,11 +30,11 @@ c.x = { a: "a" }; >c.x = { a: "a" } : { a: "a"; } > : ^^^^^^^^^^^ >c.x : { a: "a"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : I > : ^ >x : { a: "a"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: "a" } : { a: "a"; } > : ^^^^^^^^^^^ >a : "a" @@ -68,7 +68,7 @@ c[ex] = { a: "a" }; >c[ex] = { a: "a" } : { a: "a"; } > : ^^^^^^^^^^^ >c[ex] : { a: "a"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : I > : ^ >ex : "x" diff --git a/tests/baselines/reference/staticInstanceResolution2.types b/tests/baselines/reference/staticInstanceResolution2.types index 3dab8fd4f295e..d9b5f3708a105 100644 --- a/tests/baselines/reference/staticInstanceResolution2.types +++ b/tests/baselines/reference/staticInstanceResolution2.types @@ -9,11 +9,11 @@ A.hasOwnProperty('foo'); >A.hasOwnProperty('foo') : boolean > : ^^^^^^^ >A.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A : typeof A > : ^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ @@ -27,11 +27,11 @@ B.hasOwnProperty('foo'); >B.hasOwnProperty('foo') : boolean > : ^^^^^^^ >B.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >B : typeof B > : ^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types b/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types index ccf648b74e2c6..b672a7c564e87 100644 --- a/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types +++ b/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types @@ -32,11 +32,11 @@ class C { >C.bar = () => { } : () => void > : ^^^^^^^^^^ >C.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ @@ -44,11 +44,11 @@ class C { >C.bar = (x) => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >C.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -60,11 +60,11 @@ class C { >C.bar = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >C.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/strictBindCallApply1.types b/tests/baselines/reference/strictBindCallApply1.types index 87cbb9418884b..2ffde731ad948 100644 --- a/tests/baselines/reference/strictBindCallApply1.types +++ b/tests/baselines/reference/strictBindCallApply1.types @@ -11,13 +11,13 @@ declare function foo(a: number, b: string): string; declare function overloaded(s: string): number; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ declare function overloaded(n: number): string; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ @@ -29,15 +29,15 @@ declare function generic(x: T): T; let f00 = foo.bind(undefined); >f00 : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo.bind(undefined) : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -47,11 +47,11 @@ let f01 = foo.bind(undefined, 10); >foo.bind(undefined, 10) : (b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^ >foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -63,11 +63,11 @@ let f02 = foo.bind(undefined, 10, "hello"); >foo.bind(undefined, 10, "hello") : () => string > : ^^^^^^^^^^^^ >foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -81,11 +81,11 @@ let f03 = foo.bind(undefined, 10, 20); // Error >foo.bind(undefined, 10, 20) : () => string > : ^^^^^^^^^^^^ >foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -95,29 +95,29 @@ let f03 = foo.bind(undefined, 10, 20); // Error let f04 = overloaded.bind(undefined); // typeof overloaded >f04 : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >overloaded.bind(undefined) : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ let f05 = generic.bind(undefined); // typeof generic >f05 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >generic.bind(undefined) : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >generic : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -127,11 +127,11 @@ let c00 = foo.call(undefined, 10, "hello"); >foo.call(undefined, 10, "hello") : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -145,11 +145,11 @@ let c01 = foo.call(undefined, 10); // Error >foo.call(undefined, 10) : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -161,11 +161,11 @@ let c02 = foo.call(undefined, 10, 20); // Error >foo.call(undefined, 10, 20) : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -179,11 +179,11 @@ let c03 = foo.call(undefined, 10, "hello", 30); // Error >foo.call(undefined, 10, "hello", 30) : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -199,11 +199,11 @@ let a00 = foo.apply(undefined, [10, "hello"]); >foo.apply(undefined, [10, "hello"]) : string > : ^^^^^^ >foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, "hello"] : [number, string] @@ -219,11 +219,11 @@ let a01 = foo.apply(undefined, [10]); // Error >foo.apply(undefined, [10]) : string > : ^^^^^^ >foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10] : [number] @@ -237,11 +237,11 @@ let a02 = foo.apply(undefined, [10, 20]); // Error >foo.apply(undefined, [10, 20]) : string > : ^^^^^^ >foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, 20] : [number, number] @@ -257,11 +257,11 @@ let a03 = foo.apply(undefined, [10, "hello", 30]); // Error >foo.apply(undefined, [10, "hello", 30]) : string > : ^^^^^^ >foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, "hello", 30] : [number, string, number] @@ -297,19 +297,19 @@ class C { overloaded(s: string): number; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ overloaded(n: number): string; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ overloaded(x: any): any { return undefined } >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ >undefined : any @@ -340,15 +340,15 @@ let f10 = c.foo.bind(c); >c.foo.bind(c) : (a: number, b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ @@ -358,15 +358,15 @@ let f11 = c.foo.bind(c, 10); >c.foo.bind(c, 10) : (b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^ >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >10 : 10 @@ -378,15 +378,15 @@ let f12 = c.foo.bind(c, 10, "hello"); >c.foo.bind(c, 10, "hello") : () => string > : ^^^^^^^^^^^^ >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >10 : 10 @@ -400,15 +400,15 @@ let f13 = c.foo.bind(c, 10, 20); // Error >c.foo.bind(c, 10, 20) : () => string > : ^^^^^^^^^^^^ >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >10 : 10 @@ -422,51 +422,51 @@ let f14 = c.foo.bind(undefined); // Error >c.foo.bind(undefined) : (a: number, b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ let f15 = c.overloaded.bind(c); // typeof C.prototype.overloaded >f15 : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.overloaded.bind(c) : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ let f16 = c.generic.bind(c); // typeof C.prototype.generic >f16 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c.generic.bind(c) : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c.generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.generic : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c : C > : ^ >generic : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ @@ -476,15 +476,15 @@ let c10 = c.foo.call(c, 10, "hello"); >c.foo.call(c, 10, "hello") : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -498,15 +498,15 @@ let c11 = c.foo.call(c, 10); // Error >c.foo.call(c, 10) : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -518,15 +518,15 @@ let c12 = c.foo.call(c, 10, 20); // Error >c.foo.call(c, 10, 20) : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -540,15 +540,15 @@ let c13 = c.foo.call(c, 10, "hello", 30); // Error >c.foo.call(c, 10, "hello", 30) : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -564,15 +564,15 @@ let c14 = c.foo.call(undefined, 10, "hello"); // Error >c.foo.call(undefined, 10, "hello") : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -586,15 +586,15 @@ let a10 = c.foo.apply(c, [10, "hello"]); >c.foo.apply(c, [10, "hello"]) : string > : ^^^^^^ >c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello"] : [number, string] @@ -610,15 +610,15 @@ let a11 = c.foo.apply(c, [10]); // Error >c.foo.apply(c, [10]) : string > : ^^^^^^ >c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10] : [number] @@ -632,15 +632,15 @@ let a12 = c.foo.apply(c, [10, 20]); // Error >c.foo.apply(c, [10, 20]) : string > : ^^^^^^ >c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, 20] : [number, number] @@ -656,15 +656,15 @@ let a13 = c.foo.apply(c, [10, "hello", 30]); // Error >c.foo.apply(c, [10, "hello", 30]) : string > : ^^^^^^ >c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello", 30] : [number, string, number] @@ -682,15 +682,15 @@ let a14 = c.foo.apply(undefined, [10, "hello"]); // Error >c.foo.apply(undefined, [10, "hello"]) : string > : ^^^^^^ >c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, "hello"] : [number, string] @@ -706,11 +706,11 @@ let f20 = C.bind(undefined); >C.bind(undefined) : typeof C > : ^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -720,11 +720,11 @@ let f21 = C.bind(undefined, 10); >C.bind(undefined, 10) : new (b: string) => C > : ^^^^^^^^^^^^^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -736,11 +736,11 @@ let f22 = C.bind(undefined, 10, "hello"); >C.bind(undefined, 10, "hello") : new () => C > : ^^^^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -754,11 +754,11 @@ let f23 = C.bind(undefined, 10, 20); // Error >C.bind(undefined, 10, 20) : new () => C > : ^^^^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -770,11 +770,11 @@ C.call(c, 10, "hello"); >C.call(c, 10, "hello") : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -786,11 +786,11 @@ C.call(c, 10); // Error >C.call(c, 10) : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -800,11 +800,11 @@ C.call(c, 10, 20); // Error >C.call(c, 10, 20) : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -816,11 +816,11 @@ C.call(c, 10, "hello", 30); // Error >C.call(c, 10, "hello", 30) : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -834,11 +834,11 @@ C.apply(c, [10, "hello"]); >C.apply(c, [10, "hello"]) : void > : ^^^^ >C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello"] : [number, string] @@ -852,11 +852,11 @@ C.apply(c, [10]); // Error >C.apply(c, [10]) : void > : ^^^^ >C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10] : [number] @@ -868,11 +868,11 @@ C.apply(c, [10, 20]); // Error >C.apply(c, [10, 20]) : void > : ^^^^ >C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, 20] : [number, number] @@ -886,11 +886,11 @@ C.apply(c, [10, "hello", 30]); // Error >C.apply(c, [10, "hello", 30]) : void > : ^^^^ >C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello", 30] : [number, string, number] @@ -916,11 +916,11 @@ function bar(callback: (this: 1, ...args: T) => void) { >callback.bind(1) : (...args: T) => void > : ^^^^ ^^^^^^^^^^^^ >callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -928,11 +928,11 @@ function bar(callback: (this: 1, ...args: T) => void) { >callback.bind(2) : (...args: T) => void > : ^^^^ ^^^^^^^^^^^^ >callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ } @@ -951,11 +951,11 @@ function baz(callback: (this: 1, ...args: T extends 1 ? [unknow >callback.bind(1) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -963,11 +963,11 @@ function baz(callback: (this: 1, ...args: T extends 1 ? [unknow >callback.bind(2) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ } @@ -980,17 +980,17 @@ class Foo { constructor() { this.fn.bind(this); >this.fn.bind(this) : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this.fn : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ >fn : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ } @@ -1011,7 +1011,7 @@ class Bar { >this.fn.bind(this) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^ ^^^^^^^^^ >this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this.fn : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^ ^^^^^^^^^ >this : this @@ -1019,7 +1019,7 @@ class Bar { >fn : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^ ^^^^^^^^^ >bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/strictBindCallApply2.types b/tests/baselines/reference/strictBindCallApply2.types index af0d9bae1c1c0..ca6d694a05be2 100644 --- a/tests/baselines/reference/strictBindCallApply2.types +++ b/tests/baselines/reference/strictBindCallApply2.types @@ -25,11 +25,11 @@ const fb = fn.bind({ blub: "blub" }); >fn.bind({ blub: "blub" }) : () => void > : ^^^^^^^^^^ >fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >fn : (this: Foo) => void > : ^ ^^ ^^^^^^^^^ >bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{ blub: "blub" } : { blub: string; } > : ^^^^^^^^^^^^^^^^^ >blub : string diff --git a/tests/baselines/reference/strictFunctionTypes1.types b/tests/baselines/reference/strictFunctionTypes1.types index 3084ba1196c6a..e14e8da1b8fd0 100644 --- a/tests/baselines/reference/strictFunctionTypes1.types +++ b/tests/baselines/reference/strictFunctionTypes1.types @@ -79,15 +79,15 @@ declare function fx(f: (x: "def") => void): void; const x1 = f1(fo, fs); // (x: string) => void >x1 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >f1(fo, fs) : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >f1 : (f1: (x: T) => void, f2: (x: T) => void) => (x: T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x2 = f2("abc", fo, fs); // "abc" >x2 : "abc" @@ -95,13 +95,13 @@ const x2 = f2("abc", fo, fs); // "abc" >f2("abc", fo, fs) : "abc" > : ^^^^^ >f2 : (obj: T, f1: (x: T) => void, f2: (x: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x3 = f3("abc", fo, fx); // "abc" | "def" >x3 : "def" | "abc" @@ -109,13 +109,13 @@ const x3 = f3("abc", fo, fx); // "abc" | "def" >f3("abc", fo, fx) : "def" | "abc" > : ^^^^^^^^^^^^^ >f3 : (obj: T, f1: (x: T) => void, f2: (f: (x: T) => void) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fx : (f: (x: "def") => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x4 = f4(fo, fs); // Func >x4 : Func @@ -123,11 +123,11 @@ const x4 = f4(fo, fs); // Func >f4(fo, fs) : Func > : ^^^^^^^^^^^^ >f4 : (f1: Func, f2: Func) => Func -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare const never: never; >never : never @@ -139,13 +139,13 @@ const x10 = f2(never, fo, fs); // string >f2(never, fo, fs) : string > : ^^^^^^ >f2 : (obj: T, f1: (x: T) => void, f2: (x: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >never : never > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x11 = f3(never, fo, fx); // "def" >x11 : "def" @@ -153,13 +153,13 @@ const x11 = f3(never, fo, fx); // "def" >f3(never, fo, fx) : "def" > : ^^^^^ >f3 : (obj: T, f1: (x: T) => void, f2: (f: (x: T) => void) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >never : never > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fx : (f: (x: "def") => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #21112 @@ -175,7 +175,7 @@ let x = foo([]); // never >foo([]) : never > : ^^^^^ >foo : (a: ReadonlyArray) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ @@ -225,11 +225,11 @@ const t1: A = coAndContra(a, acceptUnion); >coAndContra(a, acceptUnion) : A > : ^ >coAndContra : (value: T, func: (t: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >acceptUnion : (x: A | number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t2: B = coAndContra(b, acceptA); >t2 : B @@ -237,11 +237,11 @@ const t2: B = coAndContra(b, acceptA); >coAndContra(b, acceptA) : B > : ^ >coAndContra : (value: T, func: (t: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t3: A = coAndContra(never, acceptA); >t3 : A @@ -249,11 +249,11 @@ const t3: A = coAndContra(never, acceptA); >coAndContra(never, acceptA) : A > : ^ >coAndContra : (value: T, func: (t: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >never : never > : ^^^^^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function coAndContraArray(value: T[], func: (t: T) => void): T[]; >coAndContraArray : (value: T[], func: (t: T) => void) => T[] @@ -271,13 +271,13 @@ const t4: A[] = coAndContraArray([a], acceptUnion); >coAndContraArray([a], acceptUnion) : A[] > : ^^^ >coAndContraArray : (value: T[], func: (t: T) => void) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[a] : A[] > : ^^^ >a : A > : ^ >acceptUnion : (x: A | number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t5: B[] = coAndContraArray([b], acceptA); >t5 : B[] @@ -285,13 +285,13 @@ const t5: B[] = coAndContraArray([b], acceptA); >coAndContraArray([b], acceptA) : B[] > : ^^^ >coAndContraArray : (value: T[], func: (t: T) => void) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[b] : B[] > : ^^^ >b : B > : ^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t6: A[] = coAndContraArray([], acceptA); >t6 : A[] @@ -299,9 +299,9 @@ const t6: A[] = coAndContraArray([], acceptA); >coAndContraArray([], acceptA) : A[] > : ^^^ >coAndContraArray : (value: T[], func: (t: T) => void) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/strictFunctionTypesErrors.types b/tests/baselines/reference/strictFunctionTypesErrors.types index 5f1b899657363..d552690380398 100644 --- a/tests/baselines/reference/strictFunctionTypesErrors.types +++ b/tests/baselines/reference/strictFunctionTypesErrors.types @@ -30,99 +30,99 @@ declare let f4: (x: string) => string; f1 = f2; // Ok >f1 = f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f1 = f3; // Error >f1 = f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f1 = f4; // Error >f1 = f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f2 = f1; // Error >f2 = f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f2 = f3; // Error >f2 = f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f2 = f4; // Error >f2 = f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f3 = f1; // Ok >f3 = f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f3 = f2; // Ok >f3 = f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f3 = f4; // Ok >f3 = f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f4 = f1; // Error >f4 = f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f4 = f2; // Ok >f4 = f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f4 = f3; // Error >f4 = f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type Func = (x: T) => U; >Func : Func @@ -606,19 +606,19 @@ declare let fc2: (f: (x: Dog) => Dog) => void; fc1 = fc2; // Error >fc1 = fc2 : (f: (x: Dog) => Dog) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc1 : (f: (x: Animal) => Animal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc2 : (f: (x: Dog) => Dog) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ fc2 = fc1; // Error >fc2 = fc1 : (f: (x: Animal) => Animal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc2 : (f: (x: Dog) => Dog) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc1 : (f: (x: Animal) => Animal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Verify that callback parameters aren't loosely checked when types // originate in method declarations @@ -649,43 +649,43 @@ namespace n1 { } declare let f1: (cb: typeof Foo.f1) => void; >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >cb : (x: Animal) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo.f1 : (x: Animal) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >f1 : (x: Animal) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare let f2: (cb: typeof Foo.f2) => void; >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >cb : (x: Dog) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo.f2 : (x: Dog) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >f2 : (x: Dog) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f1 = f2; >f1 = f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ f2 = f1; // Error >f2 = f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ } namespace n2 { @@ -714,17 +714,17 @@ namespace n2 { f1 = f2; >f1 = f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ f2 = f1; // Error >f2 = f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/strictNullChecksNoWidening.types b/tests/baselines/reference/strictNullChecksNoWidening.types index df06a1f55ac5a..a6592ffbb5c7f 100644 --- a/tests/baselines/reference/strictNullChecksNoWidening.types +++ b/tests/baselines/reference/strictNullChecksNoWidening.types @@ -75,7 +75,7 @@ var c1 = f(null); >f(null) : null > : ^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var c2 = f(undefined); >c2 : undefined @@ -83,7 +83,7 @@ var c2 = f(undefined); >f(undefined) : undefined > : ^^^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -93,7 +93,7 @@ var c3 = f([]); >f([]) : never[] > : ^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ diff --git a/tests/baselines/reference/strictNullEmptyDestructuring.types b/tests/baselines/reference/strictNullEmptyDestructuring.types index a067c92322d17..926cda146fb5c 100644 --- a/tests/baselines/reference/strictNullEmptyDestructuring.types +++ b/tests/baselines/reference/strictNullEmptyDestructuring.types @@ -35,11 +35,11 @@ let { } = Math.random() ? {} : null; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ @@ -55,11 +55,11 @@ let { } = Math.random() ? {} : null; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ @@ -69,11 +69,11 @@ let { } = Math.random() ? {} : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ >undefined : undefined @@ -91,11 +91,11 @@ let { } = Math.random() ? {} : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ >undefined : undefined @@ -107,11 +107,11 @@ let { } = Math.random() ? null : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -127,11 +127,11 @@ let { } = Math.random() ? null : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/strictNullLogicalAndOr.types b/tests/baselines/reference/strictNullLogicalAndOr.types index 8ee096a18a092..df52abfb5fa5e 100644 --- a/tests/baselines/reference/strictNullLogicalAndOr.types +++ b/tests/baselines/reference/strictNullLogicalAndOr.types @@ -11,41 +11,41 @@ let sinOrCos = Math.random() < .5; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >.5 : 0.5 > : ^^^ let choice = sinOrCos && Math.sin || Math.cos; >choice : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sinOrCos && Math.sin || Math.cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sinOrCos && Math.sin : false | ((x: number) => number) -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sinOrCos : boolean > : ^^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ choice(Math.PI); >choice(Math.PI) : number > : ^^^^^^ >choice : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.PI : number > : ^^^^^^ >Math : Math @@ -90,7 +90,7 @@ sq(3); >sq(3) : number > : ^^^^^^ >sq : (n?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ diff --git a/tests/baselines/reference/strictOptionalProperties1.types b/tests/baselines/reference/strictOptionalProperties1.types index dbd79df4825e6..6407140da10cf 100644 --- a/tests/baselines/reference/strictOptionalProperties1.types +++ b/tests/baselines/reference/strictOptionalProperties1.types @@ -17,7 +17,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -37,7 +37,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >'hello' : "hello" @@ -49,7 +49,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'hello' : "hello" @@ -61,7 +61,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >undefined : undefined @@ -73,7 +73,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -92,11 +92,11 @@ function f2(obj: { a?: string, b?: string | undefined }) { obj = obj; >obj = obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ obj.a = obj.a; // Error >obj.a = obj.a : string | undefined @@ -104,13 +104,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -120,13 +120,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -136,13 +136,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >'a' : "a" > : ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ obj.a; >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -152,13 +152,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -167,7 +167,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ @@ -177,13 +177,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ } @@ -191,11 +191,11 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.hasOwnProperty('a') : boolean > : ^^^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -203,7 +203,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -213,13 +213,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -228,7 +228,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ @@ -238,13 +238,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ } @@ -254,13 +254,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >'b' : "b" > : ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ obj.b; >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -270,13 +270,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -285,7 +285,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -295,13 +295,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -309,11 +309,11 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.hasOwnProperty('b') : boolean > : ^^^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'b' : "b" > : ^^^ @@ -321,7 +321,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -331,13 +331,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -346,7 +346,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -356,13 +356,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -384,7 +384,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -394,7 +394,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -404,7 +404,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.a : string > : ^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string > : ^^^^^^ >'hello' : "hello" @@ -416,7 +416,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'hello' : "hello" @@ -428,7 +428,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.a : string > : ^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string > : ^^^^^^ >undefined : undefined @@ -440,7 +440,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -751,7 +751,7 @@ const completeProps: Props = { ...defaultProps, ...inputProps }; >completeProps : Props > : ^^^^^ >{ ...defaultProps, ...inputProps } : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >defaultProps : Pick > : ^^^^^^^^^^^^^^^^^^ >inputProps : InputProps @@ -821,13 +821,13 @@ const y: { foo: number } = { foo: 123, ...x }; >foo : number > : ^^^^^^ >{ foo: 123, ...x } : { foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : number > : ^^^^^^ >123 : 123 > : ^^^ >x : { foo?: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ // Index signatures and strict optional properties @@ -899,33 +899,33 @@ f11(ox1); // string >f11(ox1) : string > : ^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox1 : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f11(ox2); // string | undefined >f11(ox2) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox2 : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f11(ox3); // string >f11(ox3) : string > : ^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox3 : { p?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ f11(ox4); // string | undefined >f11(ox4) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox4 : { p?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ declare function f12(x: [T?]): T; >f12 : (x: [T?]) => T @@ -937,7 +937,7 @@ f12(tx1); // string >f12(tx1) : string > : ^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx1 : [string] > : ^^^^^^^^ @@ -945,7 +945,7 @@ f12(tx2); // string | undefined >f12(tx2) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx2 : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ @@ -953,7 +953,7 @@ f12(tx3); // string >f12(tx3) : string > : ^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx3 : [string?] > : ^^^^^^^^^ @@ -961,7 +961,7 @@ f12(tx4); // string | undefined >f12(tx4) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx4 : [(string | undefined)?] > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -973,41 +973,41 @@ declare function f13(x: Partial): T; f13(ox1); // { p: string } >f13(ox1) : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox1 : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f13(ox2); // { p: string | undefined } >f13(ox2) : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox2 : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f13(ox3); // { p: string } >f13(ox3) : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox3 : { p?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ f13(ox4); // { p: string | undefined } >f13(ox4) : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox4 : { p?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ f13(tx1); // [string] >f13(tx1) : [string] > : ^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx1 : [string] > : ^^^^^^^^ @@ -1015,7 +1015,7 @@ f13(tx2); // [string | undefined] >f13(tx2) : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx2 : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ @@ -1023,7 +1023,7 @@ f13(tx3); // [string] >f13(tx3) : [string] > : ^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx3 : [string?] > : ^^^^^^^^^ @@ -1031,7 +1031,7 @@ f13(tx4); // [string | undefined] >f13(tx4) : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx4 : [(string | undefined)?] > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -1086,7 +1086,7 @@ function aa(input: Bar): void { >expectNotUndefined(input.bar) : number > : ^^^^^^ >expectNotUndefined : (value: Undefinable) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >input.bar : number | undefined > : ^^^^^^^^^^^^^^^^^^ >input : Bar @@ -1098,7 +1098,7 @@ function aa(input: Bar): void { >bb(notUndefinedVal) : void > : ^^^^ >bb : (input: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >notUndefinedVal : number > : ^^^^^^ } @@ -1226,27 +1226,27 @@ declare var e: {a: number, b?: string | undefined } a = b; >a = b : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { [x: string]: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ a = c; >a = c : { a: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { [x: string]: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : { a: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ a = d; // Error >a = d : { a: number; b: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { [x: string]: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : { a: number; b: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ a = e; // Error >a = e : string | boolean | undefined diff --git a/tests/baselines/reference/strictPropertyInitialization.types b/tests/baselines/reference/strictPropertyInitialization.types index 7b80087d375cb..a028ba04609eb 100644 --- a/tests/baselines/reference/strictPropertyInitialization.types +++ b/tests/baselines/reference/strictPropertyInitialization.types @@ -471,7 +471,7 @@ class C11 { >someValue() : any > : ^^^ >someValue : () => any -> : ^^^^^^^^^ +> : ^^^^^^ this.#b = someValue(); >this.#b = someValue() : any @@ -483,7 +483,7 @@ class C11 { >someValue() : any > : ^^^ >someValue : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/strictSubtypeAndNarrowing.types b/tests/baselines/reference/strictSubtypeAndNarrowing.types index 35e0bc6b537b7..c6182b8e834c1 100644 --- a/tests/baselines/reference/strictSubtypeAndNarrowing.types +++ b/tests/baselines/reference/strictSubtypeAndNarrowing.types @@ -17,23 +17,23 @@ declare const x12: { x: any }; const a11 = [x11, x12]; >a11 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x11, x12] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x11 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x12 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ const a12 = [x12, x11]; >a12 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x12, x11] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x12 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x11 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ declare const x21: { x: any }; >x21 : { x: any; } @@ -49,23 +49,23 @@ declare const x22: { x: unknown }; const a21 = [x22, x21]; >a21 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x22, x21] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x22 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x21 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ const a22 = [x21, x22]; >a22 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x21, x22] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x21 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x22 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ // Strict subtype doesn't infer index signatures in non-fresh object types @@ -95,7 +95,7 @@ const a31 = [x31, x32]; >x31 : { a: number; } > : ^^^^^^^^^^^^^^ >x32 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ const a32 = [x32, x31]; >a32 : { a: number; }[] @@ -103,7 +103,7 @@ const a32 = [x32, x31]; >[x32, x31] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >x32 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >x31 : { a: number; } > : ^^^^^^^^^^^^^^ @@ -133,7 +133,7 @@ const a41 = [x42, x41]; >x42 : { a: number; } > : ^^^^^^^^^^^^^^ >x41 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ const a42 = [x41, x42]; >a42 : { a: number; }[] @@ -141,7 +141,7 @@ const a42 = [x41, x42]; >[x41, x42] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >x41 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >x42 : { a: number; } > : ^^^^^^^^^^^^^^ @@ -191,13 +191,13 @@ function fx1(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -206,7 +206,7 @@ function fx1(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function fx2(f: (() => void) | undefined) { @@ -219,13 +219,13 @@ function fx2(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -234,7 +234,7 @@ function fx2(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function fx3(f: (() => void) | undefined) { @@ -247,13 +247,13 @@ function fx3(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -262,7 +262,7 @@ function fx3(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function fx4(f: (() => void) | undefined) { @@ -275,13 +275,13 @@ function fx4(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -290,7 +290,7 @@ function fx4(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function checkA(f: FnTypes) { @@ -303,7 +303,7 @@ function checkA(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -331,7 +331,7 @@ function checkB(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -359,7 +359,7 @@ function checkC(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -387,7 +387,7 @@ function checkD(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -424,12 +424,12 @@ function fx10(obj1: { x?: number }, obj2: { x?: number, y?: number }) { obj1 = obj2 = { x: 1, y: 2 }; >obj1 = obj2 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj1 : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj1 : { x?: number; } +> : ^^^^^^ ^^^ >obj2 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj2 : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj2 : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -444,12 +444,12 @@ function fx10(obj1: { x?: number }, obj2: { x?: number, y?: number }) { obj2 = obj1 = { x: 1, y: 2 }; >obj2 = obj1 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj2 : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj2 : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >obj1 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj1 : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj1 : { x?: number; } +> : ^^^^^^ ^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -479,8 +479,8 @@ function fx11(): { x?: number } { return obj = { x: 1, y: 2 }; >obj = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -517,13 +517,13 @@ function ff1(value: { [index: number]: boolean, length: number } | undefined) { >isArrayLike(value) : boolean > : ^^^^^^^ >isArrayLike : (value: any) => value is { length: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : { [index: number]: boolean; length: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ value; >value : { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } else { value; @@ -532,7 +532,7 @@ function ff1(value: { [index: number]: boolean, length: number } | undefined) { } value; >value : { [index: number]: boolean; length: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ } function ff2(value: { [index: number]: boolean, length: number } | string) { @@ -549,13 +549,13 @@ function ff2(value: { [index: number]: boolean, length: number } | string) { >isArrayLike(value) : boolean > : ^^^^^^^ >isArrayLike : (value: any) => value is { length: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string | { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ value; >value : string | { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } else { value; @@ -564,7 +564,7 @@ function ff2(value: { [index: number]: boolean, length: number } | string) { } value; >value : string | { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } function ff3(value: string | string[] | { [index: number]: boolean, length: number } | [number, boolean] | number | { length: string } | { a: string } | null | undefined) { @@ -585,22 +585,22 @@ function ff3(value: string | string[] | { [index: number]: boolean, length: numb >isArrayLike(value) : boolean > : ^^^^^^^ >isArrayLike : (value: any) => value is { length: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string | number | { [index: number]: boolean; length: number; } | [number, boolean] | { length: string; } | { a: string; } | string[] | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ value; >value : string | { [index: number]: boolean; length: number; } | [number, boolean] | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { value; >value : number | { length: string; } | { a: string; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ } value; >value : string | number | { [index: number]: boolean; length: number; } | [number, boolean] | { length: string; } | { a: string; } | string[] | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } // Repro from comment in #52984 @@ -707,11 +707,11 @@ function test1(foo: Foo): {value: {type: 'A'}; a?: number} { >assert(doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isA)) : void > : ^^^^ >assert : (condition: boolean) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isA) : boolean > : ^^^^^^^ >doesValueAtDeepPathSatisfy : , ValueT>(obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ >['value', 'type'] : ["value", "type"] @@ -721,11 +721,11 @@ function test1(foo: Foo): {value: {type: 'A'}; a?: number} { >'type' : "type" > : ^^^^^^ >isA : (arg: unknown) => arg is "A" -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return foo; ->foo : { value: { type: "A"; }; a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { value: { type: "A"; }; a?: number; } +> : ^^^^^^^^^ ^^^^^^ ^^^ } function test2(foo: Foo): {value: {type: 'A'}; a?: number} { @@ -744,13 +744,13 @@ function test2(foo: Foo): {value: {type: 'A'}; a?: number} { >assert(!doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isB)) : void > : ^^^^ >assert : (condition: boolean) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >!doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isB) : boolean > : ^^^^^^^ >doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isB) : boolean > : ^^^^^^^ >doesValueAtDeepPathSatisfy : , ValueT>(obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ >['value', 'type'] : ["value", "type"] @@ -760,11 +760,11 @@ function test2(foo: Foo): {value: {type: 'A'}; a?: number} { >'type' : "type" > : ^^^^^^ >isB : (arg: unknown) => arg is "B" -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return foo; ->foo : { value: { type: "A"; }; a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { value: { type: "A"; }; a?: number; } +> : ^^^^^^^^^ ^^^^^^ ^^^ } // Repro from #53063 @@ -816,8 +816,8 @@ const f = (value: Union) => { > : ^^^^^^^ >checkIsPremium(value) : boolean > : ^^^^^^^ ->checkIsPremium : (a: Union) => a is { premium: true; } & Premium -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>checkIsPremium : (a: Union) => a is Union & Premium +> : ^ ^^ ^^^^^ >value : Union > : ^^^^^ @@ -825,7 +825,7 @@ const f = (value: Union) => { >value.premium : false > : ^^^^^ >value : { premium: false; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >premium : false > : ^^^^^ } diff --git a/tests/baselines/reference/strictTypeofUnionNarrowing.types b/tests/baselines/reference/strictTypeofUnionNarrowing.types index 99855894feb3f..cf3e155c899ea 100644 --- a/tests/baselines/reference/strictTypeofUnionNarrowing.types +++ b/tests/baselines/reference/strictTypeofUnionNarrowing.types @@ -17,17 +17,17 @@ function stringify1(anything: { toString(): string } | undefined): string { >typeof anything : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >anything : { toString(): string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >"string" : "string" > : ^^^^^^^^ >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } @@ -52,11 +52,11 @@ function stringify2(anything: {} | undefined): string { >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } @@ -81,11 +81,11 @@ function stringify3(anything: unknown | undefined): string { // should simplify >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } @@ -106,17 +106,17 @@ function stringify4(anything: { toString?(): string } | undefined): string { >typeof anything : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >anything : { toString?(): string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >"string" : "string" > : ^^^^^^^^ >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/stringEnumLiteralTypes1.types b/tests/baselines/reference/stringEnumLiteralTypes1.types index 20d556f1f90c0..740c8eed83b61 100644 --- a/tests/baselines/reference/stringEnumLiteralTypes1.types +++ b/tests/baselines/reference/stringEnumLiteralTypes1.types @@ -218,7 +218,7 @@ function f3(a: Choice.Yes, b: YesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -226,7 +226,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -234,7 +234,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -254,7 +254,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -268,7 +268,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -282,7 +282,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -292,7 +292,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -302,7 +302,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -388,7 +388,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -487,7 +487,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -501,7 +501,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -531,7 +531,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -545,7 +545,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -553,7 +553,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/stringEnumLiteralTypes2.types b/tests/baselines/reference/stringEnumLiteralTypes2.types index d3a790a349866..7ca1f635ada86 100644 --- a/tests/baselines/reference/stringEnumLiteralTypes2.types +++ b/tests/baselines/reference/stringEnumLiteralTypes2.types @@ -218,7 +218,7 @@ function f3(a: Choice.Yes, b: YesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -226,7 +226,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -234,7 +234,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -254,7 +254,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -268,7 +268,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -282,7 +282,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -292,7 +292,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -302,7 +302,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -388,7 +388,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -487,7 +487,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -501,7 +501,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -531,7 +531,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -545,7 +545,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -553,7 +553,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/stringIncludes.types b/tests/baselines/reference/stringIncludes.types index 314ca62890e33..3e9ab6771c1e6 100644 --- a/tests/baselines/reference/stringIncludes.types +++ b/tests/baselines/reference/stringIncludes.types @@ -13,11 +13,11 @@ includes = "abcde".includes("cd"); >"abcde".includes("cd") : boolean > : ^^^^^^^ >"abcde".includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"cd" : "cd" > : ^^^^ @@ -29,11 +29,11 @@ includes = "abcde".includes("cd", 2); >"abcde".includes("cd", 2) : boolean > : ^^^^^^^ >"abcde".includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"cd" : "cd" > : ^^^^ >2 : 2 diff --git a/tests/baselines/reference/stringIndexerAssignments1.types b/tests/baselines/reference/stringIndexerAssignments1.types index be7a2fe8ff2d0..3493b46f237c3 100644 --- a/tests/baselines/reference/stringIndexerAssignments1.types +++ b/tests/baselines/reference/stringIndexerAssignments1.types @@ -25,17 +25,17 @@ var b: { one: number; two: string; }; x = a; >x = a : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { [index: string]: string; one: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ x = b; // error >x = b : { one: number; two: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >x : { [index: string]: string; one: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : { one: number; two: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/stringIndexingResults.types b/tests/baselines/reference/stringIndexingResults.types index 8224108f3ce2d..b9796b6959dbd 100644 --- a/tests/baselines/reference/stringIndexingResults.types +++ b/tests/baselines/reference/stringIndexingResults.types @@ -113,7 +113,7 @@ var r7 = a['y']; >a['y'] : string > : ^^^^^^ >a : { [x: string]: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'y' : "y" > : ^^^ @@ -123,7 +123,7 @@ var r8 = a['a']; >a['a'] : string > : ^^^^^^ >a : { [x: string]: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'a' : "a" > : ^^^ @@ -133,7 +133,7 @@ var r9 = a[1]; >a[1] : string > : ^^^^^^ >a : { [x: string]: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/stringLiteralCheckedInIf02.types b/tests/baselines/reference/stringLiteralCheckedInIf02.types index 9521ff6dc3d91..749d9155236b3 100644 --- a/tests/baselines/reference/stringLiteralCheckedInIf02.types +++ b/tests/baselines/reference/stringLiteralCheckedInIf02.types @@ -42,7 +42,7 @@ function f(foo: T) { >isS(foo) : boolean > : ^^^^^^^ >isS : (t: T) => t is S -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : T > : ^ diff --git a/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types b/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types index 3948dfccc1a0f..c382ffad2b467 100644 --- a/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types +++ b/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types @@ -29,7 +29,7 @@ let c: "foo" = (myRandBool ? "foo" : ("foo")); >myRandBool ? "foo" : ("foo") : "foo" > : ^^^^^ >myRandBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"foo" : "foo" > : ^^^^^ >("foo") : "foo" @@ -45,7 +45,7 @@ let d: "foo" | "bar" = (myRandBool ? "foo" : ("bar")); >myRandBool ? "foo" : ("bar") : "foo" | "bar" > : ^^^^^^^^^^^^^ >myRandBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"foo" : "foo" > : ^^^^^ >("bar") : "bar" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags01.types b/tests/baselines/reference/stringLiteralTypesAsTags01.types index 0036ca729c42a..823444d6677a7 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags01.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags01.types @@ -33,7 +33,7 @@ interface B extends Entity { function hasKind(entity: Entity, kind: "A"): entity is A; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "A" @@ -41,7 +41,7 @@ function hasKind(entity: Entity, kind: "A"): entity is A; function hasKind(entity: Entity, kind: "B"): entity is B; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "B" @@ -49,7 +49,7 @@ function hasKind(entity: Entity, kind: "B"): entity is B; function hasKind(entity: Entity, kind: Kind): entity is Entity; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -57,7 +57,7 @@ function hasKind(entity: Entity, kind: Kind): entity is Entity; function hasKind(entity: Entity, kind: Kind): boolean { >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -99,7 +99,7 @@ if (hasKind(x, "A")) { >hasKind(x, "A") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"A" : "A" @@ -125,7 +125,7 @@ if (!hasKind(x, "B")) { >hasKind(x, "B") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags02.types b/tests/baselines/reference/stringLiteralTypesAsTags02.types index 4035916884665..7be84adf903c9 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags02.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags02.types @@ -33,7 +33,7 @@ interface B extends Entity { function hasKind(entity: Entity, kind: "A"): entity is A; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "A" @@ -41,7 +41,7 @@ function hasKind(entity: Entity, kind: "A"): entity is A; function hasKind(entity: Entity, kind: "B"): entity is B; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "B" @@ -49,7 +49,7 @@ function hasKind(entity: Entity, kind: "B"): entity is B; function hasKind(entity: Entity, kind: Kind): entity is (A | B) { >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -91,7 +91,7 @@ if (hasKind(x, "A")) { >hasKind(x, "A") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"A" : "A" @@ -117,7 +117,7 @@ if (!hasKind(x, "B")) { >hasKind(x, "B") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags03.types b/tests/baselines/reference/stringLiteralTypesAsTags03.types index 56676ba78ffdd..23f7ee69b068a 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags03.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags03.types @@ -37,7 +37,7 @@ interface B extends Entity { // signature and simply check compatibility with the implementation. function hasKind(entity: Entity, kind: "A" | "A"): entity is A; >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "A" @@ -45,7 +45,7 @@ function hasKind(entity: Entity, kind: "A" | "A"): entity is A; function hasKind(entity: Entity, kind: "B" | "B"): entity is B; >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "B" @@ -53,7 +53,7 @@ function hasKind(entity: Entity, kind: "B" | "B"): entity is B; function hasKind(entity: Entity, kind: Kind): entity is Entity { >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -95,7 +95,7 @@ if (hasKind(x, "A")) { >hasKind(x, "A") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"A" : "A" @@ -121,7 +121,7 @@ if (!hasKind(x, "B")) { >hasKind(x, "B") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types index 22bc9157d9b03..de53d233e3b09 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types @@ -11,7 +11,7 @@ function foo(f: (x: T) => T) { return f; >f : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function bar(f: (x: T) => T) { @@ -24,7 +24,7 @@ function bar(f: (x: T) => T) { return f; >f : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } let f = foo(x => x); @@ -33,7 +33,7 @@ let f = foo(x => x); >foo(x => x) : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x => x : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >x : "foo" @@ -57,7 +57,7 @@ let g = foo((x => x)); >foo((x => x)) : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x => x) : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >x => x : (x: "foo") => "foo" @@ -83,7 +83,7 @@ let h = bar(x => x); >bar(x => x) : (x: "foo" | "bar") => "foo" | "bar" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x => x : (x: "foo" | "bar") => "foo" | "bar" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : "foo" | "bar" diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types index 9a2257ec697f9..20fab6b311632 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types @@ -11,7 +11,7 @@ function foo(f: (x: T) => T) { return f; >f : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); @@ -20,7 +20,7 @@ let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); >foo((y: "foo" | "bar") => y === "foo" ? y : "foo") : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(y: "foo" | "bar") => y === "foo" ? y : "foo" : (y: "foo" | "bar") => "foo" > : ^ ^^ ^^^^^^^^^^ >y : "foo" | "bar" diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types index c3d5945623c06..a78ede5477a63 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: string): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -26,7 +26,7 @@ function g(x: "bar"): number; function g(x: string): number { >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -37,29 +37,29 @@ function g(x: string): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types index fa17b7f7f56f6..f2f9f27f10b6d 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: "foo"): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "foo" > : ^^^^^ @@ -26,7 +26,7 @@ function g(x: "bar"): number; function g(x: "bar"): number { >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "bar" > : ^^^^^ @@ -37,29 +37,29 @@ function g(x: "bar"): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types index 04df4c77e1757..af6e09d3b5926 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: string): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -26,7 +26,7 @@ function g(x: "foo"): number; function g(x: string): number { >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -37,29 +37,29 @@ function g(x: string): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types index f0a8878924a6d..58b0a7133b8cc 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: "foo"): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "foo" > : ^^^^^ @@ -26,7 +26,7 @@ function g(x: "foo"): number; function g(x: "foo"): number { >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "foo" > : ^^^^^ @@ -37,29 +37,29 @@ function g(x: "foo"): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types index 553d616ad9cc9..589f600be162a 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types @@ -3,19 +3,19 @@ === stringLiteralTypesOverloadAssignability05.ts === function f(x: "foo"): number; >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ function f(x: string): number; >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function f(x: string): number { >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -32,7 +32,7 @@ function g(x: "foo"): number; function g(x: string): number { >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -43,29 +43,29 @@ function g(x: string): number { let a = f; >a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ let b = g; >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.types b/tests/baselines/reference/stringLiteralTypesOverloads01.types index 160a1d96207db..5498e0da523e6 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.types @@ -6,50 +6,50 @@ type PrimitiveName = 'string' | 'number' | 'boolean'; > : ^^^^^^^^^^^^^ function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" > : ^^^^^^^^ function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" > : ^^^^^^^^ function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "boolean" > : ^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: PrimitiveName): number | string | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : PrimitiveName > : ^^^^^^^^^^^^^ @@ -105,8 +105,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive("string") : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -115,8 +115,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive('number') : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'number' : "number" > : ^^^^^^^^ @@ -125,8 +125,8 @@ namespace Consts1 { > : ^^^^^^^ >getFalsyPrimitive("boolean") : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"boolean" : "boolean" > : ^^^^^^^^^ } @@ -198,8 +198,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(string) : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >string : "string" > : ^^^^^^^^ @@ -208,8 +208,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(number) : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >number : "number" > : ^^^^^^^^ @@ -218,8 +218,8 @@ namespace Consts2 { > : ^^^^^^^ >getFalsyPrimitive(boolean) : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >boolean : "boolean" > : ^^^^^^^^^ @@ -228,8 +228,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrNumber) : string | number > : ^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrNumber : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ @@ -238,8 +238,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBoolean) : string | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBoolean : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -248,8 +248,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(booleanOrNumber) : number | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >booleanOrNumber : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -258,8 +258,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBooleanOrNumber : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.types b/tests/baselines/reference/stringLiteralTypesOverloads02.types index 7ff5a15ac8bcd..5ea61d0eeaf9d 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads02.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.types @@ -2,50 +2,50 @@ === stringLiteralTypesOverloads02.ts === function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" > : ^^^^^^^^ function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" > : ^^^^^^^^ function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "boolean" > : ^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: string): string | number | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -101,8 +101,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive("string") : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -111,8 +111,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive('number') : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'number' : "number" > : ^^^^^^^^ @@ -121,8 +121,8 @@ namespace Consts1 { > : ^^^^^^^ >getFalsyPrimitive("boolean") : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"boolean" : "boolean" > : ^^^^^^^^^ } @@ -194,8 +194,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(string) : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >string : "string" > : ^^^^^^^^ @@ -204,8 +204,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(number) : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >number : "number" > : ^^^^^^^^ @@ -214,8 +214,8 @@ namespace Consts2 { > : ^^^^^^^ >getFalsyPrimitive(boolean) : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >boolean : "boolean" > : ^^^^^^^^^ @@ -224,8 +224,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrNumber) : string | number > : ^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrNumber : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ @@ -234,8 +234,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBoolean) : string | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBoolean : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -244,8 +244,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(booleanOrNumber) : number | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >booleanOrNumber : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -254,8 +254,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBooleanOrNumber : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads03.types b/tests/baselines/reference/stringLiteralTypesOverloads03.types index 62244e587ad6f..ae80018422d7f 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads03.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads03.types @@ -43,31 +43,31 @@ let helloOrWorld: "hello" | "world"; function f(p: "hello"): JustHello; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" > : ^^^^^^^ function f(p: "hello" | "world"): HelloOrWorld; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ function f(p: "world"): JustWorld; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "world" > : ^^^^^^^ function f(p: string): Base; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ function f(...args: any[]): any { >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ @@ -82,7 +82,7 @@ let fResult1 = f(hello); >f(hello) : JustHello > : ^^^^^^^^^ >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hello : "hello" > : ^^^^^^^ @@ -92,7 +92,7 @@ let fResult2 = f(world); >f(world) : JustWorld > : ^^^^^^^^^ >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >world : "world" > : ^^^^^^^ @@ -102,37 +102,37 @@ let fResult3 = f(helloOrWorld); >f(helloOrWorld) : HelloOrWorld > : ^^^^^^^^^^^^ >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >helloOrWorld : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ function g(p: string): Base; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ function g(p: "hello"): JustHello; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" > : ^^^^^^^ function g(p: "hello" | "world"): HelloOrWorld; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ function g(p: "world"): JustWorld; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "world" > : ^^^^^^^ function g(...args: any[]): any { >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ @@ -147,7 +147,7 @@ let gResult1 = g(hello); >g(hello) : JustHello > : ^^^^^^^^^ >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hello : "hello" > : ^^^^^^^ @@ -157,7 +157,7 @@ let gResult2 = g(world); >g(world) : JustWorld > : ^^^^^^^^^ >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >world : "world" > : ^^^^^^^ @@ -167,7 +167,7 @@ let gResult3 = g(helloOrWorld); >g(helloOrWorld) : Base > : ^^^^ >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >helloOrWorld : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloads05.types b/tests/baselines/reference/stringLiteralTypesOverloads05.types index aa3f27b9f8f38..7853729ebd4f3 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads05.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads05.types @@ -19,25 +19,25 @@ interface Moose extends Animal { moose: {} } function doThing(x: "dog"): Dog; >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "dog" > : ^^^^^ function doThing(x: "cat"): Cat; >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "cat" > : ^^^^^ function doThing(x: string): Animal; >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function doThing(x: string, y?: string): Moose { >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : string diff --git a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types index a5b9587a3885b..3fb3ae688b2ad 100644 --- a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types +++ b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types @@ -7,7 +7,7 @@ type Kind = "A" | "B" function kindIs(kind: Kind, is: "A"): kind is "A"; >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >kind : Kind > : ^^^^ >is : "A" @@ -15,7 +15,7 @@ function kindIs(kind: Kind, is: "A"): kind is "A"; function kindIs(kind: Kind, is: "B"): kind is "B"; >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >kind : Kind > : ^^^^ >is : "B" @@ -23,7 +23,7 @@ function kindIs(kind: Kind, is: "B"): kind is "B"; function kindIs(kind: Kind, is: Kind): boolean { >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >kind : Kind > : ^^^^ >is : Kind @@ -48,7 +48,7 @@ if (kindIs(x, "A")) { >kindIs(x, "A") : boolean > : ^^^^^^^ >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : Kind > : ^^^^ >"A" : "A" @@ -74,7 +74,7 @@ if (!kindIs(x, "B")) { >kindIs(x, "B") : boolean > : ^^^^^^^ >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : Kind > : ^^^^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types index bcd883a8b9e76..bbf7fa3584a83 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types @@ -27,7 +27,7 @@ switch (x) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"foo" : "foo" > : ^^^^^ >"baz" : "baz" @@ -42,7 +42,7 @@ switch (x) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >("bar") : "bar" > : ^^^^^ >"bar" : "bar" diff --git a/tests/baselines/reference/stringMappingReduction.types b/tests/baselines/reference/stringMappingReduction.types index c404453bf633b..c49782219b5a8 100644 --- a/tests/baselines/reference/stringMappingReduction.types +++ b/tests/baselines/reference/stringMappingReduction.types @@ -77,7 +77,7 @@ declare const _virtualOn: (eventQrl: VirtualEvent) => void; >_virtualOn : (eventQrl: VirtualEvent) => void > : ^ ^^ ^^^^^ >eventQrl : (event: {}) => any -> : ^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ export const virtualOn = (eventQrl: VirtualEvent) => { >virtualOn : (eventQrl: VirtualEvent) => void @@ -85,15 +85,15 @@ export const virtualOn = (eventQrl: VirtualEvent) => { >(eventQrl: VirtualEvent) => { _virtualOn(eventQrl);} : (eventQrl: VirtualEvent) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >eventQrl : (event: EPlusFallback>) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _virtualOn(eventQrl); >_virtualOn(eventQrl) : void > : ^^^^ >_virtualOn : (eventQrl: VirtualEvent) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >eventQrl : (event: EPlusFallback>) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }; diff --git a/tests/baselines/reference/stringMatchAll.types b/tests/baselines/reference/stringMatchAll.types index 422c849e95422..a107b9eb3fd5b 100644 --- a/tests/baselines/reference/stringMatchAll.types +++ b/tests/baselines/reference/stringMatchAll.types @@ -7,11 +7,11 @@ const matches = "matchAll".matchAll(/\w/g); >"matchAll".matchAll(/\w/g) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"matchAll".matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"matchAll" : "matchAll" > : ^^^^^^^^^^ >matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/stringNamedPropertyAccess.types b/tests/baselines/reference/stringNamedPropertyAccess.types index b82a993e79d2b..816693d871819 100644 --- a/tests/baselines/reference/stringNamedPropertyAccess.types +++ b/tests/baselines/reference/stringNamedPropertyAccess.types @@ -70,7 +70,7 @@ var r3 = a["a b"]; >a["a b"] : number > : ^^^^^^ >a : { "a b": number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >"a b" : "a b" > : ^^^^^ diff --git a/tests/baselines/reference/stringPropCodeGen.types b/tests/baselines/reference/stringPropCodeGen.types index 616b8e99d7d92..00b95fc24a184 100644 --- a/tests/baselines/reference/stringPropCodeGen.types +++ b/tests/baselines/reference/stringPropCodeGen.types @@ -37,7 +37,7 @@ a.bar.toString(); >a.bar.toString() : string > : ^^^^^^ >a.bar.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.bar : number > : ^^^^^^ >a : { foo: () => void; bar: number; } @@ -45,5 +45,5 @@ a.bar.toString(); >bar : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/stringPropertyAccess.types b/tests/baselines/reference/stringPropertyAccess.types index de4d2ffd6347f..ee950ddfbe7c7 100644 --- a/tests/baselines/reference/stringPropertyAccess.types +++ b/tests/baselines/reference/stringPropertyAccess.types @@ -13,11 +13,11 @@ var a = x.charAt(0); >x.charAt(0) : string > : ^^^^^^ >x.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,11 +27,11 @@ var b = x.hasOwnProperty('charAt'); >x.hasOwnProperty('charAt') : boolean > : ^^^^^^^ >x.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'charAt' : "charAt" > : ^^^^^^^^ @@ -41,7 +41,7 @@ var c = x['charAt'](0); >x['charAt'](0) : string > : ^^^^^^ >x['charAt'] : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >'charAt' : "charAt" @@ -55,7 +55,7 @@ var e = x['hasOwnProperty']('toFixed'); >x['hasOwnProperty']('toFixed') : boolean > : ^^^^^^^ >x['hasOwnProperty'] : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >'hasOwnProperty' : "hasOwnProperty" diff --git a/tests/baselines/reference/stringPropertyAccessWithError.types b/tests/baselines/reference/stringPropertyAccessWithError.types index ca35b37f976c0..25f517cb294b3 100644 --- a/tests/baselines/reference/stringPropertyAccessWithError.types +++ b/tests/baselines/reference/stringPropertyAccessWithError.types @@ -13,7 +13,7 @@ var d = x['charAt']('invalid'); // error >x['charAt']('invalid') : string > : ^^^^^^ >x['charAt'] : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >'charAt' : "charAt" diff --git a/tests/baselines/reference/stringRawType.types b/tests/baselines/reference/stringRawType.types index 44f37aa01a517..b29e37ccaa6e6 100644 --- a/tests/baselines/reference/stringRawType.types +++ b/tests/baselines/reference/stringRawType.types @@ -5,11 +5,11 @@ String.raw({ raw: ["foo", "bar", "baz"] }, 1, 2); >String.raw({ raw: ["foo", "bar", "baz"] }, 1, 2) : string > : ^^^^^^ >String.raw : (template: { raw: readonly string[] | ArrayLike; }, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >raw : (template: { raw: readonly string[] | ArrayLike; }, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >{ raw: ["foo", "bar", "baz"] } : { raw: string[]; } > : ^^^^^^^^^^^^^^^^^^ >raw : string[] diff --git a/tests/baselines/reference/stringTrim.types b/tests/baselines/reference/stringTrim.types index 90db86cc93106..7e3347395682d 100644 --- a/tests/baselines/reference/stringTrim.types +++ b/tests/baselines/reference/stringTrim.types @@ -13,11 +13,11 @@ trimmed = "abcde".trimEnd(); >"abcde".trimEnd() : string > : ^^^^^^ >"abcde".trimEnd : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimEnd : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ trimmed = "abcde".trimStart(); >trimmed = "abcde".trimStart() : string @@ -27,11 +27,11 @@ trimmed = "abcde".trimStart(); >"abcde".trimStart() : string > : ^^^^^^ >"abcde".trimStart : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimStart : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ trimmed = "abcde".trimLeft(); >trimmed = "abcde".trimLeft() : string @@ -41,11 +41,11 @@ trimmed = "abcde".trimLeft(); >"abcde".trimLeft() : string > : ^^^^^^ >"abcde".trimLeft : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimLeft : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ trimmed = "abcde".trimRight(); >trimmed = "abcde".trimRight() : string @@ -55,9 +55,9 @@ trimmed = "abcde".trimRight(); >"abcde".trimRight() : string > : ^^^^^^ >"abcde".trimRight : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimRight : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types index ca7b197145fdb..f9ec5d0a58c8c 100644 --- a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types @@ -18,11 +18,11 @@ someVal.fn(""); >someVal.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >someVal : Required<{ fn?(key: string): string | null; }> -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -41,11 +41,11 @@ someVal2.fn(""); >someVal2.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal2.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ->someVal2 : Required<{ fn?: ((key: string) => string | null) | undefined; }> -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>someVal2 : Required<{ fn?: (key: string) => string | null; }> +> : ^^^^^^^^^^^^^^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types index 743188dfa0ad6..f9ec5d0a58c8c 100644 --- a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types @@ -18,11 +18,11 @@ someVal.fn(""); >someVal.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >someVal : Required<{ fn?(key: string): string | null; }> -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -41,11 +41,11 @@ someVal2.fn(""); >someVal2.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal2.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >someVal2 : Required<{ fn?: (key: string) => string | null; }> -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types index 7649ce0c7ab05..0937cfbd298af 100644 --- a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types +++ b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types @@ -447,7 +447,7 @@ export interface StyledComponentBase< withComponent( >withComponent : { (component: WithC): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC_1): StyledComponent; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ component: WithC, >component : WithC @@ -461,7 +461,7 @@ export interface StyledComponentBase< >; withComponent>( >withComponent : { (component: WithC_1): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC): StyledComponent; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ >React : any diff --git a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types index f97405e0aef9c..a770b92cdba2b 100644 --- a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types +++ b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types @@ -35,7 +35,7 @@ const boundaryResult = withBoundary({ >withBoundary({ select: true,}) : { select: true; } > : ^^^^^^^^^^^^^^^^^ >withBoundary : (args?: Subset) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >{ select: true,} : { select: true; } > : ^^^^^^^^^^^^^^^^^ @@ -53,7 +53,7 @@ const withoutBoundaryResult = withoutBoundary({ >withoutBoundary({ select: true,}) : { select: true; } > : ^^^^^^^^^^^^^^^^^ >withoutBoundary : (args?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >{ select: true,} : { select: true; } > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/subtypeReductionUnionConstraints.types b/tests/baselines/reference/subtypeReductionUnionConstraints.types index ff52e4bb91bfc..6dc30ee98ece0 100644 --- a/tests/baselines/reference/subtypeReductionUnionConstraints.types +++ b/tests/baselines/reference/subtypeReductionUnionConstraints.types @@ -72,13 +72,13 @@ export function visitNodes(node: Document | Node, predicate: (te >isNode(node) : boolean > : ^^^^^^^ >isNode : (node: unknown) => node is Node -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | Document > : ^^^^^^^^^^^^^^^ >predicate(node) : boolean > : ^^^^^^^ >predicate : (testNode: Node) => testNode is T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node > : ^^^^ @@ -90,7 +90,7 @@ export function visitNodes(node: Document | Node, predicate: (te >isNode(node) : boolean > : ^^^^^^^ >isNode : (node: unknown) => node is Node -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | Document > : ^^^^^^^^^^^^^^^ >!isBar(node) : boolean @@ -98,7 +98,7 @@ export function visitNodes(node: Document | Node, predicate: (te >isBar(node) : boolean > : ^^^^^^^ >isBar : (node: Node) => node is BarNode -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node > : ^^^^ diff --git a/tests/baselines/reference/subtypeRelationForNever.types b/tests/baselines/reference/subtypeRelationForNever.types index 99f3fc81b1b65..8067b8d648714 100644 --- a/tests/baselines/reference/subtypeRelationForNever.types +++ b/tests/baselines/reference/subtypeRelationForNever.types @@ -43,13 +43,13 @@ function withFew(values: a[], haveFew: (values: a[]) => r, haveNone: (reas >haveFew(values) : r > : ^ >haveFew : (values: a[]) => r -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >values : a[] > : ^^^ >haveNone('No values.') : r > : ^ >haveNone : (reason: string) => r -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >'No values.' : "No values." > : ^^^^^^^^^^^^ } @@ -67,7 +67,7 @@ const result = withFew([1, 2, 3], id, fail); // expected result is number[] >withFew([1, 2, 3], id, fail) : number[] > : ^^^^^^^^ >withFew : (values: a[], haveFew: (values: a[]) => r, haveNone: (reason: string) => r) => r -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -77,7 +77,7 @@ const result = withFew([1, 2, 3], id, fail); // expected result is number[] >3 : 3 > : ^ >id : (value: a) => a -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >fail : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithCallSignatures.types b/tests/baselines/reference/subtypingWithCallSignatures.types index 7b15cd450ada8..938d1445c988b 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures.types +++ b/tests/baselines/reference/subtypingWithCallSignatures.types @@ -7,26 +7,26 @@ module CallSignature { declare function foo1(cb: (x: number) => void): typeof cb; >foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : (x: number) => void > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >cb : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo1(cb: any): any; ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var r = foo1((x: number) => 1); // ok because base returns void >r : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo1((x: number) => 1) : (x: number) => void -> : ^ ^^ ^^^^^^^^^ ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -36,11 +36,11 @@ module CallSignature { var r2 = foo1((x: T) => ''); // ok because base returns void >r2 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo1((x: T) => '') : (x: number) => void -> : ^ ^^ ^^^^^^^^^ ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => '' : (x: T) => string > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -50,7 +50,7 @@ module CallSignature { declare function foo2(cb: (x: number, y: number) => void): typeof cb; >foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : (x: number, y: number) => void > : ^ ^^ ^^ ^^ ^^^^^ >x : number @@ -58,20 +58,20 @@ module CallSignature { >y : number > : ^^^^^^ >cb : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo2(cb: any): any; ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var r3 = foo2((x: number, y: number) => 1); // ok because base returns void >r3 : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo2((x: number, y: number) => 1) : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -83,11 +83,11 @@ module CallSignature { var r4 = foo2((x: T) => ''); // ok because base returns void >r4 : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo2((x: T) => '') : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => '' : (x: T) => string > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.types b/tests/baselines/reference/subtypingWithCallSignatures2.types index da01215c6dfb5..092c2c532d2e3 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.types +++ b/tests/baselines/reference/subtypingWithCallSignatures2.types @@ -35,52 +35,52 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: (x: number) => number[]): typeof a; >foo1 : { (a: (x: number) => number[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: number) => number[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo1(a: any): any; ->foo1 : { (a: (x: number) => number[]): (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (a: (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo2(a: (x: number) => string[]): typeof a; >foo2 : { (a: (x: number) => string[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: number) => string[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo2(a: any): any; ->foo2 : { (a: (x: number) => string[]): (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a: (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo3(a: (x: number) => void): typeof a; >foo3 : { (a: (x: number) => void): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: number) => void > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo3(a: any): any; ->foo3 : { (a: (x: number) => void): (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a: (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo4(a: (x: string, y: number) => string): typeof a; >foo4 : { (a: (x: string, y: number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: string, y: number) => string > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -88,16 +88,16 @@ declare function foo4(a: (x: string, y: number) => string): typeof a; >y : number > : ^^^^^^ >a : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo4(a: any): any; ->foo4 : { (a: (x: string, y: number) => string): (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo4 : { (a: (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo5(a: (x: (arg: string) => number) => string): typeof a; >foo5 : { (a: (x: (arg: string) => number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: string) => number) => string > : ^ ^^ ^^^^^ >x : (arg: string) => number @@ -105,16 +105,16 @@ declare function foo5(a: (x: (arg: string) => number) => string): typeof a; >arg : string > : ^^^^^^ >a : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo5(a: any): any; ->foo5 : { (a: (x: (arg: string) => number) => string): (x: (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo5 : { (a: (x: (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo6(a: (x: (arg: Base) => Derived) => Base): typeof a; >foo6 : { (a: (x: (arg: Base) => Derived) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived) => Base > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -122,16 +122,16 @@ declare function foo6(a: (x: (arg: Base) => Derived) => Base): typeof a; >arg : Base > : ^^^^ >a : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo6(a: any): any; ->foo6 : { (a: (x: (arg: Base) => Derived) => Base): (x: (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo6 : { (a: (x: (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo7(a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; >foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -141,16 +141,16 @@ declare function foo7(a: (x: (arg: Base) => Derived) => (r: Base) => Derived): t >r : Base > : ^^^^ >a : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo7(a: any): any; ->foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo8(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; >foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -164,16 +164,16 @@ declare function foo8(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) >r : Base > : ^^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo8(a: any): any; ->foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo9(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; >foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -187,31 +187,31 @@ declare function foo9(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) >r : Base > : ^^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo9(a: any): any; ->foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo10(a: (...x: Derived[]) => Derived): typeof a; >foo10 : { (a: (...x: Derived[]) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (...x: Derived[]) => Derived > : ^^^^ ^^ ^^^^^ >x : Derived[] > : ^^^^^^^^^ >a : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ declare function foo10(a: any): any; ->foo10 : { (a: (...x: Derived[]) => Derived): (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a: (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo11(a: (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a; >foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -225,50 +225,50 @@ declare function foo11(a: (x: { foo: string }, y: { foo: string; bar: string }) >bar : string > : ^^^^^^ >a : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo11(a: any): any; ->foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo12(a: (x: Array, y: Array) => Array): typeof a; >foo12 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo12(a: any): any; ->foo12 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo13(a: (x: Array, y: Array) => Array): typeof a; >foo13 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived[] > : ^^^^^^^^^ ->a : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo13(a: any): any; ->foo13 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo13 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo14(a: (x: { a: string; b: number }) => Object): typeof a; >foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: { a: string; b: number; }) => Object > : ^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -278,16 +278,16 @@ declare function foo14(a: (x: { a: string; b: number }) => Object): typeof a; >b : number > : ^^^^^^ >a : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo14(a: any): any; ->foo14 : { (a: (x: { a: string; b: number; }) => Object): (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo15(a: { >foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: number): number[]; (x: string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -301,16 +301,16 @@ declare function foo15(a: { }): typeof a; >a : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo15(a: any): any; ->foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): { (x: number): number[]; (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo16(a: { >foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: T): number[]; (x: U): number[]; } > : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -324,16 +324,16 @@ declare function foo16(a: { }): typeof a; >a : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ declare function foo16(a: any): any; ->foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): { (x: T): number[]; (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo17(a: { >foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -351,16 +351,16 @@ declare function foo17(a: { }): typeof a; >a : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo17(a: any): any; ->foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo18(a: { >foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -392,11 +392,11 @@ declare function foo18(a: { }): any[]; }): typeof a; >a : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo18(a: any): any; ->foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any var r1arg1 = (x: T) => [x]; @@ -425,11 +425,11 @@ var r1arg2 = (x: number) => [1]; var r1 = foo1(r1arg1); // any, return types are not subtype of first overload >r1 : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo1(r1arg1) : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ ->foo1 : { (a: (x: number) => number[]): (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo1 : { (a: (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r1arg1 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^^^^ @@ -479,11 +479,11 @@ var r2arg2 = (x: number) => ['']; var r2 = foo2(r2arg1); >r2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(r2arg1) : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a: (x: number) => string[]): (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo2 : { (a: (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg1 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^^^^^^^^^ @@ -527,11 +527,11 @@ var r3arg2 = (x: number) => { }; var r3 = foo3(r3arg1); >r3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo3(r3arg1) : (x: number) => void -> : ^ ^^ ^^^^^^^^^ ->foo3 : { (a: (x: number) => void): (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo3 : { (a: (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : (x: T) => T > : ^ ^^ ^^ ^^^^^^ @@ -581,11 +581,11 @@ var r4arg2 = (x: string, y: number) => ''; var r4 = foo4(r4arg1); // any >r4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo4(r4arg1) : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->foo4 : { (a: (x: string, y: number) => string): (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo4 : { (a: (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : (x: T, y: U) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ @@ -635,11 +635,11 @@ var r5arg2 = (x: (arg: string) => number) => ''; var r5 = foo5(r5arg1); // any >r5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo5(r5arg1) : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ ->foo5 : { (a: (x: (arg: string) => number) => string): (x: (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo5 : { (a: (x: (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg1 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ @@ -689,11 +689,11 @@ var r6arg2 = (x: (arg: Base) => Derived) => null; var r6 = foo6(r6arg1); // any >r6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo6(r6arg1) : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ ->foo6 : { (a: (x: (arg: Base) => Derived) => Base): (x: (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo6 : { (a: (x: (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r6arg1 : (x: (arg: T) => U) => T > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ @@ -751,11 +751,11 @@ var r7arg2 = (x: (arg: Base) => Derived) => (r: Base) => null; var r7 = foo7(r7arg1); // any >r7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo7(r7arg1) : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg1 : (x: (arg: T) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -821,11 +821,11 @@ var r8arg2 = (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base var r8 = foo8(r8arg1); // any >r8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo8(r8arg1) : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg1 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -895,11 +895,11 @@ var r9arg2 = (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base var r9 = foo9(r9arg1); // any >r9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo9(r9arg1) : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -949,11 +949,11 @@ var r10arg2 = (...x: Derived[]) => null; var r10 = foo10(r10arg1); // any >r10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo10(r10arg1) : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ ->foo10 : { (a: (...x: Derived[]) => Derived): (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ +>foo10 : { (a: (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r10arg1 : (...x: T[]) => T > : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ @@ -1009,11 +1009,11 @@ var r11arg2 = (x: { foo: string }, y: { foo: string; bar: string }) => nul var r11 = foo11(r11arg1); // any >r11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo11(r11arg1) : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r11arg1 : (x: T, y: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ @@ -1062,12 +1062,12 @@ var r12arg2 = (x: Array, y: Array) => >null; > : ^^^^^^^^^ var r12 = foo12(r12arg1); // any ->r12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r12arg1) : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>r12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12(r12arg1) : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r12arg1 : >(x: Array, y: T) => Array > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ @@ -1116,12 +1116,12 @@ var r13arg2 = (x: Array, y: Array) => >null; > : ^^^^^^^^^ var r13 = foo13(r13arg1); // any ->r13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13(r13arg1) : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>r13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo13(r13arg1) : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo13 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r13arg1 : >(x: Array, y: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ @@ -1159,7 +1159,7 @@ var r14arg1 = (x: { a: T; b: T }) => x.a; >x.a : T > : ^ >x : { a: T; b: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : T > : ^ @@ -1180,8 +1180,8 @@ var r14arg2 = (x: { a: string; b: number }) => null; var r14 = foo14(r14arg1); // any >r14 : any >foo14(r14arg1) : any ->foo14 : { (a: (x: { a: string; b: number; }) => Object): (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r14arg1 : (x: { a: T; b: T; }) => T > : ^ ^^ ^^ ^^^^^^ @@ -1218,8 +1218,8 @@ var r15arg1 = (x: T) => null var r15 = foo15(r15arg1); // any >r15 : any >foo15(r15arg1) : any ->foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): { (x: number): number[]; (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r15arg1 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -1237,11 +1237,11 @@ var r16arg1 = (x: T) => [1]; var r16 = foo16(r16arg1); >r16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >foo16(r16arg1) : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): { (x: T): number[]; (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r16arg1 : (x: T) => number[] > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ @@ -1260,8 +1260,8 @@ var r17arg1 = (x: (a: T) => T) => null; var r17 = foo17(r17arg1); // any >r17 : any >foo17(r17arg1) : any ->foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r17arg1 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -1279,11 +1279,11 @@ var r18arg1 = (x: (a: T) => T) => null; var r18 = foo18(r18arg1); >r18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo18(r18arg1) : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r18arg1 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.types b/tests/baselines/reference/subtypingWithCallSignatures3.types index d589006c0b8ab..8e5ad84640194 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.types +++ b/tests/baselines/reference/subtypingWithCallSignatures3.types @@ -40,22 +40,22 @@ module Errors { declare function foo2(a2: (x: number) => string[]): typeof a2; >foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: number) => string[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: (x: number) => string[]): (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo7(a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; >foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -65,16 +65,16 @@ module Errors { >r : Base > : ^^^^ >a2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo7(a2: any): any; ->foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): (x: (arg: Base) => Derived) => (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo8(a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; >foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -88,31 +88,31 @@ module Errors { >r : Base > : ^^^^ >a2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo8(a2: any): any; ->foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo10(a2: (...x: Base[]) => Base): typeof a2; >foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (...x: Base[]) => Base > : ^^^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >a2 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ declare function foo10(a2: any): any; ->foo10 : { (a2: (...x: Base[]) => Base): (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo11(a2: (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a2; >foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -126,33 +126,33 @@ module Errors { >bar : string > : ^^^^^^ >a2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo11(a2: any): any; ->foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo12(a2: (x: Array, y: Array) => Array): typeof a2; >foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a2 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a2 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo12(a2: any): any; ->foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo15(a2: (x: { a: string; b: number }) => number): typeof a2; >foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -162,16 +162,16 @@ module Errors { >b : number > : ^^^^^^ >a2 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo15(a2: any): any; ->foo15 : { (a2: (x: { a: string; b: number; }) => number): (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo16(a2: { >foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -204,16 +204,16 @@ module Errors { }): boolean[]; }): typeof a2; >a2 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo16(a2: any): any; ->foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo17(a2: { >foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -245,20 +245,20 @@ module Errors { }): any[]; }): typeof a2; >a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo17(a2: any): any; ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r1 = foo2((x: T) => null); // any >r1 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2((x: T) => null) : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a2: (x: number) => string[]): (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => null : (x: T) => U[] > : ^ ^^ ^^ ^^ ^^^^^ >x : T @@ -340,11 +340,11 @@ module Errors { var r2 = foo7(r2arg); // any >r2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo7(r2arg) : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ ->foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): (x: (arg: Base) => Derived) => (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg : (x: (arg: T) => U) => (r: T) => V > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -413,8 +413,8 @@ module Errors { var r3 = foo8(r3arg); // any >r3 : any >foo8(r3arg) : any ->foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -460,11 +460,11 @@ module Errors { var r4 = foo10(r4arg); // any >r4 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo10(r4arg) : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ ->foo10 : { (a2: (...x: Base[]) => Base): (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ +>foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg : (...x: T[]) => T > : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ @@ -520,11 +520,11 @@ module Errors { var r5 = foo11(r5arg); // any >r5 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo11(r5arg) : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg : (x: T, y: T) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ @@ -573,12 +573,12 @@ module Errors { > : ^ var r6 = foo12(r6arg); // (x: Array, y: Array) => Array ->r6 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r6arg) : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>r6 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12(r6arg) : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r6arg : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ @@ -633,8 +633,8 @@ module Errors { var r7 = foo15(r7arg); // any >r7 : any >foo15(r7arg) : any ->foo15 : { (a2: (x: { a: string; b: number; }) => number): (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg : (x: { a: T; b: T; }) => T > : ^ ^^ ^^ ^^^^^ @@ -675,8 +675,8 @@ module Errors { var r7c = foo15(r7arg3); // (x: { a: string; b: number }) => number): number; >r7c : any >foo15(r7arg3) : any ->foo15 : { (a2: (x: { a: string; b: number; }) => number): (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg3 : (x: { a: T; b: T; }) => number > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ @@ -715,8 +715,8 @@ module Errors { var r8 = foo16(r8arg); // any >r8 : any >foo16(r8arg) : any ->foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -734,11 +734,11 @@ module Errors { var r9 = foo17(r9arg); // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; >r9 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo17(r9arg) : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg : (x: (a: T) => T) => any[] > : ^ ^^ ^^ ^^^^^ } @@ -749,17 +749,17 @@ module WithGenericSignaturesInBaseType { declare function foo2(a2: (x: T) => T[]): typeof a2; >foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: (x: T) => T[]): (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r2arg2 = (x: T) => ['']; @@ -777,24 +777,24 @@ module WithGenericSignaturesInBaseType { var r2 = foo2(r2arg2); // (x:T) => T[] since we can infer from generic signatures now >r2 : any >foo2(r2arg2) : any ->foo2 : { (a2: (x: T) => T[]): (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^^^^^^^^^ declare function foo3(a2: (x: T) => string[]): typeof a2; >foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function foo3(a2: any): any; ->foo3 : { (a2: (x: T) => string[]): (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r3arg2 = (x: T) => null; @@ -810,8 +810,8 @@ module WithGenericSignaturesInBaseType { var r3 = foo3(r3arg2); // any >r3 : any >foo3(r3arg2) : any ->foo3 : { (a2: (x: T) => string[]): (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg2 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.types b/tests/baselines/reference/subtypingWithCallSignatures4.types index 9d06664abbfdb..78cf2e7e51526 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.types +++ b/tests/baselines/reference/subtypingWithCallSignatures4.types @@ -35,7 +35,7 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: (x: T) => T[]); >foo1 : { (a: (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -48,7 +48,7 @@ declare function foo1(a: any): any; declare function foo2(a2: (x: T) => string[]); >foo2 : { (a2: (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -61,7 +61,7 @@ declare function foo2(a: any): any; declare function foo3(a3: (x: T) => void); >foo3 : { (a3: (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a3 : (x: T) => void > : ^ ^^ ^^ ^^^^^ >x : T @@ -74,7 +74,7 @@ declare function foo3(a: any): any; declare function foo4(a4: (x: T, y: U) => string); >foo4 : { (a4: (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -89,7 +89,7 @@ declare function foo4(a: any): any; declare function foo5(a5: (x: (arg: T) => U) => T); >foo5 : { (a5: (x: (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -104,7 +104,7 @@ declare function foo5(a: any): any; declare function foo6(a6: (x: (arg: T) => Derived) => T); >foo6 : { (a6: (x: (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a6 : (x: (arg: T) => Derived) => T > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived @@ -119,7 +119,7 @@ declare function foo6(a: any): any; declare function foo11(a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base); >foo11 : { (a11: (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -140,7 +140,7 @@ declare function foo11(a: any): any; declare function foo15(a15: (x: { a: T; b: T }) => T[]); >foo15 : { (a15: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a15 : (x: { a: T; b: T; }) => T[] > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -157,7 +157,7 @@ declare function foo15(a: any): any; declare function foo16(a16: (x: { a: T; b: T }) => T[]); >foo16 : { (a16: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a16 : (x: { a: T; b: T; }) => T[] > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -174,7 +174,7 @@ declare function foo16(a: any): any; declare function foo17(a17: { >foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } > : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -198,7 +198,7 @@ declare function foo17(a: any): any; declare function foo18(a18: { >foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -258,7 +258,7 @@ var r1 = foo1(r1arg); >r1 : any >foo1(r1arg) : any >foo1 : { (a: (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r1arg : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -310,7 +310,7 @@ var r2 = foo2(r2arg); >r2 : any >foo2(r2arg) : any >foo2 : { (a2: (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r2arg : (x: T) => string[] > : ^ ^^ ^^ ^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ var r3 = foo3(r3arg); >r3 : any >foo3(r3arg) : any >foo3 : { (a3: (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r3arg : (x: T) => T > : ^ ^^ ^^ ^^^^^ @@ -408,7 +408,7 @@ var r4 = foo4(r4arg); >r4 : any >foo4(r4arg) : any >foo4 : { (a4: (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r4arg : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ @@ -460,7 +460,7 @@ var r5 = foo5(r5arg); >r5 : any >foo5(r5arg) : any >foo5 : { (a5: (x: (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r5arg : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ @@ -512,7 +512,7 @@ var r6 = foo6(r6arg); >r6 : any >foo6(r6arg) : any >foo6 : { (a6: (x: (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r6arg : (x: (arg: T) => U) => T > : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ @@ -576,7 +576,7 @@ var r11 = foo11(r11arg); >r11 : any >foo11(r11arg) : any >foo11 : { (a11: (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r11arg : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @@ -632,7 +632,7 @@ var r15 = foo15(r15arg); >r15 : any >foo15(r15arg) : any >foo15 : { (a15: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r15arg : (x: { a: U; b: V; }) => U[] > : ^ ^^ ^^ ^^ ^^^^^ @@ -688,7 +688,7 @@ var r16 = foo16(r16arg); >r16 : any >foo16(r16arg) : any >foo16 : { (a16: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r16arg : (x: { a: T; b: T; }) => T[] > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ @@ -728,7 +728,7 @@ var r17 = foo17(r17arg); >r17 : any >foo17(r17arg) : any >foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r17arg : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -748,7 +748,7 @@ var r18 = foo18(r18arg); >r18 : any >foo18(r18arg) : any >foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r18arg : (x: (a: T) => T) => any[] > : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithCallSignaturesA.types b/tests/baselines/reference/subtypingWithCallSignaturesA.types index 80caccda05250..53953823f422b 100644 --- a/tests/baselines/reference/subtypingWithCallSignaturesA.types +++ b/tests/baselines/reference/subtypingWithCallSignaturesA.types @@ -9,15 +9,15 @@ declare function foo3(cb: (x: number) => number): typeof cb; >x : number > : ^^^^^^ >cb : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r5 = foo3((x: number) => ''); // error >r5 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo3((x: number) => '') : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->foo3 : (cb: (x: number) => number) => (x: number) => number -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo3 : (cb: (x: number) => number) => typeof cb +> : ^ ^^ ^^^^^ >(x: number) => '' : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/subtypingWithConstructSignatures.types b/tests/baselines/reference/subtypingWithConstructSignatures.types index 8d352d1673e53..a73396e328bf2 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures.types @@ -7,17 +7,17 @@ module ConstructSignature { declare function foo1(cb: new (x: number) => void): typeof cb; >foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : new (x: number) => void > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >cb : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo1(cb: any): any; ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var rarg1: new (x: number) => number; @@ -28,13 +28,13 @@ module ConstructSignature { var r = foo1(rarg1); // ok because base returns void >r : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo1(rarg1) : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >rarg1 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var rarg2: new (x: T) => string; >rarg2 : new (x: T) => string @@ -44,17 +44,17 @@ module ConstructSignature { var r2 = foo1(rarg2); // ok because base returns void >r2 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo1(rarg2) : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >rarg2 : new (x: T) => string -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo2(cb: new (x: number, y: number) => void): typeof cb; >foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : new (x: number, y: number) => void > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : number @@ -62,11 +62,11 @@ module ConstructSignature { >y : number > : ^^^^^^ >cb : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo2(cb: any): any; ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var r3arg1: new (x: number, y: number) => number; @@ -79,13 +79,13 @@ module ConstructSignature { var r3 = foo2(r3arg1); // ok because base returns void >r3 : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo2(r3arg1) : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4arg1: new (x: T) => string; >r4arg1 : new (x: T) => string @@ -95,11 +95,11 @@ module ConstructSignature { var r4 = foo2(r4arg1); // ok because base returns void >r4 : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo2(r4arg1) : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : new (x: T) => string -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/subtypingWithConstructSignatures2.types b/tests/baselines/reference/subtypingWithConstructSignatures2.types index 1addc391e00cd..eaec3c61c7ea2 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures2.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures2.types @@ -35,52 +35,52 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: new (x: number) => number[]): typeof a; >foo1 : { (a: new (x: number) => number[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: number) => number[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo1(a: any): any; ->foo1 : { (a: new (x: number) => number[]): new (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (a: new (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo2(a: new (x: number) => string[]): typeof a; >foo2 : { (a: new (x: number) => string[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo2(a: any): any; ->foo2 : { (a: new (x: number) => string[]): new (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a: new (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo3(a: new (x: number) => void): typeof a; >foo3 : { (a: new (x: number) => void): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: number) => void > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo3(a: any): any; ->foo3 : { (a: new (x: number) => void): new (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a: new (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo4(a: new (x: string, y: number) => string): typeof a; >foo4 : { (a: new (x: string, y: number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: string, y: number) => string > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : string @@ -88,16 +88,16 @@ declare function foo4(a: new (x: string, y: number) => string): typeof a; >y : number > : ^^^^^^ >a : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo4(a: any): any; ->foo4 : { (a: new (x: string, y: number) => string): new (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo4 : { (a: new (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo5(a: new (x: new (arg: string) => number) => string): typeof a; >foo5 : { (a: new (x: new (arg: string) => number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: string) => number) => string > : ^^^^^ ^^ ^^^^^ >x : new (arg: string) => number @@ -105,16 +105,16 @@ declare function foo5(a: new (x: new (arg: string) => number) => string): typeof >arg : string > : ^^^^^^ >a : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo5(a: any): any; ->foo5 : { (a: new (x: new (arg: string) => number) => string): new (x: new (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo5 : { (a: new (x: new (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo6(a: new (x: new (arg: Base) => Derived) => Base): typeof a; >foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived) => Base > : ^^^^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -122,16 +122,16 @@ declare function foo6(a: new (x: new (arg: Base) => Derived) => Base): typeof a; >arg : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo6(a: any): any; ->foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): new (x: new (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo7(a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; >foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -141,16 +141,16 @@ declare function foo7(a: new (x: new (arg: Base) => Derived) => new (r: Base) => >r : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo7(a: any): any; ->foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo8(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; >foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -164,16 +164,16 @@ declare function foo8(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) >r : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo8(a: any): any; ->foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo9(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; >foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -187,31 +187,31 @@ declare function foo9(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) >r : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo9(a: any): any; ->foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo10(a: new (...x: Derived[]) => Derived): typeof a; >foo10 : { (a: new (...x: Derived[]) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (...x: Derived[]) => Derived > : ^^^^^^^^ ^^ ^^^^^ >x : Derived[] > : ^^^^^^^^^ >a : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ declare function foo10(a: any): any; ->foo10 : { (a: new (...x: Derived[]) => Derived): new (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a: new (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo11(a: new (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a; >foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -225,50 +225,50 @@ declare function foo11(a: new (x: { foo: string }, y: { foo: string; bar: string >bar : string > : ^^^^^^ >a : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo11(a: any): any; ->foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo12(a: new (x: Array, y: Array) => Array): typeof a; >foo12 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo12(a: any): any; ->foo12 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo13(a: new (x: Array, y: Array) => Array): typeof a; >foo13 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived[] > : ^^^^^^^^^ ->a : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo13(a: any): any; ->foo13 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo13 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo14(a: new (x: { a: string; b: number }) => Object): typeof a; >foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: { a: string; b: number; }) => Object > : ^^^^^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -278,16 +278,16 @@ declare function foo14(a: new (x: { a: string; b: number }) => Object): typeof a >b : number > : ^^^^^^ >a : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo14(a: any): any; ->foo14 : { (a: new (x: { a: string; b: number; }) => Object): new (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo15(a: { >foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: number): number[]; new (x: string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -301,16 +301,16 @@ declare function foo15(a: { }): typeof a; >a : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo15(a: any): any; ->foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): { new (x: number): number[]; new (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo16(a: { >foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: T): number[]; new (x: U): number[]; } > : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -324,16 +324,16 @@ declare function foo16(a: { }): typeof a; >a : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ declare function foo16(a: any): any; ->foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): { new (x: T): number[]; new (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo17(a: { >foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -351,16 +351,16 @@ declare function foo17(a: { }): typeof a; >a : { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo17(a: any): any; ->foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo18(a: { >foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -392,11 +392,11 @@ declare function foo18(a: { }): any[]; }): typeof a; >a : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo18(a: any): any; ->foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any var r1arg1: new (x: T) => T[]; @@ -413,33 +413,33 @@ var r1arg2: new (x: number) => number[]; var r1 = foo1(r1arg1); // any, return types are not subtype of first overload >r1 : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo1(r1arg1) : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ ->foo1 : { (a: new (x: number) => number[]): new (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo1 : { (a: new (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r1arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1a = [r1arg2, r1arg1]; // generic signature, subtype in both directions >r1a : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg2, r1arg1] : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg2 : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r1arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b = [r1arg1, r1arg2]; // generic signature, subtype in both directions >r1b : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg1, r1arg2] : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r1arg2 : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2arg1: new (x: T) => string[]; >r2arg1 : new (x: T) => string[] @@ -455,33 +455,33 @@ var r2arg2: new (x: number) => string[]; var r2 = foo2(r2arg1); >r2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo2(r2arg1) : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a: new (x: number) => string[]): new (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo2 : { (a: new (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg1 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2a = [r2arg1, r2arg2]; >r2a : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg1, r2arg2] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg1 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r2arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2b = [r2arg2, r2arg1]; >r2b : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg2, r2arg1] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r2arg1 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3arg1: new (x: T) => T; >r3arg1 : new (x: T) => T @@ -497,33 +497,33 @@ var r3arg2: new (x: number) => void; var r3 = foo3(r3arg1); >r3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo3(r3arg1) : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ ->foo3 : { (a: new (x: number) => void): new (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo3 : { (a: new (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3a = [r3arg1, r3arg2]; >r3a : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r3arg1, r3arg2] : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r3arg1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r3arg2 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3b = [r3arg2, r3arg1]; >r3b : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r3arg2, r3arg1] : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r3arg2 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r3arg1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4arg1: new (x: T, y: U) => T; >r4arg1 : new (x: T, y: U) => T @@ -543,33 +543,33 @@ var r4arg2: new (x: string, y: number) => string; var r4 = foo4(r4arg1); // any >r4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo4(r4arg1) : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->foo4 : { (a: new (x: string, y: number) => string): new (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo4 : { (a: new (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4a = [r4arg1, r4arg2]; >r4a : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg1, r4arg2] : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg1 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r4arg2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b = [r4arg2, r4arg1]; >r4b : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg2, r4arg1] : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r4arg1 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r5arg1: new (x: new (arg: T) => U) => T; >r5arg1 : new (x: new (arg: T) => U) => T @@ -589,33 +589,33 @@ var r5arg2: new (x: new (arg: string) => number) => string; var r5 = foo5(r5arg1); // any >r5 : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo5(r5arg1) : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ ->foo5 : { (a: new (x: new (arg: string) => number) => string): new (x: new (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo5 : { (a: new (x: new (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg1, r5arg2]; >r5a : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r5arg1, r5arg2] : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r5arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5b = [r5arg2, r5arg1]; >r5b : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r5arg2, r5arg1] : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r5arg2 : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r5arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6arg1: new (x: new (arg: T) => U) => T; >r6arg1 : new (x: new (arg: T) => U) => T @@ -635,33 +635,33 @@ var r6arg2: new (x: new (arg: Base) => Derived) => Base; var r6 = foo6(r6arg1); // any >r6 : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo6(r6arg1) : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ ->foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): new (x: new (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6a = [r6arg1, r6arg2]; >r6a : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r6arg1, r6arg2] : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg2 : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6b = [r6arg2, r6arg1]; >r6b : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r6arg2, r6arg1] : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r6arg2 : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7arg1: new (x: new (arg: T) => U) => new (r: T) => U; >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U @@ -685,33 +685,33 @@ var r7arg2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived; var r7 = foo7(r7arg1); // any >r7 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo7(r7arg1) : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7a = [r7arg1, r7arg2]; >r7a : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r7arg1, r7arg2] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r7arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7b = [r7arg2, r7arg1]; >r7b : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r7arg2, r7arg1] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r7arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r8arg1: new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U; >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U @@ -743,33 +743,33 @@ var r8arg2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) var r8 = foo8(r8arg1); // any >r8 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo8(r8arg1) : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r8a = [r8arg1, r8arg2]; >r8a : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r8arg1, r8arg2] : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r8arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b = [r8arg2, r8arg1]; >r8b : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r8arg2, r8arg1] : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r8arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r9arg1: new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => new (r: T) => U; >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U @@ -806,30 +806,30 @@ var r9arg2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) var r9 = foo9(r9arg1); // any >r9 : any >foo9(r9arg1) : any ->foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r9a = [r9arg1, r9arg2]; >r9a : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r9arg1, r9arg2] : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r9arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r9b = [r9arg2, r9arg1]; >r9b : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r9arg2, r9arg1] : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r9arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r10arg1: new (...x: T[]) => T; >r10arg1 : new (...x: T[]) => T @@ -845,33 +845,33 @@ var r10arg2: new (...x: Derived[]) => Derived; var r10 = foo10(r10arg1); // any >r10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >foo10(r10arg1) : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ->foo10 : { (a: new (...x: Derived[]) => Derived): new (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ +>foo10 : { (a: new (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r10a = [r10arg1, r10arg2]; >r10a : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r10arg1, r10arg2] : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >r10arg2 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r10b = [r10arg2, r10arg1]; >r10b : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r10arg2, r10arg1] : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r10arg2 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r11arg1: new (x: T, y: T) => T; >r11arg1 : new (x: T, y: T) => T @@ -897,33 +897,33 @@ var r11arg2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; var r11 = foo11(r11arg1); // any >r11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo11(r11arg1) : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r11a = [r11arg1, r11arg2]; >r11a : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg1, r11arg2] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r11arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r11b = [r11arg2, r11arg1]; >r11b : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg2, r11arg1] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r12arg1: new >(x: Array, y: T) => Array; >r12arg1 : new >(x: Array, y: T) => Array @@ -942,34 +942,34 @@ var r12arg2: new (x: Array, y: Array) => Array; > : ^^^^^^^^^^ var r12 = foo12(r12arg1); // any ->r12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r12arg1) : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r12arg1 : new >(x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12(r12arg1) : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r12a = [r12arg1, r12arg2]; ->r12a : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r12arg1, r12arg2] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r12arg1 : new >(x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->r12arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r12a : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r12arg1, r12arg2] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>r12arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r12b = [r12arg2, r12arg1]; ->r12b : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r12arg2, r12arg1] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r12arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->r12arg1 : new >(x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r12b : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r12arg2, r12arg1] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r12arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r13arg1: new >(x: Array, y: T) => T; >r13arg1 : new >(x: Array, y: T) => T @@ -988,34 +988,34 @@ var r13arg2: new (x: Array, y: Array) => Array; > : ^^^^^^^^^ var r13 = foo13(r13arg1); // any ->r13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13(r13arg1) : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>r13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo13(r13arg1) : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo13 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r13arg1 : new >(x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r13a = [r13arg1, r13arg2]; ->r13a : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r13arg1, r13arg2] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>r13a : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r13arg1, r13arg2] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r13arg1 : new >(x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->r13arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>r13arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r13b = [r13arg2, r13arg1]; ->r13b : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r13arg2, r13arg1] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r13arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r13b : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r13arg2, r13arg1] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r13arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r13arg1 : new >(x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r14arg1: new (x: { a: T; b: T }) => T; >r14arg1 : new (x: { a: T; b: T; }) => T @@ -1040,30 +1040,30 @@ var r14arg2: new (x: { a: string; b: number }) => Object; var r14 = foo14(r14arg1); // any >r14 : any >foo14(r14arg1) : any ->foo14 : { (a: new (x: { a: string; b: number; }) => Object): new (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r14arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r14a = [r14arg1, r14arg2]; >r14a : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r14arg1, r14arg2] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r14arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r14arg2 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r14b = [r14arg2, r14arg1]; >r14b : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r14arg2, r14arg1] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r14arg2 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r14arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r15arg1: new (x: T) => T[]; >r15arg1 : new (x: T) => T[] @@ -1074,10 +1074,10 @@ var r15arg1: new (x: T) => T[]; var r15 = foo15(r15arg1); // any >r15 : any >foo15(r15arg1) : any ->foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): { new (x: number): number[]; new (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r15arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r16arg1: new (x: T) => number[]; >r16arg1 : new (x: T) => number[] @@ -1087,13 +1087,13 @@ var r16arg1: new (x: T) => number[]; var r16 = foo16(r16arg1); >r16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >foo16(r16arg1) : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): { new (x: T): number[]; new (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r16arg1 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r17arg1: new (x: (a: T) => T) => T[]; >r17arg1 : new (x: (a: T) => T) => T[] @@ -1106,10 +1106,10 @@ var r17arg1: new (x: (a: T) => T) => T[]; var r17 = foo17(r17arg1); // any >r17 : any >foo17(r17arg1) : any ->foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r17arg1 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r18arg1: new (x: (a: T) => T) => T[]; >r18arg1 : new (x: (a: T) => T) => T[] @@ -1122,8 +1122,8 @@ var r18arg1: new (x: (a: T) => T) => T[]; var r18 = foo18(r18arg1); >r18 : any >foo18(r18arg1) : any ->foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r18arg1 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.types b/tests/baselines/reference/subtypingWithConstructSignatures3.types index 2e9ddf5174bfd..d6cd126a6f618 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.types @@ -40,22 +40,22 @@ module Errors { declare function foo2(a2: new (x: number) => string[]): typeof a2; >foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: new (x: number) => string[]): new (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo7(a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; >foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 > : ^^^^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -65,16 +65,16 @@ module Errors { >r : Base > : ^^^^ >a2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo7(a2: any): any; ->foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo8(a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; >foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -88,31 +88,31 @@ module Errors { >r : Base > : ^^^^ >a2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo8(a2: any): any; ->foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo10(a2: new (...x: Base[]) => Base): typeof a2; >foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (...x: Base[]) => Base > : ^^^^^^^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >a2 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ declare function foo10(a2: any): any; ->foo10 : { (a2: new (...x: Base[]) => Base): new (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo11(a2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a2; >foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -126,33 +126,33 @@ module Errors { >bar : string > : ^^^^^^ >a2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo11(a2: any): any; ->foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo12(a2: new (x: Array, y: Array) => Array): typeof a2; >foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo12(a2: any): any; ->foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo15(a2: new (x: { a: string; b: number }) => number): typeof a2; >foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: { a: string; b: number; }) => number > : ^^^^^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -162,16 +162,16 @@ module Errors { >b : number > : ^^^^^^ >a2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo15(a2: any): any; ->foo15 : { (a2: new (x: { a: string; b: number; }) => number): new (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo16(a2: { >foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -204,16 +204,16 @@ module Errors { }): boolean[]; }): typeof a2; >a2 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo16(a2: any): any; ->foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo17(a2: { >foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -245,11 +245,11 @@ module Errors { }): any[]; }): typeof a2; >a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo17(a2: any): any; ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r1arg1: new (x: T) => U[]; @@ -266,33 +266,33 @@ module Errors { var r1 = foo2(r1arg1); // any >r1 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo2(r1arg1) : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a2: new (x: number) => string[]): new (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r1arg1 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a = [r1arg2, r1arg1]; >r1a : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg2, r1arg1] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r1arg1 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b = [r1arg1, r1arg2]; >r1b : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg1, r1arg2] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg1 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r1arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2arg1: new (x: new (arg: T) => U) => new (r: T) => V; >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V @@ -316,33 +316,33 @@ module Errors { var r2 = foo7(r2arg1); // any >r2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo7(r2arg1) : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ->foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r2a = [r2arg2, r2arg1]; >r2a : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg2, r2arg1] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r2b = [r2arg1, r2arg2]; >r2b : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg1, r2arg2] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r2arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3arg1: new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U; >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U @@ -377,30 +377,30 @@ module Errors { var r3 = foo8(r3arg1); // any >r3 : any >foo8(r3arg1) : any ->foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r3a = [r3arg2, r3arg1]; >r3a : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r3arg2, r3arg1] : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r3arg2 : new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r3b = [r3arg1, r3arg2]; >r3b : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r3arg1, r3arg2] : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r3arg2 : new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4arg1: new (...x: T[]) => T; >r4arg1 : new (...x: T[]) => T @@ -416,33 +416,33 @@ module Errors { var r4 = foo10(r4arg1); // any >r4 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >foo10(r4arg1) : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ ->foo10 : { (a2: new (...x: Base[]) => Base): new (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ +>foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r4a = [r4arg2, r4arg1]; >r4a : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r4arg2, r4arg1] : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r4arg2 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r4b = [r4arg1, r4arg2]; >r4b : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r4arg1, r4arg2] : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >r4arg2 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5arg1: new (x: T, y: T) => T; >r5arg1 : new (x: T, y: T) => T @@ -468,33 +468,33 @@ module Errors { var r5 = foo11(r5arg1); // any >r5 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo11(r5arg1) : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg2, r5arg1]; >r5a : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg2, r5arg1] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b = [r5arg1, r5arg2]; >r5b : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg1, r5arg2] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6arg1: new (x: Array, y: Array) => Array; >r6arg1 : new (x: Array, y: Array) => Array @@ -513,34 +513,34 @@ module Errors { > : ^^^^^^ var r6 = foo12(r6arg1); // new (x: Array, y: Array) => Array ->r6 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r6arg1) : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r6arg1 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r6 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12(r6arg1) : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r6arg1 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a = [r6arg2, r6arg1]; ->r6a : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r6arg2, r6arg1] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>r6a : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r6arg2, r6arg1] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r6arg2 : new >(x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ->r6arg1 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>r6arg1 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b = [r6arg1, r6arg2]; ->r6b : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r6arg1, r6arg2] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r6arg1 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r6b : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r6arg1, r6arg2] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r6arg1 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r6arg2 : new >(x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r7arg1: new (x: { a: T; b: T }) => T; >r7arg1 : new (x: { a: T; b: T; }) => T @@ -565,30 +565,30 @@ module Errors { var r7 = foo15(r7arg1); // (x: { a: string; b: number }) => number): number; >r7 : any >foo15(r7arg1) : any ->foo15 : { (a2: new (x: { a: string; b: number; }) => number): new (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7a = [r7arg2, r7arg1]; >r7a : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r7arg2, r7arg1] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r7arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b = [r7arg1, r7arg2]; >r7b : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r7arg1, r7arg2] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r7arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7arg3: new (x: { a: T; b: T }) => number; >r7arg3 : new (x: { a: T; b: T; }) => number @@ -603,30 +603,30 @@ module Errors { var r7c = foo15(r7arg3); // any >r7c : any >foo15(r7arg3) : any ->foo15 : { (a2: new (x: { a: string; b: number; }) => number): new (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7d = [r7arg2, r7arg3]; >r7d : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >[r7arg2, r7arg3] : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7e = [r7arg3, r7arg2]; >r7e : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >[r7arg3, r7arg2] : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8arg: new (x: new (a: T) => T) => T[]; >r8arg : new (x: new (a: T) => T) => T[] @@ -639,10 +639,10 @@ module Errors { var r8 = foo16(r8arg); // any >r8 : any >foo16(r8arg) : any ->foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r9arg: new (x: new (a: T) => T) => any[]; >r9arg : new (x: new (a: T) => T) => any[] @@ -654,13 +654,13 @@ module Errors { var r9 = foo17(r9arg); // // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; >r9 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >foo17(r9arg) : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } module WithGenericSignaturesInBaseType { @@ -669,17 +669,17 @@ module WithGenericSignaturesInBaseType { declare function foo2(a2: new (x: T) => T[]): typeof a2; >foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: new (x: T) => T[]): new (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r2arg2: new (x: T) => string[]; @@ -691,24 +691,24 @@ module WithGenericSignaturesInBaseType { var r2 = foo2(r2arg2); // (x:T) => T[] since we can infer from generic signatures now >r2 : any >foo2(r2arg2) : any ->foo2 : { (a2: new (x: T) => T[]): new (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo3(a2: new (x: T) => string[]): typeof a2; >foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo3(a2: any): any; ->foo3 : { (a2: new (x: T) => string[]): new (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r3arg2: new (x: T) => T[]; @@ -720,8 +720,8 @@ module WithGenericSignaturesInBaseType { var r3 = foo3(r3arg2); // any >r3 : any >foo3(r3arg2) : any ->foo3 : { (a2: new (x: T) => string[]): new (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/subtypingWithConstructSignatures4.types b/tests/baselines/reference/subtypingWithConstructSignatures4.types index ea5a19588acfc..ddb86070c245b 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures4.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures4.types @@ -35,7 +35,7 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: new (x: T) => T[]); >foo1 : { (a: new (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -48,7 +48,7 @@ declare function foo1(a: any): any; declare function foo2(a2: new (x: T) => string[]); >foo2 : { (a2: new (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -61,7 +61,7 @@ declare function foo2(a: any): any; declare function foo3(a3: new (x: T) => void); >foo3 : { (a3: new (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a3 : new (x: T) => void > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -74,7 +74,7 @@ declare function foo3(a: any): any; declare function foo4(a4: new (x: T, y: U) => string); >foo4 : { (a4: new (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -89,7 +89,7 @@ declare function foo4(a: any): any; declare function foo5(a5: new (x: new (arg: T) => U) => T); >foo5 : { (a5: new (x: new (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a5 : new (x: new (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U @@ -104,7 +104,7 @@ declare function foo5(a: any): any; declare function foo6(a6: new (x: new (arg: T) => Derived) => T); >foo6 : { (a6: new (x: new (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a6 : new (x: new (arg: T) => Derived) => T > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => Derived @@ -119,7 +119,7 @@ declare function foo6(a: any): any; declare function foo11(a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base); >foo11 : { (a11: new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -140,7 +140,7 @@ declare function foo11(a: any): any; declare function foo15(a15: new (x: { a: T; b: T }) => T[]); >foo15 : { (a15: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a15 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -157,7 +157,7 @@ declare function foo15(a: any): any; declare function foo16(a16: new (x: { a: T; b: T }) => T[]); >foo16 : { (a16: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a16 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -174,7 +174,7 @@ declare function foo16(a: any): any; declare function foo17(a17: { >foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } > : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ @@ -198,7 +198,7 @@ declare function foo17(a: any): any; declare function foo18(a18: { >foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -250,29 +250,29 @@ var r1 = foo1(r1arg); >r1 : any >foo1(r1arg) : any >foo1 : { (a: new (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r1arg : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1a = [r1arg, r1arg2]; >r1a : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r1arg, r1arg2] : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r1arg : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r1arg2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b = [r1arg2, r1arg]; >r1b : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r1arg2, r1arg] : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r1arg2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r1arg : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2arg: new (x: T) => string[]; >r2arg : new (x: T) => string[] @@ -290,29 +290,29 @@ var r2 = foo2(r2arg); >r2 : any >foo2(r2arg) : any >foo2 : { (a2: new (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r2arg : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2a = [r2arg, r2arg2]; >r2a : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r2arg, r2arg2] : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r2arg : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r2arg2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b = [r2arg2, r2arg]; >r2b : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r2arg2, r2arg] : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r2arg2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r2arg : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3arg: new (x: T) => T; >r3arg : new (x: T) => T @@ -330,29 +330,29 @@ var r3 = foo3(r3arg); >r3 : any >foo3(r3arg) : any >foo3 : { (a3: new (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r3arg : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3a = [r3arg, r3arg2]; >r3a : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r3arg, r3arg2] : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r3arg : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r3arg2 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b = [r3arg2, r3arg]; >r3b : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r3arg2, r3arg] : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r3arg2 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r3arg : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4arg: new (x: T, y: U) => string; >r4arg : new (x: T, y: U) => string @@ -374,29 +374,29 @@ var r4 = foo4(r4arg); >r4 : any >foo4(r4arg) : any >foo4 : { (a4: new (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r4arg : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4a = [r4arg, r4arg2]; >r4a : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg, r4arg2] : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r4arg2 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4b = [r4arg2, r4arg]; >r4b : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg2, r4arg] : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg2 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r4arg : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r5arg: new (x: new (arg: T) => U) => T; >r5arg : new (x: new (arg: T) => U) => T @@ -418,29 +418,29 @@ var r5 = foo5(r5arg); >r5 : any >foo5(r5arg) : any >foo5 : { (a5: new (x: new (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r5arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg, r5arg2]; >r5a : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg, r5arg2] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b = [r5arg2, r5arg]; >r5b : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg2, r5arg] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg2 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6arg: new (x: new (arg: T) => U) => T; >r6arg : new (x: new (arg: T) => U) => T @@ -462,29 +462,29 @@ var r6 = foo6(r6arg); >r6 : any >foo6(r6arg) : any >foo6 : { (a6: new (x: new (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6a = [r6arg, r6arg2]; >r6a : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r6arg, r6arg2] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg2 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6b = [r6arg2, r6arg]; >r6b : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r6arg2, r6arg] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r6arg2 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r11arg: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -518,29 +518,29 @@ var r11 = foo11(r11arg); >r11 : any >foo11(r11arg) : any >foo11 : { (a11: new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r11a = [r11arg, r11arg2]; >r11a : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg, r11arg2] : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r11arg2 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r11b = [r11arg2, r11arg]; >r11b : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg2, r11arg] : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg2 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r15arg: new (x: { a: U; b: V; }) => U[]; >r15arg : new (x: { a: U; b: V; }) => U[] @@ -566,29 +566,29 @@ var r15 = foo15(r15arg); >r15 : any >foo15(r15arg) : any >foo15 : { (a15: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r15arg : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r15a = [r15arg, r15arg2]; >r15a : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r15arg, r15arg2] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r15arg : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r15arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r15b = [r15arg2, r15arg]; >r15b : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r15arg2, r15arg] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r15arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r15arg : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r16arg: new (x: { a: T; b: T }) => T[]; >r16arg : new (x: { a: T; b: T; }) => T[] @@ -614,29 +614,29 @@ var r16 = foo16(r16arg); >r16 : any >foo16(r16arg) : any >foo16 : { (a16: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r16a = [r16arg, r16arg2]; >r16a : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r16arg, r16arg2] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r16arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r16b = [r16arg2, r16arg]; >r16b : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r16arg2, r16arg] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r16arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r17arg: new (x: new (a: T) => T) => T[]; >r17arg : new (x: new (a: T) => T) => T[] @@ -650,9 +650,9 @@ var r17 = foo17(r17arg); >r17 : any >foo17(r17arg) : any >foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r17arg : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r18arg: new (x: new (a: T) => T) => any[]; >r18arg : new (x: new (a: T) => T) => any[] @@ -666,7 +666,7 @@ var r18 = foo18(r18arg); >r18 : any >foo18(r18arg) : any >foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r18arg : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality.types index f97706d59404c..fe1a49a8f69b0 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality.types @@ -78,13 +78,13 @@ var b = { Foo: null }; var r = true ? a : b; >r : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true ? a : b : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { Foo: Derived; } > : ^^^^^^^ ^^^ @@ -147,13 +147,13 @@ module TwoLevels { var r = true ? a : b; >r : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true ? a : b : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { Foo: Derived2; } > : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types index ba44de41be63d..3d378d6eeb933 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types @@ -62,13 +62,13 @@ var b: { Foo?: Derived; } var r = true ? a : b; // ok >r : { Foo: Base; } | { Foo?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true ? a : b : { Foo: Base; } | { Foo?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { Foo?: Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types index 9adf04f816183..2c130f4ed4d1d 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types @@ -62,13 +62,13 @@ var b: { Foo2: Derived; } var r = true ? a : b; // ok >r : { Foo?: Base; } | { Foo2: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true ? a : b : { Foo?: Base; } | { Foo2: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { Foo2: Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types index a32f74851f6cd..ae0d15c7bef44 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types @@ -62,13 +62,13 @@ var b: { Foo2?: Derived; } var r = true ? a : b; // ok >r : { Foo: Base; } | { Foo2?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >true ? a : b : { Foo: Base; } | { Foo2?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { Foo2?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/subtypingWithOptionalProperties.types b/tests/baselines/reference/subtypingWithOptionalProperties.types index 55fd5a633f1b6..4ae83a6d2ec3a 100644 --- a/tests/baselines/reference/subtypingWithOptionalProperties.types +++ b/tests/baselines/reference/subtypingWithOptionalProperties.types @@ -20,16 +20,16 @@ function f(a: T) { return b; >b : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } var r = f({ s: new Object() }); // ok >r : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >f({ s: new Object() }) : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >f : (a: T) => { s?: number; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ >{ s: new Object() } : { s: Object; } > : ^^^^^^^^^^^^^^ >s : Object @@ -45,19 +45,19 @@ r.s && r.s.toFixed(); // would blow up at runtime >r.s : number > : ^^^^^^ >r : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >s : number > : ^^^^^^ >r.s.toFixed() : string > : ^^^^^^ >r.s.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >r.s : number > : ^^^^^^ >r : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >s : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/superAccessCastedCall.types b/tests/baselines/reference/superAccessCastedCall.types index bb5fd6ecefb85..cdb9372379642 100644 --- a/tests/baselines/reference/superAccessCastedCall.types +++ b/tests/baselines/reference/superAccessCastedCall.types @@ -48,22 +48,22 @@ class Bar extends Foo { >super.bar() : void > : ^^^^ >super.bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : Foo > : ^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ (super.bar as any)(); >(super.bar as any)() : any >(super.bar as any) : any >super.bar as any : any >super.bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : Foo > : ^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superCallParameterContextualTyping1.types b/tests/baselines/reference/superCallParameterContextualTyping1.types index 122b32826f1b2..cd82d3fdff992 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping1.types +++ b/tests/baselines/reference/superCallParameterContextualTyping1.types @@ -37,10 +37,10 @@ class B extends A { >value.toExponential() : string > : ^^^^^^ >value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/superCalls.types b/tests/baselines/reference/superCalls.types index c00ff7b88d8da..4d589be9c8ae8 100644 --- a/tests/baselines/reference/superCalls.types +++ b/tests/baselines/reference/superCalls.types @@ -58,7 +58,7 @@ class Derived extends Base { >v() : void > : ^^^^ >v : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superElementAccess.types b/tests/baselines/reference/superElementAccess.types index 37a972a7bdb7e..80aa6983493c2 100644 --- a/tests/baselines/reference/superElementAccess.types +++ b/tests/baselines/reference/superElementAccess.types @@ -75,7 +75,7 @@ class MyDerived extends MyBase { >l2 : any >super["m1"].bind(this) : any >super["m1"].bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super["m1"] : (a: string) => string > : ^ ^^ ^^^^^^^^^^^ >super : MyBase @@ -83,7 +83,7 @@ class MyDerived extends MyBase { >"m1" : "m1" > : ^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ @@ -102,15 +102,15 @@ class MyDerived extends MyBase { super["m2"].bind(this); // Should error, instance property, not a public instance member function >super["m2"].bind(this) : any >super["m2"].bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super["m2"] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >"m2" : "m2" > : ^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/superErrors.types b/tests/baselines/reference/superErrors.types index 4dca74f95e5fb..749d4be7827c5 100644 --- a/tests/baselines/reference/superErrors.types +++ b/tests/baselines/reference/superErrors.types @@ -144,11 +144,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // super call in a lambda in an inner function in a method function inner() { diff --git a/tests/baselines/reference/superHasMethodsFromMergedInterface.types b/tests/baselines/reference/superHasMethodsFromMergedInterface.types index 650a159d0cdf3..44e99381f1880 100644 --- a/tests/baselines/reference/superHasMethodsFromMergedInterface.types +++ b/tests/baselines/reference/superHasMethodsFromMergedInterface.types @@ -25,11 +25,11 @@ class Sub extends C { >super.m2() : void > : ^^^^ >super.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : C > : ^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superInCatchBlock1.types b/tests/baselines/reference/superInCatchBlock1.types index 40685b5f3c2d3..3823cb1dd3e96 100644 --- a/tests/baselines/reference/superInCatchBlock1.types +++ b/tests/baselines/reference/superInCatchBlock1.types @@ -28,11 +28,11 @@ class B extends A { >super.m() : void > : ^^^^ >super.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/superInLambdas.types b/tests/baselines/reference/superInLambdas.types index c1a1860e72c6d..dd99d71f2cbda 100644 --- a/tests/baselines/reference/superInLambdas.types +++ b/tests/baselines/reference/superInLambdas.types @@ -43,11 +43,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // super call in a lambda in a constructor var x = () => super.sayHello(); @@ -58,11 +58,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } sayHello(): void { >sayHello : () => void @@ -73,11 +73,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // super call in a lambda in a method var x = () => super.sayHello(); @@ -88,11 +88,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } class RegisteredUser2 extends User { @@ -127,11 +127,11 @@ class RegisteredUser2 extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } sayHello(): void { >sayHello : () => void @@ -150,11 +150,11 @@ class RegisteredUser2 extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superPropertyAccess.types b/tests/baselines/reference/superPropertyAccess.types index 67307bded180e..3ce3267ade197 100644 --- a/tests/baselines/reference/superPropertyAccess.types +++ b/tests/baselines/reference/superPropertyAccess.types @@ -77,7 +77,7 @@ class MyDerived extends MyBase { >super.m1.bind(this) : any > : ^^^ >super.m1.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super.m1 : (a: string) => string > : ^ ^^ ^^^^^^^^^^^ >super : MyBase @@ -85,7 +85,7 @@ class MyDerived extends MyBase { >m1 : (a: string) => string > : ^ ^^ ^^^^^^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ @@ -105,15 +105,15 @@ class MyDerived extends MyBase { >super.m2.bind(this) : any > : ^^^ >super.m2.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/superPropertyAccessInSuperCall01.types b/tests/baselines/reference/superPropertyAccessInSuperCall01.types index 12bf1338cb174..9873094c38072 100644 --- a/tests/baselines/reference/superPropertyAccessInSuperCall01.types +++ b/tests/baselines/reference/superPropertyAccessInSuperCall01.types @@ -31,10 +31,10 @@ class B extends A { >super.blah() : string > : ^^^^^^ >super.blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superPropertyAccess_ES5.types b/tests/baselines/reference/superPropertyAccess_ES5.types index 0dcb537470796..e18478006e2aa 100644 --- a/tests/baselines/reference/superPropertyAccess_ES5.types +++ b/tests/baselines/reference/superPropertyAccess_ES5.types @@ -37,11 +37,11 @@ class MyDerived extends MyBase { >super.getValue() : number > : ^^^^^^ >super.getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const f2 = super.value; >f2 : number diff --git a/tests/baselines/reference/superPropertyAccess_ES6.types b/tests/baselines/reference/superPropertyAccess_ES6.types index 81b5b6bf0bfe8..4fa6d804dc43a 100644 --- a/tests/baselines/reference/superPropertyAccess_ES6.types +++ b/tests/baselines/reference/superPropertyAccess_ES6.types @@ -37,11 +37,11 @@ class MyDerived extends MyBase { >super.getValue() : number > : ^^^^^^ >super.getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const f2 = super.value; >f2 : number diff --git a/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types b/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types index aac2b20b69bac..d7849841a7a0e 100644 --- a/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types +++ b/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types @@ -26,11 +26,11 @@ class C1 extends B { >super.x() : string > : ^^^^^^ >super.x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : B > : ^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(); >super() : void @@ -54,10 +54,10 @@ class C2 extends B { >super.x() : string > : ^^^^^^ >super.x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : B > : ^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess1.types b/tests/baselines/reference/superSymbolIndexedAccess1.types index a64f4a8778e9d..122a3be1e875c 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess1.types +++ b/tests/baselines/reference/superSymbolIndexedAccess1.types @@ -7,11 +7,11 @@ var symbol = Symbol.for('myThing'); >Symbol.for('myThing') : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'myThing' : "myThing" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/superSymbolIndexedAccess3.types b/tests/baselines/reference/superSymbolIndexedAccess3.types index 14bdfadc07368..d730df2549406 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess3.types +++ b/tests/baselines/reference/superSymbolIndexedAccess3.types @@ -7,11 +7,11 @@ var symbol = Symbol.for('myThing'); >Symbol.for('myThing') : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'myThing' : "myThing" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/superSymbolIndexedAccess4.types b/tests/baselines/reference/superSymbolIndexedAccess4.types index f3d7f7e5b48b3..9299444b543ae 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess4.types +++ b/tests/baselines/reference/superSymbolIndexedAccess4.types @@ -7,11 +7,11 @@ var symbol = Symbol.for('myThing'); >Symbol.for('myThing') : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'myThing' : "myThing" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/switchCaseCircularRefeference.types b/tests/baselines/reference/switchCaseCircularRefeference.types index 3a730a2bf2a99..cf253d61727bf 100644 --- a/tests/baselines/reference/switchCaseCircularRefeference.types +++ b/tests/baselines/reference/switchCaseCircularRefeference.types @@ -21,13 +21,13 @@ function f(x: {a: "A", b} | {a: "C", e}) { >x.a : "A" | "C" > : ^^^^^^^^^ >x : { a: "A"; b: any; } | { a: "C"; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >a : "A" | "C" > : ^^^^^^^^^ case x: >x : { a: "A"; b: any; } | { a: "C"; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ break; } diff --git a/tests/baselines/reference/switchWithConstrainedTypeVariable.types b/tests/baselines/reference/switchWithConstrainedTypeVariable.types index 7239c52755347..478e1899b3203 100644 --- a/tests/baselines/reference/switchWithConstrainedTypeVariable.types +++ b/tests/baselines/reference/switchWithConstrainedTypeVariable.types @@ -21,11 +21,11 @@ function function1(key: T) { >key.toLowerCase() : string > : ^^^^^^ >key.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >key : "a" > : ^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; default: @@ -33,11 +33,11 @@ function function1(key: T) { >key.toLowerCase() : string > : ^^^^^^ >key.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >key : "b" > : ^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; } diff --git a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types index 11fae9be18569..8b1ba367165b6 100644 --- a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types +++ b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types @@ -24,11 +24,11 @@ export const CONTROLLER_CLASS = BindingKey.create(null as any); >BindingKey.create(null as any) : BindingKey > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >BindingKey.create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ >BindingKey : typeof BindingKey > : ^^^^^^^^^^^^^^^^^ >create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ >null as any : any === /monorepo/context/src/value-promise.d.ts === diff --git a/tests/baselines/reference/symbolMergeValueAndImportedType.types b/tests/baselines/reference/symbolMergeValueAndImportedType.types index 15bc0f89945ec..b3266e750ca62 100644 --- a/tests/baselines/reference/symbolMergeValueAndImportedType.types +++ b/tests/baselines/reference/symbolMergeValueAndImportedType.types @@ -15,11 +15,11 @@ console.log('X is ' + X); >console.log('X is ' + X) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'X is ' + X : string > : ^^^^^^ >'X is ' : "X is " diff --git a/tests/baselines/reference/symbolProperty13.types b/tests/baselines/reference/symbolProperty13.types index 3220c3b0a0828..03d2e46ca1a48 100644 --- a/tests/baselines/reference/symbolProperty13.types +++ b/tests/baselines/reference/symbolProperty13.types @@ -32,31 +32,31 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : I > : ^ >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -69,7 +69,7 @@ var i: I; bar(i); >bar(i) : any >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty14.types b/tests/baselines/reference/symbolProperty14.types index 0fd2bdd63aca8..6a85f174bc504 100644 --- a/tests/baselines/reference/symbolProperty14.types +++ b/tests/baselines/reference/symbolProperty14.types @@ -32,31 +32,31 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : I > : ^ >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -69,7 +69,7 @@ var i: I; bar(i); >bar(i) : any >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty15.types b/tests/baselines/reference/symbolProperty15.types index 724f1e6ec1188..ccb9db540cc99 100644 --- a/tests/baselines/reference/symbolProperty15.types +++ b/tests/baselines/reference/symbolProperty15.types @@ -20,30 +20,30 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : any >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -57,7 +57,7 @@ bar(i); >bar(i) : C > : ^ >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty16.types b/tests/baselines/reference/symbolProperty16.types index 0a58f4498342a..9a47056b7ebfb 100644 --- a/tests/baselines/reference/symbolProperty16.types +++ b/tests/baselines/reference/symbolProperty16.types @@ -31,30 +31,30 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : any >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -67,7 +67,7 @@ var i: I; bar(i); >bar(i) : any >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty21.types b/tests/baselines/reference/symbolProperty21.types index 19792d05f3fda..12c806099fec0 100644 --- a/tests/baselines/reference/symbolProperty21.types +++ b/tests/baselines/reference/symbolProperty21.types @@ -37,7 +37,7 @@ foo({ >foo({ [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, [Symbol.unscopables]: true}) : { t: boolean; u: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (p: I) => { t: T; u: U; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, [Symbol.unscopables]: true} : { [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/symbolProperty22.types b/tests/baselines/reference/symbolProperty22.types index cd0fbf012f1e8..6e95426ea4b53 100644 --- a/tests/baselines/reference/symbolProperty22.types +++ b/tests/baselines/reference/symbolProperty22.types @@ -27,7 +27,7 @@ foo("", { [Symbol.unscopables]: s => s.length }); >foo("", { [Symbol.unscopables]: s => s.length }) : number > : ^^^^^^ >foo : (p1: T, p2: I) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >{ [Symbol.unscopables]: s => s.length } : { [Symbol.unscopables]: (s: string) => number; } diff --git a/tests/baselines/reference/symbolProperty39.types b/tests/baselines/reference/symbolProperty39.types index e545fddc025de..b4344581df000 100644 --- a/tests/baselines/reference/symbolProperty39.types +++ b/tests/baselines/reference/symbolProperty39.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -19,7 +19,7 @@ class C { [Symbol.iterator](x: number): number; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -31,7 +31,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -47,7 +47,7 @@ class C { } [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty40.types b/tests/baselines/reference/symbolProperty40.types index 49f286dd23e7f..e23f4b0a85a50 100644 --- a/tests/baselines/reference/symbolProperty40.types +++ b/tests/baselines/reference/symbolProperty40.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -19,7 +19,7 @@ class C { [Symbol.iterator](x: number): number; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -31,7 +31,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -58,7 +58,7 @@ c[Symbol.iterator](""); >c[Symbol.iterator]("") : string > : ^^^^^^ >c[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol @@ -74,7 +74,7 @@ c[Symbol.iterator](0); >c[Symbol.iterator](0) : number > : ^^^^^^ >c[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/symbolProperty41.types b/tests/baselines/reference/symbolProperty41.types index 8ccbd226ba847..2af10a276c17f 100644 --- a/tests/baselines/reference/symbolProperty41.types +++ b/tests/baselines/reference/symbolProperty41.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): { x: string }; >[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -21,7 +21,7 @@ class C { [Symbol.iterator](x: "hello"): { x: string; hello: string }; >[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -37,7 +37,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -62,9 +62,9 @@ var c = new C; c[Symbol.iterator](""); >c[Symbol.iterator]("") : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol @@ -78,9 +78,9 @@ c[Symbol.iterator](""); c[Symbol.iterator]("hello"); >c[Symbol.iterator]("hello") : { x: string; hello: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >c[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/symbolProperty42.types b/tests/baselines/reference/symbolProperty42.types index 049a355035923..9bdce0407e9e2 100644 --- a/tests/baselines/reference/symbolProperty42.types +++ b/tests/baselines/reference/symbolProperty42.types @@ -31,7 +31,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty43.types b/tests/baselines/reference/symbolProperty43.types index 71932711588c9..cc684158f8cfa 100644 --- a/tests/baselines/reference/symbolProperty43.types +++ b/tests/baselines/reference/symbolProperty43.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -19,7 +19,7 @@ class C { [Symbol.iterator](x: number): number; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty53.types b/tests/baselines/reference/symbolProperty53.types index 01d4b4733c2a6..c3d15cfd91c2d 100644 --- a/tests/baselines/reference/symbolProperty53.types +++ b/tests/baselines/reference/symbolProperty53.types @@ -11,11 +11,11 @@ var obj = { >[Symbol.for] : number > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,9 +27,9 @@ obj[Symbol.for]; >obj : {} > : ^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/symbolProperty59.types b/tests/baselines/reference/symbolProperty59.types index e7bf21cae3c88..66df636fe1a17 100644 --- a/tests/baselines/reference/symbolProperty59.types +++ b/tests/baselines/reference/symbolProperty59.types @@ -5,10 +5,10 @@ interface I { [Symbol.keyFor]: string; >[Symbol.keyFor] : string > : ^^^^^^ ->Symbol.keyFor : (sym: symbol) => string -> : ^ ^^ ^^^^^^^^^^^ +>Symbol.keyFor : (sym: symbol) => string | undefined +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ ->keyFor : (sym: symbol) => string -> : ^ ^^ ^^^^^^^^^^^ +>keyFor : (sym: symbol) => string | undefined +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/symbolProperty61.types b/tests/baselines/reference/symbolProperty61.types index 9178278c85f0c..81c46783d7f98 100644 --- a/tests/baselines/reference/symbolProperty61.types +++ b/tests/baselines/reference/symbolProperty61.types @@ -48,7 +48,7 @@ export class MyObservable { >next(this._val) : void > : ^^^^ >next : (val: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this._val : T > : ^ >this : this @@ -92,15 +92,15 @@ type InteropObservable = { function from(obs: InteropObservable) { >from : (obs: InteropObservable) => { subscribe(next: (val: T) => void): void; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^ ^^^ >obs : InteropObservable > : ^^^^^^^^^^^^^^^^^^^^ return obs[Symbol.obs]() >obs[Symbol.obs]() : { subscribe(next: (val: T) => void): void; } -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^ ^^^ >obs[Symbol.obs] : () => { subscribe(next: (val: T) => void): void; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ >obs : InteropObservable > : ^^^^^^^^^^^^^^^^^^^^ >Symbol.obs : unique symbol @@ -113,9 +113,9 @@ function from(obs: InteropObservable) { from(new MyObservable(42)) >from(new MyObservable(42)) : { subscribe(next: (val: number) => void): void; } -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^ >from : (obs: InteropObservable) => { subscribe(next: (val: T) => void): void; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^ ^^^ >new MyObservable(42) : MyObservable > : ^^^^^^^^^^^^^^^^^^^^ >MyObservable : typeof MyObservable diff --git a/tests/baselines/reference/symbolType10.types b/tests/baselines/reference/symbolType10.types index e45e17df8cd2c..89fec70e62c04 100644 --- a/tests/baselines/reference/symbolType10.types +++ b/tests/baselines/reference/symbolType10.types @@ -7,11 +7,11 @@ var s = Symbol.for("bitwise"); >Symbol.for("bitwise") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"bitwise" : "bitwise" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType11.types b/tests/baselines/reference/symbolType11.types index ebf5a70b621f6..3c61d14d9d1e5 100644 --- a/tests/baselines/reference/symbolType11.types +++ b/tests/baselines/reference/symbolType11.types @@ -7,11 +7,11 @@ var s = Symbol.for("logical"); >Symbol.for("logical") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"logical" : "logical" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType12.types b/tests/baselines/reference/symbolType12.types index 962b80ad5e4a1..420a215e93da0 100644 --- a/tests/baselines/reference/symbolType12.types +++ b/tests/baselines/reference/symbolType12.types @@ -7,11 +7,11 @@ var s = Symbol.for("assign"); >Symbol.for("assign") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"assign" : "assign" > : ^^^^^^^^ diff --git a/tests/baselines/reference/symbolType4.types b/tests/baselines/reference/symbolType4.types index 1bbbb14e50d79..bffbe5061d4ab 100644 --- a/tests/baselines/reference/symbolType4.types +++ b/tests/baselines/reference/symbolType4.types @@ -7,11 +7,11 @@ var s = Symbol.for("postfix"); >Symbol.for("postfix") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"postfix" : "postfix" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType5.types b/tests/baselines/reference/symbolType5.types index a618ad8aec5b6..2ffbe19c154cb 100644 --- a/tests/baselines/reference/symbolType5.types +++ b/tests/baselines/reference/symbolType5.types @@ -7,11 +7,11 @@ var s = Symbol.for("multiply"); >Symbol.for("multiply") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"multiply" : "multiply" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType6.types b/tests/baselines/reference/symbolType6.types index 801949f7fa159..0679be8e342b6 100644 --- a/tests/baselines/reference/symbolType6.types +++ b/tests/baselines/reference/symbolType6.types @@ -7,11 +7,11 @@ var s = Symbol.for("add"); >Symbol.for("add") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"add" : "add" > : ^^^^^ diff --git a/tests/baselines/reference/symbolType7.types b/tests/baselines/reference/symbolType7.types index 15e7b2991936c..5659e1fe786df 100644 --- a/tests/baselines/reference/symbolType7.types +++ b/tests/baselines/reference/symbolType7.types @@ -7,11 +7,11 @@ var s = Symbol.for("shift"); >Symbol.for("shift") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"shift" : "shift" > : ^^^^^^^ diff --git a/tests/baselines/reference/symbolType8.types b/tests/baselines/reference/symbolType8.types index 6232c7bf58323..e102fc5781a07 100644 --- a/tests/baselines/reference/symbolType8.types +++ b/tests/baselines/reference/symbolType8.types @@ -7,11 +7,11 @@ var s = Symbol.for("compare"); >Symbol.for("compare") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"compare" : "compare" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType9.types b/tests/baselines/reference/symbolType9.types index 0743a6c98d45a..700f2d41d2833 100644 --- a/tests/baselines/reference/symbolType9.types +++ b/tests/baselines/reference/symbolType9.types @@ -7,11 +7,11 @@ var s = Symbol.for("equal"); >Symbol.for("equal") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"equal" : "equal" > : ^^^^^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types index 1bd751cb42549..3f6056331da57 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types @@ -20,13 +20,13 @@ export function create(): Foo; === workspace/packageB/index.d.ts === import { create } from "package-a"; >create : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ export declare function invoke(): ReturnType; >invoke : () => ReturnType > : ^^^^^^ >create : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ === workspace/packageC/index.ts === import * as pkg from "package-b"; @@ -38,10 +38,10 @@ export const a = pkg.invoke(); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke() : import("workspace/packageA/foo").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pkg.invoke : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>pkg.invoke : () => ReturnType +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >pkg : typeof pkg > : ^^^^^^^^^^ ->invoke : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>invoke : () => ReturnType +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types index fe2c175a8f2db..2d08fc5f1769c 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types @@ -28,9 +28,9 @@ export const a = pkg.invoke(); >pkg.invoke() : import("workspace/packageA/index").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pkg : typeof pkg > : ^^^^^^^^^^ >invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types index 7482ca3c99bb6..1be227e968c6d 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types @@ -28,9 +28,9 @@ export const a = pkg.invoke(); >pkg.invoke() : import("workspace/packageA/index").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pkg : typeof pkg > : ^^^^^^^^^^ >invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types index b7ed0b56f06e1..d77f4b7e8f035 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types @@ -28,9 +28,9 @@ export const a = pkg.invoke(); >pkg.invoke() : import("workspace/packageA/index").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pkg : typeof pkg > : ^^^^^^^^^^ >invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types index f0a9586f50d13..4210b351073ce 100644 --- a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types +++ b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types @@ -9,30 +9,30 @@ declare function packageExport(x: number): string; export = packageExport; >packageExport : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ === index.ts === import("package").then(({default: foo}) => foo(42)); >import("package").then(({default: foo}) => foo(42)) : Promise > : ^^^^^^^^^^^^^^^ >import("package").then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("package") : Promise<{ default: (x: number) => string; }> -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^ >"package" : "package" > : ^^^^^^^^^ >then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >({default: foo}) => foo(42) : ({ default: foo }: { default: (x: number) => string; }) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >default : any > : ^^^ >foo : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo(42) : string > : ^^^^^^ >foo : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ diff --git a/tests/baselines/reference/systemDefaultImportCallable.types b/tests/baselines/reference/systemDefaultImportCallable.types index 0613b3bd08a2b..6763081fed58c 100644 --- a/tests/baselines/reference/systemDefaultImportCallable.types +++ b/tests/baselines/reference/systemDefaultImportCallable.types @@ -25,26 +25,26 @@ declare module "core-js/fn/string/repeat" { var repeat: typeof core.String.repeat; >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >core.String.repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >core.String : { repeat(text: string, count: number): string; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >core : typeof core > : ^^^^^^^^^^^ >String : { repeat(text: string, count: number): string; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ export default repeat; >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } === greeter.ts === import repeat from "core-js/fn/string/repeat"; >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ const _: string = repeat(new Date().toUTCString() + " ", 2); >_ : string @@ -52,19 +52,19 @@ const _: string = repeat(new Date().toUTCString() + " ", 2); >repeat(new Date().toUTCString() + " ", 2) : string > : ^^^^^^ >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new Date().toUTCString() + " " : string > : ^^^^^^ >new Date().toUTCString() : string > : ^^^^^^ >new Date().toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >" " : " " > : ^^^ >2 : 2 diff --git a/tests/baselines/reference/systemJsForInNoException.types b/tests/baselines/reference/systemJsForInNoException.types index 44015a4992b41..ad8e11ca9c644 100644 --- a/tests/baselines/reference/systemJsForInNoException.types +++ b/tests/baselines/reference/systemJsForInNoException.types @@ -21,11 +21,11 @@ for (var key in obj) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : error >obj : { a: number; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/systemModule15.types b/tests/baselines/reference/systemModule15.types index d8ee0b50cbf38..a648d1aacc58d 100644 --- a/tests/baselines/reference/systemModule15.types +++ b/tests/baselines/reference/systemModule15.types @@ -14,7 +14,7 @@ use(moduleB.value); >use(moduleB.value) : void > : ^^^^ >use : (v: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleB.value : string > : ^^^^^^ >moduleB : typeof moduleB @@ -26,7 +26,7 @@ use(moduleB.moduleC); >use(moduleB.moduleC) : void > : ^^^^ >use : (v: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleB.moduleC : string > : ^^^^^^ >moduleB : typeof moduleB @@ -38,7 +38,7 @@ use(moduleB.moduleCStar); >use(moduleB.moduleCStar) : void > : ^^^^ >use : (v: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleB.moduleCStar : typeof moduleB.moduleCStar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >moduleB : typeof moduleB diff --git a/tests/baselines/reference/systemModuleAmbientDeclarations.types b/tests/baselines/reference/systemModuleAmbientDeclarations.types index 63f3db7b99064..80b231422f69b 100644 --- a/tests/baselines/reference/systemModuleAmbientDeclarations.types +++ b/tests/baselines/reference/systemModuleAmbientDeclarations.types @@ -29,9 +29,9 @@ export var promise = Promise; export var foo = Foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export var c = C; >c : typeof C diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types index 21d218b806111..fb0e8c4e3fa9b 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping1.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types @@ -9,11 +9,11 @@ type FuncType = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType @@ -23,7 +23,7 @@ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType @@ -35,7 +35,7 @@ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncTyp function tempTag1(...rest: any[]): T { >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >rest : any[] > : ^^^^^ @@ -52,21 +52,21 @@ tempTag1 `${ x => { x(undefined); return x; } }${ 10 } >tempTag1 `${ x => { x(undefined); return x; } }${ 10 }` : 10 > : ^^ >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ 10 }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -74,54 +74,54 @@ tempTag1 `${ x => { x(undefined); return x; } }${ y => >tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : 10 > : ^^ >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => { y(undefined); return y; } : (y: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y(undefined) : number > : ^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }`; >tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : any >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(y: (p: T) => T) => { y(undefined); return y } : (y: (p: T) => T) => (p: T) => T > : ^ ^^ ^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T @@ -131,18 +131,18 @@ tempTag1 `${ x => { x(undefined); return x; } }${ (y: >y(undefined) : number > : ^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }`; >tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : any >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : string > : ^^^^^^ >(x: (p: T) => T) => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -154,23 +154,23 @@ tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => { y(undefined); return y; } : (y: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y(undefined) : number > : ^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.types b/tests/baselines/reference/taggedTemplateContextualTyping2.types index 233cb08e8338e..692472f3dbb62 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping2.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.types @@ -9,7 +9,7 @@ type FuncType1 = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type FuncType2 = (x: (p: T) => T) => typeof x; >FuncType2 : FuncType2 @@ -19,11 +19,11 @@ type FuncType2 = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType1 @@ -33,7 +33,7 @@ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): function tempTag2(templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType2 @@ -45,7 +45,7 @@ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2 function tempTag2(...rest: any[]): any { >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >rest : any[] > : ^^^^^ @@ -62,21 +62,21 @@ tempTag2 `${ x => { x(undefined); return x; } }${ 0 }`; >tempTag2 `${ x => { x(undefined); return x; } }${ 0 }` : number > : ^^^^^^ >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ 0 }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -84,31 +84,31 @@ tempTag2 `${ x => { x(undefined); return x; } }${ y => { ytempTag2 `${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }` : string > : ^^^^^^ >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >x(undefined) : string > : ^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >y => { y(null); return y; } : (y: (p: T) => T) => (p: T) => T -> : ^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >y(null) : number > : ^^^^^^ >y : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -116,21 +116,21 @@ tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ >tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ "hello" }` : string > : ^^^^^^ >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ undefined }${ "hello" }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >x(undefined) : string > : ^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >"hello" : "hello" diff --git a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types index 15e5bebe5bdca..e1a68877eb321 100644 --- a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types +++ b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types @@ -20,7 +20,7 @@ let result: number = foo`${x}`; >foo`${x}` : number > : ^^^^^^ >foo : (template: any, val: symbol) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >`${x}` : string > : ^^^^^^ >x : symbol diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types index f56d09dfd2952..afa9e6413589d 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types @@ -471,7 +471,7 @@ var x = someGenerics8 `${ someGenerics7 }`; >someGenerics8 `${ someGenerics7 }` : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >someGenerics8 : (strs: TemplateStringsArray, n: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >`${ someGenerics7 }` : string > : ^^^^^^ >someGenerics7 : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void @@ -506,7 +506,7 @@ var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; >someGenerics9 `${ '' }${ 0 }${ [] }` : "" > : ^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ '' }${ 0 }${ [] }` : string > : ^^^^^^ >'' : "" @@ -546,7 +546,7 @@ var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: >someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : string > : ^^^^^^ >undefined : undefined @@ -585,7 +585,7 @@ var a9d = someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }`; >someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : string > : ^^^^^^ >{ x: 3 } : { x: number; } @@ -624,7 +624,7 @@ var a = someGenerics9 `${ 7 }${ anyVar }${ 4 }`; >someGenerics9 `${ 7 }${ anyVar }${ 4 }` : any > : ^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ 7 }${ anyVar }${ 4 }` : string > : ^^^^^^ >7 : 7 @@ -645,7 +645,7 @@ var arr = someGenerics9 `${ [] }${ null }${ undefined }`; >someGenerics9 `${ [] }${ null }${ undefined }` : any[] > : ^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ [] }${ null }${ undefined }` : string > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types index 9a0073c26fcd0..47b2ba7eb753b 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types @@ -471,7 +471,7 @@ var x = someGenerics8 `${ someGenerics7 }`; >someGenerics8 `${ someGenerics7 }` : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >someGenerics8 : (strs: TemplateStringsArray, n: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >`${ someGenerics7 }` : string > : ^^^^^^ >someGenerics7 : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void @@ -506,7 +506,7 @@ var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; >someGenerics9 `${ '' }${ 0 }${ [] }` : "" > : ^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ '' }${ 0 }${ [] }` : string > : ^^^^^^ >'' : "" @@ -546,7 +546,7 @@ var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: >someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : string > : ^^^^^^ >undefined : undefined @@ -585,7 +585,7 @@ var a9d = someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }`; >someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : string > : ^^^^^^ >{ x: 3 } : { x: number; } @@ -624,7 +624,7 @@ var a = someGenerics9 `${ 7 }${ anyVar }${ 4 }`; >someGenerics9 `${ 7 }${ anyVar }${ 4 }` : any > : ^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ 7 }${ anyVar }${ 4 }` : string > : ^^^^^^ >7 : 7 @@ -645,7 +645,7 @@ var arr = someGenerics9 `${ [] }${ null }${ undefined }`; >someGenerics9 `${ [] }${ null }${ undefined }` : any[] > : ^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ [] }${ null }${ undefined }` : string > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types index ed0c767066fe9..9c9367a4c7a5d 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types @@ -195,11 +195,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -207,11 +207,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types index 053ed9ae3d575..1a9e3c90a65e2 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types @@ -195,11 +195,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -207,11 +207,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types index c5379ae24068c..44e9c01c8d086 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types @@ -37,11 +37,11 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >new new new f `abc${ 0 }def`.member("hello")(42) : boolean > : ^^^^^^^ >new new f `abc${ 0 }def`.member("hello")(42) : new () => boolean -> : ^^^^^^^^^^^^^^^^^ ->new f `abc${ 0 }def`.member("hello") : new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ->f `abc${ 0 }def`.member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>new f `abc${ 0 }def`.member("hello") : new (n: number) => { new (): boolean; } +> : ^^^^^ ^^ ^^^^^ +>f `abc${ 0 }def`.member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >f `abc${ 0 }def` : I > : ^ >f : I @@ -50,8 +50,8 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; > : ^^^^^^ >0 : 0 > : ^ ->member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types index a4fc4d5d9c83f..9f1272dd163df 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types @@ -37,11 +37,11 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >new new new f `abc${ 0 }def`.member("hello")(42) : boolean > : ^^^^^^^ >new new f `abc${ 0 }def`.member("hello")(42) : new () => boolean -> : ^^^^^^^^^^^^^^^^^ ->new f `abc${ 0 }def`.member("hello") : new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ->f `abc${ 0 }def`.member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>new f `abc${ 0 }def`.member("hello") : new (n: number) => { new (): boolean; } +> : ^^^^^ ^^ ^^^^^ +>f `abc${ 0 }def`.member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >f `abc${ 0 }def` : I > : ^ >f : I @@ -50,8 +50,8 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; > : ^^^^^^ >0 : 0 > : ^ ->member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types index 3601eb732a45d..022d9534e8c9e 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types +++ b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types @@ -12,7 +12,7 @@ f ` >f `\` : void > : ^^^^ >f : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`\` : "\n\n" > : ^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types index 906342f95c86d..8b835fe93550b 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types @@ -12,7 +12,7 @@ f ` >f `\` : void > : ^^^^ >f : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`\` : "\n\n" > : ^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types index f6eb52270363f..90d36c4a8ddf3 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types @@ -3,13 +3,13 @@ === taggedTemplateStringsWithOverloadResolution1.ts === function foo(strs: TemplateStringsArray): number; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ function foo(strs: TemplateStringsArray, x: number): string; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -17,7 +17,7 @@ function foo(strs: TemplateStringsArray, x: number): string; function foo(strs: TemplateStringsArray, x: number, y: number): boolean; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -27,7 +27,7 @@ function foo(strs: TemplateStringsArray, x: number, y: number): boolean; function foo(strs: TemplateStringsArray, x: number, y: string): {}; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -37,7 +37,7 @@ function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -52,7 +52,7 @@ var a = foo([]); // number >foo([]) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -62,7 +62,7 @@ var b = foo([], 1); // string >foo([], 1) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -74,7 +74,7 @@ var c = foo([], 1, 2); // boolean >foo([], 1, 2) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -88,7 +88,7 @@ var d = foo([], 1, true); // boolean (with error) >foo([], 1, true) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -102,7 +102,7 @@ var e = foo([], 1, "2"); // {} >foo([], 1, "2") : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -116,7 +116,7 @@ var f = foo([], 1, 2, 3); // any (with error) >foo([], 1, 2, 3) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -132,7 +132,7 @@ var u = foo ``; // number >foo `` : number > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ @@ -142,7 +142,7 @@ var v = foo `${1}`; // string >foo `${1}` : string > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var w = foo `${1}${2}`; // boolean >foo `${1}${2}` : boolean > : ^^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}` : string > : ^^^^^^ >1 : 1 @@ -168,7 +168,7 @@ var x = foo `${1}${true}`; // boolean (with error) >foo `${1}${true}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${true}` : string > : ^^^^^^ >1 : 1 @@ -182,7 +182,7 @@ var y = foo `${1}${"2"}`; // {} >foo `${1}${"2"}` : {} > : ^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${"2"}` : string > : ^^^^^^ >1 : 1 @@ -196,7 +196,7 @@ var z = foo `${1}${2}${3}`; // any (with error) >foo `${1}${2}${3}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}${3}` : string > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types index b31e93719de2b..393bdc10e5d41 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types @@ -3,13 +3,13 @@ === taggedTemplateStringsWithOverloadResolution1_ES6.ts === function foo(strs: TemplateStringsArray): number; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ function foo(strs: TemplateStringsArray, x: number): string; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -17,7 +17,7 @@ function foo(strs: TemplateStringsArray, x: number): string; function foo(strs: TemplateStringsArray, x: number, y: number): boolean; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -27,7 +27,7 @@ function foo(strs: TemplateStringsArray, x: number, y: number): boolean; function foo(strs: TemplateStringsArray, x: number, y: string): {}; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -37,7 +37,7 @@ function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -52,7 +52,7 @@ var a = foo([]); // number >foo([]) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -62,7 +62,7 @@ var b = foo([], 1); // string >foo([], 1) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -74,7 +74,7 @@ var c = foo([], 1, 2); // boolean >foo([], 1, 2) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -88,7 +88,7 @@ var d = foo([], 1, true); // boolean (with error) >foo([], 1, true) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -102,7 +102,7 @@ var e = foo([], 1, "2"); // {} >foo([], 1, "2") : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -116,7 +116,7 @@ var f = foo([], 1, 2, 3); // any (with error) >foo([], 1, 2, 3) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -132,7 +132,7 @@ var u = foo ``; // number >foo `` : number > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ @@ -142,7 +142,7 @@ var v = foo `${1}`; // string >foo `${1}` : string > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var w = foo `${1}${2}`; // boolean >foo `${1}${2}` : boolean > : ^^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}` : string > : ^^^^^^ >1 : 1 @@ -168,7 +168,7 @@ var x = foo `${1}${true}`; // boolean (with error) >foo `${1}${true}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${true}` : string > : ^^^^^^ >1 : 1 @@ -182,7 +182,7 @@ var y = foo `${1}${"2"}`; // {} >foo `${1}${"2"}` : {} > : ^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${"2"}` : string > : ^^^^^^ >1 : 1 @@ -196,7 +196,7 @@ var z = foo `${1}${2}${3}`; // any (with error) >foo `${1}${2}${3}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}${3}` : string > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types index f75aa76776b85..f9a0ff44f0843 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types @@ -3,7 +3,7 @@ === taggedTemplateStringsWithOverloadResolution2.ts === function foo1(strs: TemplateStringsArray, x: number): string; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -11,7 +11,7 @@ function foo1(strs: TemplateStringsArray, x: number): string; function foo1(strs: string[], x: number): number; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -19,7 +19,7 @@ function foo1(strs: string[], x: number): number; function foo1(...stuff: any[]): any { >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -34,7 +34,7 @@ var a = foo1 `${1}`; >foo1 `${1}` : string > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -46,7 +46,7 @@ var b = foo1([], 1); >foo1([], 1) : number > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -54,7 +54,7 @@ var b = foo1([], 1); function foo2(strs: string[], x: number): number; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -62,7 +62,7 @@ function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -70,7 +70,7 @@ function foo2(strs: TemplateStringsArray, x: number): string; function foo2(...stuff: any[]): any { >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -85,7 +85,7 @@ var c = foo2 `${1}`; >foo2 `${1}` : string > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -97,7 +97,7 @@ var d = foo2([], 1); >foo2([], 1) : number > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types index dda5bdccc7a22..60bfa97beba25 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types @@ -3,7 +3,7 @@ === taggedTemplateStringsWithOverloadResolution2_ES6.ts === function foo1(strs: TemplateStringsArray, x: number): string; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -11,7 +11,7 @@ function foo1(strs: TemplateStringsArray, x: number): string; function foo1(strs: string[], x: number): number; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -19,7 +19,7 @@ function foo1(strs: string[], x: number): number; function foo1(...stuff: any[]): any { >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -34,7 +34,7 @@ var a = foo1 `${1}`; >foo1 `${1}` : string > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -46,7 +46,7 @@ var b = foo1([], 1); >foo1([], 1) : number > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -54,7 +54,7 @@ var b = foo1([], 1); function foo2(strs: string[], x: number): number; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -62,7 +62,7 @@ function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -70,7 +70,7 @@ function foo2(strs: TemplateStringsArray, x: number): string; function foo2(...stuff: any[]): any { >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -85,7 +85,7 @@ var c = foo2 `${1}`; >foo2 `${1}` : string > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -97,7 +97,7 @@ var d = foo2([], 1); >foo2([], 1) : number > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types index a5c64a403dae7..ee85e9070e043 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types @@ -4,7 +4,7 @@ // Ambiguous call picks the first overload in declaration order function fn1(strs: TemplateStringsArray, s: string): string; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -12,7 +12,7 @@ function fn1(strs: TemplateStringsArray, s: string): string; function fn1(strs: TemplateStringsArray, n: number): number; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -20,7 +20,7 @@ function fn1(strs: TemplateStringsArray, n: number): number; function fn1() { return null; } >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var s: string = fn1 `${ undefined }`; >s : string @@ -28,7 +28,7 @@ var s: string = fn1 `${ undefined }`; >fn1 `${ undefined }` : string > : ^^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ undefined }` : string > : ^^^^^^ >undefined : undefined @@ -39,7 +39,7 @@ fn1 `${ {} }`; // Error >fn1 `${ {} }` : never > : ^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ {} }` : string > : ^^^^^^ >{} : {} @@ -47,7 +47,7 @@ fn1 `${ {} }`; // Error function fn2(strs: TemplateStringsArray, s: string, n: number): number; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -57,7 +57,7 @@ function fn2(strs: TemplateStringsArray, s: string, n: number): number; function fn2(strs: TemplateStringsArray, n: number, t: T): T; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -67,7 +67,7 @@ function fn2(strs: TemplateStringsArray, n: number, t: T): T; function fn2() { return undefined; } >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -77,7 +77,7 @@ var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -91,7 +91,7 @@ var d2 = fn2 `${ 0 }${ undefined }`; // any >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -120,7 +120,7 @@ fn2 `${ 0 }${ '' }`; // OK >fn2 `${ 0 }${ '' }` : "" > : ^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ '' }` : string > : ^^^^^^ >0 : 0 @@ -133,7 +133,7 @@ fn2 `${ '' }${ 0 }`; // OK >fn2 `${ '' }${ 0 }` : number > : ^^^^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ 0 }` : string > : ^^^^^^ >'' : "" @@ -144,7 +144,7 @@ fn2 `${ '' }${ 0 }`; // OK // Generic overloads with differing arity function fn3(strs: TemplateStringsArray, n: T): string; >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T_1): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T @@ -152,7 +152,7 @@ function fn3(strs: TemplateStringsArray, n: T): string; function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; >fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_1): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -164,7 +164,7 @@ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; >fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >v : V @@ -176,7 +176,7 @@ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; function fn3() { return null; } >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s = fn3 `${ 3 }`; >s : string @@ -184,7 +184,7 @@ var s = fn3 `${ 3 }`; >fn3 `${ 3 }` : string > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 3 }` : string > : ^^^^^^ >3 : 3 @@ -196,7 +196,7 @@ var s = fn3 `${'' }${ 3 }${ '' }`; >fn3 `${'' }${ 3 }${ '' }` : "" > : ^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${'' }${ 3 }${ '' }` : string > : ^^^^^^ >'' : "" @@ -212,7 +212,7 @@ var n = fn3 `${ 5 }${ 5 }${ 5 }`; >fn3 `${ 5 }${ 5 }${ 5 }` : number > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 5 }${ 5 }${ 5 }` : string > : ^^^^^^ >5 : 5 @@ -233,7 +233,7 @@ var s = fn3 `${ 4 }` >fn3 `${ 4 }` : string > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 4 }` : string > : ^^^^^^ >4 : 4 @@ -245,7 +245,7 @@ var s = fn3 `${ '' }${ '' }${ '' }`; >fn3 `${ '' }${ '' }${ '' }` : "" > : ^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ '' }` : string > : ^^^^^^ >'' : "" @@ -261,7 +261,7 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; >fn3 `${ '' }${ '' }${ 3 }` : 3 > : ^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ 3 }` : string > : ^^^^^^ >'' : "" @@ -276,7 +276,7 @@ fn3 ``; // Error >fn3 `` : string > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ @@ -391,7 +391,7 @@ fn4 `${ null }${ true }`; // Non - generic overloads where contextual typing of function arguments has errors function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: string) => void @@ -401,7 +401,7 @@ function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: number) => void @@ -411,7 +411,7 @@ function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; function fn5() { return undefined; } >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -419,7 +419,7 @@ fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 `${ (n) => n.toFixed() }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.toFixed() }` : string > : ^^^^^^ >(n) => n.toFixed() : (n: string) => any @@ -439,7 +439,7 @@ fn5 `${ (n) => n.substr(0) }`; >fn5 `${ (n) => n.substr(0) }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.substr(0) }` : string > : ^^^^^^ >(n) => n.substr(0) : (n: string) => string @@ -449,11 +449,11 @@ fn5 `${ (n) => n.substr(0) }`; >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types index 63d9995d687d0..9e1442ca52092 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types @@ -4,7 +4,7 @@ // Ambiguous call picks the first overload in declaration order function fn1(strs: TemplateStringsArray, s: string): string; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -12,7 +12,7 @@ function fn1(strs: TemplateStringsArray, s: string): string; function fn1(strs: TemplateStringsArray, n: number): number; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -20,7 +20,7 @@ function fn1(strs: TemplateStringsArray, n: number): number; function fn1() { return null; } >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var s: string = fn1 `${ undefined }`; >s : string @@ -28,7 +28,7 @@ var s: string = fn1 `${ undefined }`; >fn1 `${ undefined }` : string > : ^^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ undefined }` : string > : ^^^^^^ >undefined : undefined @@ -39,7 +39,7 @@ fn1 `${ {} }`; // Error >fn1 `${ {} }` : never > : ^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ {} }` : string > : ^^^^^^ >{} : {} @@ -47,7 +47,7 @@ fn1 `${ {} }`; // Error function fn2(strs: TemplateStringsArray, s: string, n: number): number; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -57,7 +57,7 @@ function fn2(strs: TemplateStringsArray, s: string, n: number): number; function fn2(strs: TemplateStringsArray, n: number, t: T): T; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -67,7 +67,7 @@ function fn2(strs: TemplateStringsArray, n: number, t: T): T; function fn2() { return undefined; } >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -77,7 +77,7 @@ var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -91,7 +91,7 @@ var d2 = fn2 `${ 0 }${ undefined }`; // any >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -120,7 +120,7 @@ fn2 `${ 0 }${ '' }`; // OK >fn2 `${ 0 }${ '' }` : "" > : ^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ '' }` : string > : ^^^^^^ >0 : 0 @@ -133,7 +133,7 @@ fn2 `${ '' }${ 0 }`; // OK >fn2 `${ '' }${ 0 }` : number > : ^^^^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ 0 }` : string > : ^^^^^^ >'' : "" @@ -144,7 +144,7 @@ fn2 `${ '' }${ 0 }`; // OK // Generic overloads with differing arity function fn3(strs: TemplateStringsArray, n: T): string; >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T_1): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T @@ -152,7 +152,7 @@ function fn3(strs: TemplateStringsArray, n: T): string; function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; >fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_1): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -164,7 +164,7 @@ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; >fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >v : V @@ -176,7 +176,7 @@ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; function fn3() { return null; } >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s = fn3 `${ 3 }`; >s : string @@ -184,7 +184,7 @@ var s = fn3 `${ 3 }`; >fn3 `${ 3 }` : string > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 3 }` : string > : ^^^^^^ >3 : 3 @@ -196,7 +196,7 @@ var s = fn3 `${'' }${ 3 }${ '' }`; >fn3 `${'' }${ 3 }${ '' }` : "" > : ^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${'' }${ 3 }${ '' }` : string > : ^^^^^^ >'' : "" @@ -212,7 +212,7 @@ var n = fn3 `${ 5 }${ 5 }${ 5 }`; >fn3 `${ 5 }${ 5 }${ 5 }` : number > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 5 }${ 5 }${ 5 }` : string > : ^^^^^^ >5 : 5 @@ -233,7 +233,7 @@ var s = fn3 `${ 4 }` >fn3 `${ 4 }` : string > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 4 }` : string > : ^^^^^^ >4 : 4 @@ -245,7 +245,7 @@ var s = fn3 `${ '' }${ '' }${ '' }`; >fn3 `${ '' }${ '' }${ '' }` : "" > : ^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ '' }` : string > : ^^^^^^ >'' : "" @@ -261,7 +261,7 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; >fn3 `${ '' }${ '' }${ 3 }` : 3 > : ^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ 3 }` : string > : ^^^^^^ >'' : "" @@ -276,7 +276,7 @@ fn3 ``; // Error >fn3 `` : string > : ^^^^^^ >fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ @@ -391,7 +391,7 @@ fn4 `${ null }${ true }`; // Non - generic overloads where contextual typing of function arguments has errors function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: string) => void @@ -401,7 +401,7 @@ function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: number) => void @@ -411,7 +411,7 @@ function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; function fn5() { return undefined; } >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -419,7 +419,7 @@ fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 `${ (n) => n.toFixed() }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.toFixed() }` : string > : ^^^^^^ >(n) => n.toFixed() : (n: string) => any @@ -439,7 +439,7 @@ fn5 `${ (n) => n.substr(0) }`; >fn5 `${ (n) => n.substr(0) }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.substr(0) }` : string > : ^^^^^^ >(n) => n.substr(0) : (n: string) => string @@ -449,11 +449,11 @@ fn5 `${ (n) => n.substr(0) }`; >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types index f3de1869b78cb..bc90d3b604ef1 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types @@ -167,11 +167,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -179,11 +179,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types index 54723d8d42717..cb2cebbfeffd5 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types @@ -167,11 +167,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -179,11 +179,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types b/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types index c93d22a7ecdfe..f1d4d66df6f9c 100644 --- a/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types +++ b/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types @@ -24,7 +24,7 @@ namespace n { >id`hello world` : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`hello world` : "hello world" > : ^^^^^^^^^^^^^ } @@ -63,7 +63,7 @@ function templateObjectFactory() { >id`hello world` : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`hello world` : "hello world" > : ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types index 5db8cb14da667..b204d519ef059 100644 --- a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types +++ b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types @@ -31,7 +31,7 @@ export const a = f ` >f ` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : void > : ^^^^ >f : (strs: TemplateStringsArray, ...callbacks: Array<(x: T) => any>) => void -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string > : ^^^^^^ @@ -104,7 +104,7 @@ export const b = g ` >g ` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >g : (strs: TemplateStringsArray, t: (i: Input) => T, u: (i: Input) => U, v: (i: Input) => V) => T | U | V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string > : ^^^^^^ @@ -175,21 +175,21 @@ export let c = obj["prop"] `${(input) => ({ ...input })}` >obj["prop"] `${(input) => ({ ...input })}` : { returnedObjProp: Stuff; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj["prop"] : (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { prop: (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; }; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >"prop" : "prop" > : ^^^^^^ >`${(input) => ({ ...input })}` : string > : ^^^^^^ >(input) => ({ ...input }) : (input: Stuff) => { x: number; y: string; z: boolean; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ >({ ...input }) : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...input } : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ @@ -237,21 +237,21 @@ c = obj.prop `${(input) => ({ ...input })}` >obj.prop `${(input) => ({ ...input })}` : { returnedObjProp: Stuff; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.prop : (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { prop: (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; }; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >`${(input) => ({ ...input })}` : string > : ^^^^^^ >(input) => ({ ...input }) : (input: Stuff) => { x: number; y: string; z: boolean; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ >({ ...input }) : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...input } : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ diff --git a/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types b/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types index 180ce2fc1da18..9b0a412a1b946 100644 --- a/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types +++ b/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types @@ -12,7 +12,7 @@ export class TemplateRef { } === index.ts === import { Input, TemplateRef } from './deps'; >Input : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >TemplateRef : typeof TemplateRef > : ^^^^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ export class MyComponent { @Input() >Input() : any >Input : () => any -> : ^^^^^^^^^ +> : ^^^^^^ get ref() { return this._ref; } >ref : TemplateRef diff --git a/tests/baselines/reference/targetTypeArgs.types b/tests/baselines/reference/targetTypeArgs.types index 4e5dc98fdc6fc..1db0c77435ef9 100644 --- a/tests/baselines/reference/targetTypeArgs.types +++ b/tests/baselines/reference/targetTypeArgs.types @@ -13,7 +13,7 @@ function foo(callback: (x: string) => void) { >callback("hello") : void > : ^^^^ >callback : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -34,13 +34,13 @@ foo(function(x) { x }); >[1].forEach(function(v,i,a) { v }) : void > : ^^^^ >[1].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(v,i,a) { v } : (v: number, i: number, a: number[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -56,13 +56,13 @@ foo(function(x) { x }); >["hello"].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >["hello"].every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >["hello"] : string[] > : ^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ >every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : string @@ -78,13 +78,13 @@ foo(function(x) { x }); >[1].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >[1].every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -100,13 +100,13 @@ foo(function(x) { x }); >[1].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >[1].every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >every : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -122,13 +122,13 @@ foo(function(x) { x }); >["s"].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >["s"].every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >["s"] : string[] > : ^^^^^^^^ >"s" : "s" > : ^^^ >every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : string @@ -144,13 +144,13 @@ foo(function(x) { x }); >["s"].forEach(function(v,i,a) { v }) : void > : ^^^^ >["s"].forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >["s"] : string[] > : ^^^^^^^^ >"s" : "s" > : ^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(v,i,a) { v } : (v: string, i: number, a: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : string diff --git a/tests/baselines/reference/targetTypeObjectLiteralToAny.types b/tests/baselines/reference/targetTypeObjectLiteralToAny.types index 0f76e3d8b9dd5..b7f46b8fa840c 100644 --- a/tests/baselines/reference/targetTypeObjectLiteralToAny.types +++ b/tests/baselines/reference/targetTypeObjectLiteralToAny.types @@ -16,11 +16,11 @@ function suggest(){ >TypeScriptKeywords.forEach(function(keyword) { result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any }) : void > : ^^^^ >TypeScriptKeywords.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >TypeScriptKeywords : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(keyword) { result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any } : (keyword: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >keyword : string diff --git a/tests/baselines/reference/targetTypeTest1.types b/tests/baselines/reference/targetTypeTest1.types index 32d612355c8c4..53c1851361860 100644 --- a/tests/baselines/reference/targetTypeTest1.types +++ b/tests/baselines/reference/targetTypeTest1.types @@ -79,7 +79,7 @@ declare function EF1(a:number, b:number):number; function EF1(a,b) { return a+b; } >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -97,7 +97,7 @@ var x = EF1(1,2); >EF1(1,2) : number > : ^^^^^^ >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -129,7 +129,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -137,7 +137,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/targetTypeVoidFunc.types b/tests/baselines/reference/targetTypeVoidFunc.types index 3812aad252e14..9050fb61082fc 100644 --- a/tests/baselines/reference/targetTypeVoidFunc.types +++ b/tests/baselines/reference/targetTypeVoidFunc.types @@ -13,11 +13,11 @@ function f1(): { new (): number; } { var x = f1(); >x : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f1() : new () => number -> : ^^^^^^^^^^^^^^^^ ->f1 : () => new () => number -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>f1 : () => { new (): number; } +> : ^^^^^^ var y = new x(); >y : number @@ -25,7 +25,7 @@ var y = new x(); >new x() : number > : ^^^^^^ >x : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var z = new (f1())(); >z : number @@ -33,9 +33,9 @@ var z = new (f1())(); >new (f1())() : number > : ^^^^^^ >(f1()) : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f1() : new () => number -> : ^^^^^^^^^^^^^^^^ ->f1 : () => new () => number -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>f1 : () => { new (): number; } +> : ^^^^^^ diff --git a/tests/baselines/reference/targetTypingOnFunctions.types b/tests/baselines/reference/targetTypingOnFunctions.types index 947e66153dacf..d72ea7e8977d5 100644 --- a/tests/baselines/reference/targetTypingOnFunctions.types +++ b/tests/baselines/reference/targetTypingOnFunctions.types @@ -13,11 +13,11 @@ var fu: (s: string) => string = function (s) { return s.toLowerCase() }; >s.toLowerCase() : string > : ^^^^^^ >s.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var zu = fu = function (s) { return s.toLowerCase() }; >zu : (s: string) => string @@ -25,7 +25,7 @@ var zu = fu = function (s) { return s.toLowerCase() }; >fu = function (s) { return s.toLowerCase() } : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >fu : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (s) { return s.toLowerCase() } : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -33,9 +33,9 @@ var zu = fu = function (s) { return s.toLowerCase() }; >s.toLowerCase() : string > : ^^^^^^ >s.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types b/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types index 88da52650ffac..6c844b0a8bfc0 100644 --- a/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types +++ b/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types @@ -64,11 +64,11 @@ const p3: ClickableDiscriminatedUnion = { >console.log('@@@@', ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'@@@@' : "@@@@" > : ^^^^^^ >ev : string diff --git a/tests/baselines/reference/templateInsideCallback.types b/tests/baselines/reference/templateInsideCallback.types index c5c6226caf3a8..783b03afea7b0 100644 --- a/tests/baselines/reference/templateInsideCallback.types +++ b/tests/baselines/reference/templateInsideCallback.types @@ -61,7 +61,7 @@ function flatMap(array, iterable = identity) { >array : unknown[] > : ^^^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >identity : any > : ^^^ @@ -98,11 +98,11 @@ function flatMap(array, iterable = identity) { >result.push(.../** @type {unknown[]} */(iterable(array[i]))) : number > : ^^^^^^ >result.push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >result : unknown[] > : ^^^^^^^^^ >push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >.../** @type {unknown[]} */(iterable(array[i])) : unknown > : ^^^^^^^ >(iterable(array[i])) : unknown[] @@ -110,7 +110,7 @@ function flatMap(array, iterable = identity) { >iterable(array[i]) : unknown > : ^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >array[i] : unknown > : ^^^^^^^ >array : unknown[] diff --git a/tests/baselines/reference/templateLiteralConstantEvaluation.types b/tests/baselines/reference/templateLiteralConstantEvaluation.types index dea989381be97..fa84571697298 100644 --- a/tests/baselines/reference/templateLiteralConstantEvaluation.types +++ b/tests/baselines/reference/templateLiteralConstantEvaluation.types @@ -52,7 +52,7 @@ fn(`${b} 3`); >fn(`${b} 3`) : "1 2 3" > : ^^^^^^^ >fn : (arg: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`${b} 3` : "1 2 3" > : ^^^^^^^ >b : string diff --git a/tests/baselines/reference/templateLiteralEscapeSequence.types b/tests/baselines/reference/templateLiteralEscapeSequence.types index 907597384de3c..6b7a045073d67 100644 --- a/tests/baselines/reference/templateLiteralEscapeSequence.types +++ b/tests/baselines/reference/templateLiteralEscapeSequence.types @@ -253,7 +253,7 @@ tag`\u`; >tag`\u` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u` : "\\u" > : ^^^^^ @@ -261,7 +261,7 @@ tag`\u0`; >tag`\u0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0` : "\\u0" > : ^^^^^^ @@ -269,7 +269,7 @@ tag`\u00`; >tag`\u00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u00` : "\\u00" > : ^^^^^^^ @@ -277,7 +277,7 @@ tag`\u000`; >tag`\u000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u000` : "\\u000" > : ^^^^^^^^ @@ -285,7 +285,7 @@ tag`\u0000`; >tag`\u0000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0000` : "\0" > : ^^^^ @@ -293,7 +293,7 @@ tag`\u{}`; >tag`\u{}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{}` : "\\u{}" > : ^^^^^^^ @@ -301,7 +301,7 @@ tag`\u{ffffff}`; >tag`\u{ffffff}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{ffffff}` : "\\u{ffffff}" > : ^^^^^^^^^^^^^ @@ -309,7 +309,7 @@ tag`\x`; >tag`\x` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x` : "\\x" > : ^^^^^ @@ -317,7 +317,7 @@ tag`\x0`; >tag`\x0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x0` : "\\x0" > : ^^^^^^ @@ -325,7 +325,7 @@ tag`\x00`; >tag`\x00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x00` : "\0" > : ^^^^ @@ -333,7 +333,7 @@ tag`${0}\u`; >tag`${0}\u` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u` : string > : ^^^^^^ >0 : 0 @@ -343,7 +343,7 @@ tag`${0}\u0`; >tag`${0}\u0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0` : string > : ^^^^^^ >0 : 0 @@ -353,7 +353,7 @@ tag`${0}\u00`; >tag`${0}\u00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u00` : string > : ^^^^^^ >0 : 0 @@ -363,7 +363,7 @@ tag`${0}\u000`; >tag`${0}\u000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u000` : string > : ^^^^^^ >0 : 0 @@ -373,7 +373,7 @@ tag`${0}\u0000`; >tag`${0}\u0000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0000` : string > : ^^^^^^ >0 : 0 @@ -383,7 +383,7 @@ tag`${0}\u{}`; >tag`${0}\u{}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{}` : string > : ^^^^^^ >0 : 0 @@ -393,7 +393,7 @@ tag`${0}\u{ffffff}`; >tag`${0}\u{ffffff}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{ffffff}` : string > : ^^^^^^ >0 : 0 @@ -403,7 +403,7 @@ tag`${0}\x`; >tag`${0}\x` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x` : string > : ^^^^^^ >0 : 0 @@ -413,7 +413,7 @@ tag`${0}\x0`; >tag`${0}\x0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x0` : string > : ^^^^^^ >0 : 0 @@ -423,7 +423,7 @@ tag`${0}\x00`; >tag`${0}\x00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x00` : string > : ^^^^^^ >0 : 0 @@ -433,7 +433,7 @@ tag`\u${0}`; >tag`\u${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u${0}` : string > : ^^^^^^ >0 : 0 @@ -443,7 +443,7 @@ tag`\u0${0}`; >tag`\u0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0${0}` : string > : ^^^^^^ >0 : 0 @@ -453,7 +453,7 @@ tag`\u00${0}`; >tag`\u00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u00${0}` : string > : ^^^^^^ >0 : 0 @@ -463,7 +463,7 @@ tag`\u000${0}`; >tag`\u000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u000${0}` : string > : ^^^^^^ >0 : 0 @@ -473,7 +473,7 @@ tag`\u0000${0}`; >tag`\u0000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0000${0}` : string > : ^^^^^^ >0 : 0 @@ -483,7 +483,7 @@ tag`\u{}${0}`; >tag`\u{}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{}${0}` : string > : ^^^^^^ >0 : 0 @@ -493,7 +493,7 @@ tag`\u{ffffff}${0}`; >tag`\u{ffffff}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{ffffff}${0}` : string > : ^^^^^^ >0 : 0 @@ -503,7 +503,7 @@ tag`\x${0}`; >tag`\x${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x${0}` : string > : ^^^^^^ >0 : 0 @@ -513,7 +513,7 @@ tag`\x0${0}`; >tag`\x0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x0${0}` : string > : ^^^^^^ >0 : 0 @@ -523,7 +523,7 @@ tag`\x00${0}`; >tag`\x00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x00${0}` : string > : ^^^^^^ >0 : 0 @@ -533,7 +533,7 @@ tag`${0}\u${0}`; >tag`${0}\u${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u${0}` : string > : ^^^^^^ >0 : 0 @@ -545,7 +545,7 @@ tag`${0}\u0${0}`; >tag`${0}\u0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0${0}` : string > : ^^^^^^ >0 : 0 @@ -557,7 +557,7 @@ tag`${0}\u00${0}`; >tag`${0}\u00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u00${0}` : string > : ^^^^^^ >0 : 0 @@ -569,7 +569,7 @@ tag`${0}\u000${0}`; >tag`${0}\u000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u000${0}` : string > : ^^^^^^ >0 : 0 @@ -581,7 +581,7 @@ tag`${0}\u0000${0}`; >tag`${0}\u0000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0000${0}` : string > : ^^^^^^ >0 : 0 @@ -593,7 +593,7 @@ tag`${0}\u{}${0}`; >tag`${0}\u{}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{}${0}` : string > : ^^^^^^ >0 : 0 @@ -605,7 +605,7 @@ tag`${0}\u{ffffff}${0}`; >tag`${0}\u{ffffff}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{ffffff}${0}` : string > : ^^^^^^ >0 : 0 @@ -617,7 +617,7 @@ tag`${0}\x${0}`; >tag`${0}\x${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x${0}` : string > : ^^^^^^ >0 : 0 @@ -629,7 +629,7 @@ tag`${0}\x0${0}`; >tag`${0}\x0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x0${0}` : string > : ^^^^^^ >0 : 0 @@ -641,7 +641,7 @@ tag`${0}\x00${0}`; >tag`${0}\x00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x00${0}` : string > : ^^^^^^ >0 : 0 @@ -653,7 +653,7 @@ tag`0${00}`; >tag`0${00}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${00}` : string > : ^^^^^^ >00 : 0 @@ -663,7 +663,7 @@ tag`0${05}`; >tag`0${05}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${05}` : string > : ^^^^^^ >05 : 5 @@ -673,7 +673,7 @@ tag`0${000}`; >tag`0${000}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${000}` : string > : ^^^^^^ >000 : 0 @@ -683,7 +683,7 @@ tag`0${005}`; >tag`0${005}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${005}` : string > : ^^^^^^ >005 : 5 @@ -693,7 +693,7 @@ tag`0${055}`; >tag`0${055}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${055}` : string > : ^^^^^^ >055 : 45 @@ -703,7 +703,7 @@ tag`${00}0`; >tag`${00}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${00}0` : string > : ^^^^^^ >00 : 0 @@ -713,7 +713,7 @@ tag`${05}0`; >tag`${05}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${05}0` : string > : ^^^^^^ >05 : 5 @@ -723,7 +723,7 @@ tag`${000}0`; >tag`${000}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${000}0` : string > : ^^^^^^ >000 : 0 @@ -733,7 +733,7 @@ tag`${005}0`; >tag`${005}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${005}0` : string > : ^^^^^^ >005 : 5 @@ -743,7 +743,7 @@ tag`${055}0`; >tag`${055}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${055}0` : string > : ^^^^^^ >055 : 45 @@ -753,7 +753,7 @@ tag`\0`; >tag`\0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0` : "\0" > : ^^^^ @@ -761,7 +761,7 @@ tag`\5`; >tag`\5` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\5` : "\\5" > : ^^^^^ @@ -769,7 +769,7 @@ tag`\00`; >tag`\00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\00` : "\\00" > : ^^^^^^ @@ -777,7 +777,7 @@ tag`\05`; >tag`\05` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\05` : "\\05" > : ^^^^^^ @@ -785,7 +785,7 @@ tag`\55`; >tag`\55` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\55` : "\\55" > : ^^^^^^ @@ -793,7 +793,7 @@ tag`\000`; >tag`\000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\000` : "\\000" > : ^^^^^^^ @@ -801,7 +801,7 @@ tag`\005`; >tag`\005` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\005` : "\\005" > : ^^^^^^^ @@ -809,7 +809,7 @@ tag`\055`; >tag`\055` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\055` : "\\055" > : ^^^^^^^ @@ -817,7 +817,7 @@ tag`${0}\0`; >tag`${0}\0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\0` : string > : ^^^^^^ >0 : 0 @@ -827,7 +827,7 @@ tag`${0}\5`; >tag`${0}\5` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\5` : string > : ^^^^^^ >0 : 0 @@ -837,7 +837,7 @@ tag`${0}\00`; >tag`${0}\00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\00` : string > : ^^^^^^ >0 : 0 @@ -847,7 +847,7 @@ tag`${0}\05`; >tag`${0}\05` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\05` : string > : ^^^^^^ >0 : 0 @@ -857,7 +857,7 @@ tag`${0}\55`; >tag`${0}\55` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\55` : string > : ^^^^^^ >0 : 0 @@ -867,7 +867,7 @@ tag`${0}\000`; >tag`${0}\000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\000` : string > : ^^^^^^ >0 : 0 @@ -877,7 +877,7 @@ tag`${0}\005`; >tag`${0}\005` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\005` : string > : ^^^^^^ >0 : 0 @@ -887,7 +887,7 @@ tag`${0}\055`; >tag`${0}\055` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\055` : string > : ^^^^^^ >0 : 0 @@ -897,7 +897,7 @@ tag`\0${0}`; >tag`\0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0${0}` : string > : ^^^^^^ >0 : 0 @@ -907,7 +907,7 @@ tag`\5${0}`; >tag`\5${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\5${0}` : string > : ^^^^^^ >0 : 0 @@ -917,7 +917,7 @@ tag`\00${0}`; >tag`\00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\00${0}` : string > : ^^^^^^ >0 : 0 @@ -927,7 +927,7 @@ tag`\05${0}`; >tag`\05${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\05${0}` : string > : ^^^^^^ >0 : 0 @@ -937,7 +937,7 @@ tag`\55${0}`; >tag`\55${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\55${0}` : string > : ^^^^^^ >0 : 0 @@ -947,7 +947,7 @@ tag`\000${0}`; >tag`\000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\000${0}` : string > : ^^^^^^ >0 : 0 @@ -957,7 +957,7 @@ tag`\005${0}`; >tag`\005${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\005${0}` : string > : ^^^^^^ >0 : 0 @@ -967,7 +967,7 @@ tag`\055${0}`; >tag`\055${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\055${0}` : string > : ^^^^^^ >0 : 0 @@ -977,7 +977,7 @@ tag`${0}\0${0}`; >tag`${0}\0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\0${0}` : string > : ^^^^^^ >0 : 0 @@ -989,7 +989,7 @@ tag`${0}\5${0}`; >tag`${0}\5${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\5${0}` : string > : ^^^^^^ >0 : 0 @@ -1001,7 +1001,7 @@ tag`${0}\00${0}`; >tag`${0}\00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\00${0}` : string > : ^^^^^^ >0 : 0 @@ -1013,7 +1013,7 @@ tag`${0}\05${0}`; >tag`${0}\05${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\05${0}` : string > : ^^^^^^ >0 : 0 @@ -1025,7 +1025,7 @@ tag`${0}\55${0}`; >tag`${0}\55${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\55${0}` : string > : ^^^^^^ >0 : 0 @@ -1037,7 +1037,7 @@ tag`${0}\000${0}`; >tag`${0}\000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\000${0}` : string > : ^^^^^^ >0 : 0 @@ -1049,7 +1049,7 @@ tag`${0}\005${0}`; >tag`${0}\005${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\005${0}` : string > : ^^^^^^ >0 : 0 @@ -1061,7 +1061,7 @@ tag`${0}\055${0}`; >tag`${0}\055${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\055${0}` : string > : ^^^^^^ >0 : 0 @@ -1073,7 +1073,7 @@ tag`\1`; >tag`\1` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\1` : "\\1" > : ^^^^^ @@ -1081,7 +1081,7 @@ tag`\01`; >tag`\01` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\01` : "\\01" > : ^^^^^^ @@ -1089,7 +1089,7 @@ tag`\001`; >tag`\001` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\001` : "\\001" > : ^^^^^^^ @@ -1097,7 +1097,7 @@ tag`\17`; >tag`\17` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\17` : "\\17" > : ^^^^^^ @@ -1105,7 +1105,7 @@ tag`\017`; >tag`\017` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\017` : "\\017" > : ^^^^^^^ @@ -1113,7 +1113,7 @@ tag`\0017`; >tag`\0017` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0017` : "\\0017" > : ^^^^^^^^ @@ -1121,7 +1121,7 @@ tag`\177`; >tag`\177` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\177` : "\\177" > : ^^^^^^^ @@ -1129,7 +1129,7 @@ tag`\18`; >tag`\18` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\18` : "\\18" > : ^^^^^^ @@ -1137,7 +1137,7 @@ tag`\018`; >tag`\018` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\018` : "\\018" > : ^^^^^^^ @@ -1145,7 +1145,7 @@ tag`\0018`; >tag`\0018` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0018` : "\\0018" > : ^^^^^^^^ @@ -1153,7 +1153,7 @@ tag`\4`; >tag`\4` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\4` : "\\4" > : ^^^^^ @@ -1161,7 +1161,7 @@ tag`\47`; >tag`\47` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\47` : "\\47" > : ^^^^^^ @@ -1169,7 +1169,7 @@ tag`\047`; >tag`\047` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\047` : "\\047" > : ^^^^^^^ @@ -1177,7 +1177,7 @@ tag`\0047`; >tag`\0047` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0047` : "\\0047" > : ^^^^^^^^ @@ -1185,7 +1185,7 @@ tag`\477`; >tag`\477` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\477` : "\\477" > : ^^^^^^^ @@ -1193,7 +1193,7 @@ tag`\48`; >tag`\48` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\48` : "\\48" > : ^^^^^^ @@ -1201,7 +1201,7 @@ tag`\048`; >tag`\048` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\048` : "\\048" > : ^^^^^^^ @@ -1209,7 +1209,7 @@ tag`\0048`; >tag`\0048` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0048` : "\\0048" > : ^^^^^^^^ @@ -1217,7 +1217,7 @@ tag`\8`; >tag`\8` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\8` : "\\8" > : ^^^^^ @@ -1225,7 +1225,7 @@ tag`\87`; >tag`\87` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\87` : "\\87" > : ^^^^^^ @@ -1233,7 +1233,7 @@ tag`\087`; >tag`\087` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\087` : "\\087" > : ^^^^^^^ @@ -1241,7 +1241,7 @@ tag`\0087`; >tag`\0087` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0087` : "\\0087" > : ^^^^^^^^ @@ -1249,7 +1249,7 @@ tag`\877`; >tag`\877` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\877` : "\\877" > : ^^^^^^^ @@ -1257,7 +1257,7 @@ tag`\88`; >tag`\88` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\88` : "\\88" > : ^^^^^^ @@ -1265,7 +1265,7 @@ tag`\088`; >tag`\088` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\088` : "\\088" > : ^^^^^^^ @@ -1273,7 +1273,7 @@ tag`\0088`; >tag`\0088` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0088` : "\\0088" > : ^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralIntersection.types b/tests/baselines/reference/templateLiteralIntersection.types index 657f0342214a6..db745bc123eeb 100644 --- a/tests/baselines/reference/templateLiteralIntersection.types +++ b/tests/baselines/reference/templateLiteralIntersection.types @@ -68,7 +68,7 @@ type MixD = type OriginD = `${MixD & { foo: string }}`; >OriginD : "a" & { foo: string; } & { foo: string; } & { foo: string; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo : string > : ^^^^^^ >foo : string diff --git a/tests/baselines/reference/templateLiteralIntersection2.types b/tests/baselines/reference/templateLiteralIntersection2.types index 6c64df7a6fd18..75af68967581e 100644 --- a/tests/baselines/reference/templateLiteralIntersection2.types +++ b/tests/baselines/reference/templateLiteralIntersection2.types @@ -21,7 +21,7 @@ joinedPath("foo/bar"); >joinedPath("foo/bar") : void > : ^^^^ >joinedPath : (p: JoinedPath) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"foo/bar" : "foo/bar" > : ^^^^^^^^^ @@ -33,7 +33,7 @@ joinedPath(`${somePath}/${somePath}`); >joinedPath(`${somePath}/${somePath}`) : void > : ^^^^ >joinedPath : (p: JoinedPath) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`${somePath}/${somePath}` : `${Path}/${Path}` > : ^^^^^^^^^^^^^^^^^ >somePath : Path @@ -61,7 +61,7 @@ withinAs(""); >withinAs("") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -69,7 +69,7 @@ withinAs("a"); >withinAs("a") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -77,7 +77,7 @@ withinAs("ab"); >withinAs("ab") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"ab" : "ab" > : ^^^^ @@ -85,7 +85,7 @@ withinAs("aba"); >withinAs("aba") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"aba" : "aba" > : ^^^^^ @@ -93,7 +93,7 @@ withinAs("abavvvva"); >withinAs("abavvvva") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abavvvva" : "abavvvva" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralIntersection3.types b/tests/baselines/reference/templateLiteralIntersection3.types index 0e918a359140b..ae36568a12990 100644 --- a/tests/baselines/reference/templateLiteralIntersection3.types +++ b/tests/baselines/reference/templateLiteralIntersection3.types @@ -24,7 +24,7 @@ options1[`foo`] = false; >options1[`foo`] : boolean > : ^^^^^^^ >options1 : { prop: number; } & { [k: string]: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >`foo` : "foo" > : ^^^^^ >false : false @@ -36,7 +36,7 @@ options1[`foo/${path}`] = false; >options1[`foo/${path}`] : boolean > : ^^^^^^^ >options1 : { prop: number; } & { [k: string]: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >`foo/${path}` : `foo/${Path}` > : ^^^^^^^^^^^^^ >path : Path @@ -56,7 +56,7 @@ options1[lowercasePath] = false; >options1[lowercasePath] : boolean > : ^^^^^^^ >options1 : { prop: number; } & { [k: string]: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >lowercasePath : `foo/${Lowercase}` > : ^^^^^^^^^^^^^^^^^^^^^^^^ >false : false diff --git a/tests/baselines/reference/templateLiteralIntersection4.types b/tests/baselines/reference/templateLiteralIntersection4.types index 0a584849adcde..52c110bae8984 100644 --- a/tests/baselines/reference/templateLiteralIntersection4.types +++ b/tests/baselines/reference/templateLiteralIntersection4.types @@ -43,7 +43,7 @@ const { Provider, useUsername, useAge, useStore } = createStore({ >createStore({ username: "Aral", age: 31}) : StoreUtils<{ username: string; age: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createStore : (store: Store) => StoreUtils -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ username: "Aral", age: 31} : { username: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypes1.types b/tests/baselines/reference/templateLiteralTypes1.types index b9863b3ab2699..e4b0af8fc90d1 100644 --- a/tests/baselines/reference/templateLiteralTypes1.types +++ b/tests/baselines/reference/templateLiteralTypes1.types @@ -359,7 +359,7 @@ type T43 = Split; // string[] declare function getProp(obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; >getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_1, path: P0_1): T_1[P0_1]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : T > : ^ >path : `${P0}.${P1}.${P2}` @@ -367,7 +367,7 @@ declare function getProp(obj: T, path: `${P0}.${P1}`): T[P0][P1]; >getProp : { (obj: T_1, path: `${P0_1}.${P1_1}.${P2}`): T_1[P0_1][P1_1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T_1, path: P0_1): T_1[P0_1]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : T > : ^ >path : `${P0}.${P1}` @@ -375,7 +375,7 @@ declare function getProp(obj: T, path: P0): T[P0]; >getProp : { (obj: T_1, path: `${P0_1}.${P1}.${P2}`): T_1[P0_1][P1][P2]; (obj: T_1, path: `${P0_1}.${P1}`): T_1[P0_1][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : T > : ^ >path : P0 @@ -383,7 +383,7 @@ declare function getProp(obj: T, path: P0): T[P0 declare function getProp(obj: object, path: string): unknown; >getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : object > : ^^^^^^ >path : string @@ -395,7 +395,7 @@ let p1 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a'); >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a') : { readonly b: { readonly c: 42; readonly d: "hello"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } @@ -425,7 +425,7 @@ let p2 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b'); >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b') : { readonly c: 42; readonly d: "hello"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } @@ -455,7 +455,7 @@ let p3 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b.d'); >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b.d') : "hello" > : ^^^^^^^ >getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } @@ -526,7 +526,7 @@ getPropValue(obj, 'a'); // { b: {c: number, d: string } } >getPropValue(obj, 'a') : { b: { c: number; d: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -536,7 +536,7 @@ getPropValue(obj, 'a.b'); // {c: number, d: string } >getPropValue(obj, 'a.b') : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a.b' : "a.b" @@ -546,7 +546,7 @@ getPropValue(obj, 'a.b.d'); // string >getPropValue(obj, 'a.b.d') : string > : ^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a.b.d' : "a.b.d" @@ -556,7 +556,7 @@ getPropValue(obj, 'a.b.x'); // unknown >getPropValue(obj, 'a.b.x') : unknown > : ^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a.b.x' : "a.b.x" @@ -566,7 +566,7 @@ getPropValue(obj, s); // unknown >getPropValue(obj, s) : unknown > : ^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string @@ -886,7 +886,7 @@ let make = getProp2(obj2, 'cars.1.make'); // 'Trabant' >getProp2(obj2, 'cars.1.make') : "Trabant" > : ^^^^^^^^^ >getProp2 : >(obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj2 : { readonly name: "John"; readonly age: 42; readonly cars: readonly [{ readonly make: "Ford"; readonly age: 10; }, { readonly make: "Trabant"; readonly age: 35; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'cars.1.make' : "cars.1.make" diff --git a/tests/baselines/reference/templateLiteralTypes2.types b/tests/baselines/reference/templateLiteralTypes2.types index d795062405681..aa664dda40406 100644 --- a/tests/baselines/reference/templateLiteralTypes2.types +++ b/tests/baselines/reference/templateLiteralTypes2.types @@ -352,7 +352,7 @@ function ft13(s: string, cond: boolean) { >widening(`foo${s}`) : string > : ^^^^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`foo${s}` : string > : ^^^^^^ >s : string @@ -364,7 +364,7 @@ function ft13(s: string, cond: boolean) { >widening(cond ? 'a' : `foo${s}`) : string > : ^^^^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >cond ? 'a' : `foo${s}` : string > : ^^^^^^ >cond : boolean @@ -382,7 +382,7 @@ function ft13(s: string, cond: boolean) { >nonWidening(`foo${s}`) : `foo${string}` > : ^^^^^^^^^^^^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`foo${s}` : `foo${string}` > : ^^^^^^^^^^^^^^ >s : string @@ -394,7 +394,7 @@ function ft13(s: string, cond: boolean) { >nonWidening(cond ? 'a' : `foo${s}`) : `foo${string}` | "a" > : ^^^^^^^^^^^^^^^^^^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cond ? 'a' : `foo${s}` : `foo${string}` | "a" > : ^^^^^^^^^^^^^^^^^^^^ >cond : boolean @@ -474,7 +474,7 @@ function ft20(s: string) { >g1(`xyz-${s}`) : string > : ^^^^^^ >g1 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`xyz-${s}` : string > : ^^^^^^ >s : string @@ -486,7 +486,7 @@ function ft20(s: string) { >g2(`xyz-${s}`) : `xyz-${string}` > : ^^^^^^^^^^^^^^^ >g2 : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`xyz-${s}` : `xyz-${string}` > : ^^^^^^^^^^^^^^^ >s : string @@ -507,7 +507,7 @@ const t1 = takesLiteral("foo.bar.baz"); // "baz" >takesLiteral("foo.bar.baz") : "baz" > : ^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"foo.bar.baz" : "foo.bar.baz" > : ^^^^^^^^^^^^^ @@ -523,7 +523,7 @@ const t2 = takesLiteral(id2); // "baz" >takesLiteral(id2) : "baz" > : ^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >id2 : "foo.bar.baz" > : ^^^^^^^^^^^^^ @@ -537,7 +537,7 @@ const t3 = takesLiteral(`foo.bar.${someString}`); // string >takesLiteral(`foo.bar.${someString}`) : string > : ^^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`foo.bar.${someString}` : `foo.bar.${string}` > : ^^^^^^^^^^^^^^^^^^^ >someString : string @@ -557,7 +557,7 @@ const t4 = takesLiteral(id4); // unknown >takesLiteral(id4) : unknown > : ^^^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >id4 : string > : ^^^^^^ @@ -571,7 +571,7 @@ const t5 = takesLiteral(`foo.bar.${someUnion}`); // "abc" | "def" | "ghi" >takesLiteral(`foo.bar.${someUnion}`) : "abc" | "def" | "ghi" > : ^^^^^^^^^^^^^^^^^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`foo.bar.${someUnion}` : "foo.bar.abc" | "foo.bar.def" | "foo.bar.ghi" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someUnion : "abc" | "def" | "ghi" diff --git a/tests/baselines/reference/templateLiteralTypes3.types b/tests/baselines/reference/templateLiteralTypes3.types index bcd5bbfb198a5..2f1532ca92237 100644 --- a/tests/baselines/reference/templateLiteralTypes3.types +++ b/tests/baselines/reference/templateLiteralTypes3.types @@ -75,7 +75,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1('hello') : string > : ^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ @@ -85,7 +85,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1('*hello*') : "hello" > : ^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'*hello*' : "*hello*" > : ^^^^^^^^^ @@ -95,7 +95,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1('**hello**') : "*hello*" > : ^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'**hello**' : "**hello**" > : ^^^^^^^^^^^ @@ -105,7 +105,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${s}*` as const) : string > : ^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${s}*` as const : `*${string}*` > : ^^^^^^^^^^^^^ >`*${s}*` : `*${string}*` @@ -119,7 +119,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${n}*` as const) : `${number}` > : ^^^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${n}*` as const : `*${number}*` > : ^^^^^^^^^^^^^ >`*${n}*` : `*${number}*` @@ -133,7 +133,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${b}*` as const) : "false" | "true" > : ^^^^^^^^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${b}*` as const : "*false*" | "*true*" > : ^^^^^^^^^^^^^^^^^^^^ >`*${b}*` : "*false*" | "*true*" @@ -147,7 +147,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${t}*` as const) : T > : ^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${t}*` as const : `*${T}*` > : ^^^^^^^^ >`*${t}*` : `*${T}*` @@ -161,7 +161,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`**${s}**` as const) : `*${string}*` > : ^^^^^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`**${s}**` as const : `**${string}**` > : ^^^^^^^^^^^^^^^ >`**${s}**` : `**${string}**` @@ -606,7 +606,7 @@ chain("a"); >chain("a") : void > : ^^^^ >chain : (field: F | `${F}.${F}`) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -770,7 +770,7 @@ function reducer(action: Action) { >action.type : "FOO_SUCCESS" > : ^^^^^^^^^^^^^ >action : { type: `${string}_SUCCESS`; response: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >type : "FOO_SUCCESS" > : ^^^^^^^^^^^^^ @@ -778,7 +778,7 @@ function reducer(action: Action) { >action.response : string > : ^^^^^^ >action : { type: `${string}_SUCCESS`; response: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >response : string > : ^^^^^^ } @@ -806,7 +806,7 @@ noSpread([`1.${'2'}.3`, `1.${'2'}.4`]); >noSpread([`1.${'2'}.3`, `1.${'2'}.4`]) : "1.2.3" | "1.2.4" > : ^^^^^^^^^^^^^^^^^ >noSpread :

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

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

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

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

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

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

    (...args: P[]) => P -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >u1 : `1.${Uppercase}.3` > : ^^^^^^^^^^^^^^^^^^^^^ >u2 : `1.${Uppercase}.4` diff --git a/tests/baselines/reference/templateLiteralTypes4.types b/tests/baselines/reference/templateLiteralTypes4.types index ab656c5208408..ce1fb6e30e827 100644 --- a/tests/baselines/reference/templateLiteralTypes4.types +++ b/tests/baselines/reference/templateLiteralTypes4.types @@ -679,11 +679,11 @@ p.getIndex(0); // ok, 0 is a valid index >p.getIndex(0) : number > : ^^^^^^ >p.getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >p : Point > : ^^^^^ >getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >0 : 0 > : ^ @@ -691,11 +691,11 @@ p.getIndex(1); // ok, 1 is a valid index >p.getIndex(1) : number > : ^^^^^^ >p.getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >p : Point > : ^^^^^ >getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >1 : 1 > : ^ @@ -703,11 +703,11 @@ p.getIndex(2); // error, 2 is not a valid index >p.getIndex(2) : number > : ^^^^^^ >p.getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >p : Point > : ^^^^^ >getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >2 : 2 > : ^ @@ -715,11 +715,11 @@ p.setIndex(0, 0); // ok, 0 is a valid index >p.setIndex(0, 0) : void > : ^^^^ >p.setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : Point > : ^^^^^ >setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >0 : 0 @@ -729,11 +729,11 @@ p.setIndex(1, 0); // ok, 1 is a valid index >p.setIndex(1, 0) : void > : ^^^^ >p.setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : Point > : ^^^^^ >setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >0 : 0 @@ -743,11 +743,11 @@ p.setIndex(2, 3); // error, 2 is not a valid index >p.setIndex(2, 3) : void > : ^^^^ >p.setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : Point > : ^^^^^ >setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >2 : 2 > : ^ >3 : 3 @@ -764,7 +764,7 @@ f1("**123**"); // "123" >f1("**123**") : "123" > : ^^^^^ >f1 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**123**" : "**123**" > : ^^^^^^^^^ @@ -778,7 +778,7 @@ f2("**123**"); // 123 >f2("**123**") : 123 > : ^^^ >f2 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**123**" : "**123**" > : ^^^^^^^^^ @@ -792,7 +792,7 @@ f3("**123**"); // 123n >f3("**123**") : 123n > : ^^^^ >f3 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**123**" : "**123**" > : ^^^^^^^^^ @@ -806,7 +806,7 @@ f4("**true**"); // true | "true" >f4("**true**") : true > : ^^^^ >f4 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**true**" : "**true**" > : ^^^^^^^^^^ @@ -814,7 +814,7 @@ f4("**false**"); // false | "false" >f4("**false**") : false > : ^^^^^ >f4 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**false**" : "**false**" > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypes5.types b/tests/baselines/reference/templateLiteralTypes5.types index 68a5677449f12..512d174462a89 100644 --- a/tests/baselines/reference/templateLiteralTypes5.types +++ b/tests/baselines/reference/templateLiteralTypes5.types @@ -27,7 +27,7 @@ const f1: F1 = f; >f1 : F1 > : ^^ >f : (x: `${T0}`) => TypeMap[T0] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ type F2 = (x: `${T2}`) => TypeMap[`${T2}`] >F2 : F2 @@ -39,7 +39,7 @@ const f2: F2 = f >f2 : F2 > : ^^ >f : (x: `${T0}`) => TypeMap[T0] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ function f3(x: T3) { >f3 : (x: T3) => void diff --git a/tests/baselines/reference/templateLiteralTypes6.types b/tests/baselines/reference/templateLiteralTypes6.types index 1488750803230..1260fe0c6669c 100644 --- a/tests/baselines/reference/templateLiteralTypes6.types +++ b/tests/baselines/reference/templateLiteralTypes6.types @@ -51,7 +51,7 @@ function f2< >f1(`${scope}:${event}`) : void > : ^^^^ >f1 : , Event_1 extends Keyof>(eventPath: `${Scope_1}:${Event_1}`) => void -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`${scope}:${event}` : `${Scope}:${Event}` > : ^^^^^^^^^^^^^^^^^^^ >scope : Scope diff --git a/tests/baselines/reference/templateLiteralTypes7.types b/tests/baselines/reference/templateLiteralTypes7.types index 69947363a2a5d..866cc90791203 100644 --- a/tests/baselines/reference/templateLiteralTypes7.types +++ b/tests/baselines/reference/templateLiteralTypes7.types @@ -37,7 +37,7 @@ const g1: G1 = g; // ok >g1 : G1 > : ^^ >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ type G2 = (x: `${T}`) => NMap[T] >G2 : G2 @@ -49,7 +49,7 @@ const g2: G2 = g; // error >g2 : G2 > : ^^ >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ type G3 = (x: `${T}`) => NMap[T] >G3 : G3 @@ -61,5 +61,5 @@ const g3: G3 = g; // ok >g3 : G3 > : ^^ >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypesPatterns.types b/tests/baselines/reference/templateLiteralTypesPatterns.types index 7446abb1bc4cc..bc7161335d14a 100644 --- a/tests/baselines/reference/templateLiteralTypesPatterns.types +++ b/tests/baselines/reference/templateLiteralTypesPatterns.types @@ -77,7 +77,7 @@ bools("true"); >bools("true") : void > : ^^^^ >bools : (x: `${boolean}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"true" : "true" > : ^^^^^^ @@ -85,7 +85,7 @@ bools("false"); >bools("false") : void > : ^^^^ >bools : (x: `${boolean}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"false" : "false" > : ^^^^^^^ @@ -94,7 +94,7 @@ bools("other"); >bools("other") : void > : ^^^^ >bools : (x: `${boolean}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"other" : "other" > : ^^^^^^^ @@ -113,7 +113,7 @@ nullishes("null"); >nullishes("null") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"null" : "null" > : ^^^^^^ @@ -121,7 +121,7 @@ nullishes("undefined"); >nullishes("undefined") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"undefined" : "undefined" > : ^^^^^^^^^^^ @@ -130,7 +130,7 @@ nullishes("0"); >nullishes("0") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0" : "0" > : ^^^ @@ -138,7 +138,7 @@ nullishes("false"); >nullishes("false") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"false" : "false" > : ^^^^^^^ @@ -146,7 +146,7 @@ nullishes("NaN"); >nullishes("NaN") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"NaN" : "NaN" > : ^^^^^ @@ -154,7 +154,7 @@ nullishes(""); >nullishes("") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -162,7 +162,7 @@ nullishes("other"); >nullishes("other") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"other" : "other" > : ^^^^^^^ @@ -177,7 +177,7 @@ numbers("1"); >numbers("1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1" : "1" > : ^^^ @@ -185,7 +185,7 @@ numbers("-1"); >numbers("-1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1" : "-1" > : ^^^^ @@ -193,7 +193,7 @@ numbers("0"); >numbers("0") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0" : "0" > : ^^^ @@ -201,7 +201,7 @@ numbers("0b1"); >numbers("0b1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0b1" : "0b1" > : ^^^^^ @@ -209,7 +209,7 @@ numbers("0x1"); >numbers("0x1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0x1" : "0x1" > : ^^^^^ @@ -217,7 +217,7 @@ numbers("0o1"); >numbers("0o1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0o1" : "0o1" > : ^^^^^ @@ -225,7 +225,7 @@ numbers("1e21"); >numbers("1e21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e21" : "1e21" > : ^^^^^^ @@ -233,7 +233,7 @@ numbers("1E21"); >numbers("1E21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E21" : "1E21" > : ^^^^^^ @@ -241,7 +241,7 @@ numbers("1e-21"); >numbers("1e-21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e-21" : "1e-21" > : ^^^^^^^ @@ -249,7 +249,7 @@ numbers("1E-21"); >numbers("1E-21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E-21" : "1E-21" > : ^^^^^^^ @@ -257,7 +257,7 @@ numbers("1.1"); >numbers("1.1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1" : "1.1" > : ^^^^^ @@ -265,7 +265,7 @@ numbers("-1.1"); >numbers("-1.1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1" : "-1.1" > : ^^^^^^ @@ -273,7 +273,7 @@ numbers("-1.1e-10"); >numbers("-1.1e-10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1e-10" : "-1.1e-10" > : ^^^^^^^^^^ @@ -281,7 +281,7 @@ numbers("-1.1E-10"); >numbers("-1.1E-10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1E-10" : "-1.1E-10" > : ^^^^^^^^^^ @@ -289,7 +289,7 @@ numbers("1.1e-10"); >numbers("1.1e-10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1e-10" : "1.1e-10" > : ^^^^^^^^^ @@ -298,7 +298,7 @@ numbers("?"); >numbers("?") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"?" : "?" > : ^^^ @@ -306,7 +306,7 @@ numbers("NaN"); >numbers("NaN") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"NaN" : "NaN" > : ^^^^^ @@ -314,7 +314,7 @@ numbers("Infinity"); >numbers("Infinity") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Infinity" : "Infinity" > : ^^^^^^^^^^ @@ -322,7 +322,7 @@ numbers("+Infinity"); >numbers("+Infinity") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"+Infinity" : "+Infinity" > : ^^^^^^^^^^^ @@ -330,7 +330,7 @@ numbers("-Infinity"); >numbers("-Infinity") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-Infinity" : "-Infinity" > : ^^^^^^^^^^^ @@ -338,7 +338,7 @@ numbers("1_000"); >numbers("1_000") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1_000" : "1_000" > : ^^^^^^^ @@ -347,7 +347,7 @@ numbers("a10"); >numbers("a10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a10" : "a10" > : ^^^^^ @@ -355,7 +355,7 @@ numbers("10a"); >numbers("10a") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"10a" : "10a" > : ^^^^^ @@ -364,7 +364,7 @@ numbers("- 1"); >numbers("- 1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"- 1" : "- 1" > : ^^^^^ @@ -372,7 +372,7 @@ numbers("-/**/1"); >numbers("-/**/1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-/**/1" : "-/**/1" > : ^^^^^^^^ @@ -387,7 +387,7 @@ bigints("1"); >bigints("1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1" : "1" > : ^^^ @@ -395,7 +395,7 @@ bigints("-1"); >bigints("-1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1" : "-1" > : ^^^^ @@ -403,7 +403,7 @@ bigints("0"); >bigints("0") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0" : "0" > : ^^^ @@ -411,7 +411,7 @@ bigints("0b1"); >bigints("0b1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0b1" : "0b1" > : ^^^^^ @@ -419,7 +419,7 @@ bigints("0x1"); >bigints("0x1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0x1" : "0x1" > : ^^^^^ @@ -427,7 +427,7 @@ bigints("0o1"); >bigints("0o1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0o1" : "0o1" > : ^^^^^ @@ -436,7 +436,7 @@ bigints("1e21"); >bigints("1e21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e21" : "1e21" > : ^^^^^^ @@ -444,7 +444,7 @@ bigints("1E21"); >bigints("1E21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E21" : "1E21" > : ^^^^^^ @@ -452,7 +452,7 @@ bigints("1e-21"); >bigints("1e-21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e-21" : "1e-21" > : ^^^^^^^ @@ -460,7 +460,7 @@ bigints("1E-21"); >bigints("1E-21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E-21" : "1E-21" > : ^^^^^^^ @@ -469,7 +469,7 @@ bigints("1.0"); >bigints("1.0") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.0" : "1.0" > : ^^^^^ @@ -477,7 +477,7 @@ bigints("1.1"); >bigints("1.1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1" : "1.1" > : ^^^^^ @@ -485,7 +485,7 @@ bigints("-1.1"); >bigints("-1.1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1" : "-1.1" > : ^^^^^^ @@ -493,7 +493,7 @@ bigints("-1.1e-10"); >bigints("-1.1e-10") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1e-10" : "-1.1e-10" > : ^^^^^^^^^^ @@ -501,7 +501,7 @@ bigints("-1.1E-10"); >bigints("-1.1E-10") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1E-10" : "-1.1E-10" > : ^^^^^^^^^^ @@ -509,7 +509,7 @@ bigints("1.1e-10"); >bigints("1.1e-10") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1e-10" : "1.1e-10" > : ^^^^^^^^^ @@ -518,7 +518,7 @@ bigints("?"); >bigints("?") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"?" : "?" > : ^^^ @@ -526,7 +526,7 @@ bigints("NaN"); >bigints("NaN") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"NaN" : "NaN" > : ^^^^^ @@ -534,7 +534,7 @@ bigints("Infinity"); >bigints("Infinity") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Infinity" : "Infinity" > : ^^^^^^^^^^ @@ -542,7 +542,7 @@ bigints("+Infinity"); >bigints("+Infinity") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"+Infinity" : "+Infinity" > : ^^^^^^^^^^^ @@ -550,7 +550,7 @@ bigints("-Infinity"); >bigints("-Infinity") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-Infinity" : "-Infinity" > : ^^^^^^^^^^^ @@ -558,7 +558,7 @@ bigints("1_000"); >bigints("1_000") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1_000" : "1_000" > : ^^^^^^^ @@ -567,7 +567,7 @@ bigints("- 1"); >bigints("- 1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"- 1" : "- 1" > : ^^^^^ @@ -575,7 +575,7 @@ bigints("-/**/1"); >bigints("-/**/1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-/**/1" : "-/**/1" > : ^^^^^^^^ @@ -584,7 +584,7 @@ bigints("a10n"); >bigints("a10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a10n" : "a10n" > : ^^^^^^ @@ -592,7 +592,7 @@ bigints("10an"); >bigints("10an") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"10an" : "10an" > : ^^^^^^ @@ -601,7 +601,7 @@ bigints("1n"); >bigints("1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1n" : "1n" > : ^^^^ @@ -609,7 +609,7 @@ bigints("-1n"); >bigints("-1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1n" : "-1n" > : ^^^^^ @@ -617,7 +617,7 @@ bigints("0n"); >bigints("0n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0n" : "0n" > : ^^^^ @@ -625,7 +625,7 @@ bigints("0b1n"); >bigints("0b1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0b1n" : "0b1n" > : ^^^^^^ @@ -633,7 +633,7 @@ bigints("0x1n"); >bigints("0x1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0x1n" : "0x1n" > : ^^^^^^ @@ -641,7 +641,7 @@ bigints("0o1n"); >bigints("0o1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0o1n" : "0o1n" > : ^^^^^^ @@ -649,7 +649,7 @@ bigints("1e21n"); >bigints("1e21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e21n" : "1e21n" > : ^^^^^^^ @@ -657,7 +657,7 @@ bigints("1E21n"); >bigints("1E21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E21n" : "1E21n" > : ^^^^^^^ @@ -665,7 +665,7 @@ bigints("1e-21n"); >bigints("1e-21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e-21n" : "1e-21n" > : ^^^^^^^^ @@ -673,7 +673,7 @@ bigints("1E-21n"); >bigints("1E-21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E-21n" : "1E-21n" > : ^^^^^^^^ @@ -681,7 +681,7 @@ bigints("1.1n"); >bigints("1.1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1n" : "1.1n" > : ^^^^^^ @@ -689,7 +689,7 @@ bigints("-1.1n"); >bigints("-1.1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1n" : "-1.1n" > : ^^^^^^^ @@ -697,7 +697,7 @@ bigints("-1.1e-10n"); >bigints("-1.1e-10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1e-10n" : "-1.1e-10n" > : ^^^^^^^^^^^ @@ -705,7 +705,7 @@ bigints("-1.1E-10n"); >bigints("-1.1E-10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1E-10n" : "-1.1E-10n" > : ^^^^^^^^^^^ @@ -713,7 +713,7 @@ bigints("1.1e-10n"); >bigints("1.1e-10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1e-10n" : "1.1e-10n" > : ^^^^^^^^^^ @@ -959,11 +959,11 @@ export abstract class BB { >this.get(id!) : void > : ^^^^ >this.get : (id: Id) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >get : (id: Id) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >id! : `${string}-${string}` > : ^^^^^^^^^^^^^^^^^^^^^ >id : `${string}-${string}` diff --git a/tests/baselines/reference/templateStringWithPropertyAccess.types b/tests/baselines/reference/templateStringWithPropertyAccess.types index 1c5fc401cfee5..99ef2dd0704ab 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccess.types +++ b/tests/baselines/reference/templateStringWithPropertyAccess.types @@ -5,13 +5,13 @@ >`abc${0}abc`.indexOf(`abc`) : number > : ^^^^^^ >`abc${0}abc`.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc${0}abc` : "abc0abc" > : ^^^^^^^^^ >0 : 0 > : ^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc` : "abc" > : ^^^^^ diff --git a/tests/baselines/reference/templateStringWithPropertyAccessES6.types b/tests/baselines/reference/templateStringWithPropertyAccessES6.types index 016e09e1e1873..97c8604da962c 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccessES6.types +++ b/tests/baselines/reference/templateStringWithPropertyAccessES6.types @@ -5,13 +5,13 @@ >`abc${0}abc`.indexOf(`abc`) : number > : ^^^^^^ >`abc${0}abc`.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc${0}abc` : "abc0abc" > : ^^^^^^^^^ >0 : 0 > : ^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc` : "abc" > : ^^^^^ diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index 1331666d24171..040dd5f9ce06f 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -74,7 +74,7 @@ class C { } declare function setTimeout(expression: any, msec?: number, language?: any): number; >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >expression : any > : ^^^ >msec : number @@ -104,7 +104,7 @@ var messenger = { >setTimeout(() => { var x = this.message; }, 3000) : number > : ^^^^^^ >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >() => { var x = this.message; } : () => void > : ^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types index 629411cba7c4c..0a55f817012a4 100644 --- a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types +++ b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types @@ -50,10 +50,10 @@ const y = x.method(); // usage flags `method` in `B` as circular and marks `y` a > : ^^^^^^^^^^^^^^^^^^ >x.method() : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->x.method : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>x.method : () => string | (C<{}> extends C ? undefined : null) +> : ^^^^^^ ^^^^^ >x : C<{}> > : ^^^^^ ->method : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>method : () => string | (C<{}> extends C ? undefined : null) +> : ^^^^^^ ^^^^^ diff --git a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types index 3844bcc894d30..aeecfde852cf1 100644 --- a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types +++ b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types @@ -11,7 +11,7 @@ class C { >[1,2,3].map((x) => { return this; }) : any[] > : ^^^^^ >[1,2,3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1,2,3] : number[] > : ^^^^^^^^ >1 : 1 @@ -21,7 +21,7 @@ class C { >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(x) => { return this; } : (x: number) => this > : ^ ^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/thisInFunctionCall.types b/tests/baselines/reference/thisInFunctionCall.types index 1b58bb26fc7e7..3330d49a20bf5 100644 --- a/tests/baselines/reference/thisInFunctionCall.types +++ b/tests/baselines/reference/thisInFunctionCall.types @@ -36,16 +36,16 @@ class Test { this.data.find(function (d) { >this.data.find(function (d) { return d === this.data.length }) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >function (d) { return d === this.data.length } : (d: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >d : number @@ -78,7 +78,7 @@ class Test { >this.data.forEach(function (d) { console.log(d === this.data.length) }) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -86,7 +86,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (d) { console.log(d === this.data.length) } : (d: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >d : number @@ -96,11 +96,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -127,7 +127,7 @@ class Test { >this.data.forEach( /** @this {Test} */ function (d) { console.log(d === this.data.length) }, this) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -135,7 +135,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ /** @this {Test} */ function (d) { @@ -148,11 +148,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -180,16 +180,16 @@ class Test { this.data.find( >this.data.find( /** @this {Test} */ function (d) { return d === this.data.length }, this) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ /** @this {Test} */ function (d) { diff --git a/tests/baselines/reference/thisInFunctionCallJs.types b/tests/baselines/reference/thisInFunctionCallJs.types index 5830305d3cc3e..66f131b5e4c7e 100644 --- a/tests/baselines/reference/thisInFunctionCallJs.types +++ b/tests/baselines/reference/thisInFunctionCallJs.types @@ -33,16 +33,16 @@ class Test { this.data.find(function (d) { >this.data.find(function (d) { return d === this.data.length }) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >function (d) { return d === this.data.length } : (d: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >d : number @@ -75,7 +75,7 @@ class Test { >this.data.forEach(function (d) { console.log(d === this.data.length) }) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -83,7 +83,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (d) { console.log(d === this.data.length) } : (d: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >d : number @@ -93,11 +93,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -124,7 +124,7 @@ class Test { >this.data.forEach( /** @this {Test} */ function (d) { console.log(d === this.data.length) }, this) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -132,7 +132,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ /** @this {Test} */ function (d) { @@ -145,11 +145,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -177,16 +177,16 @@ class Test { this.data.find( >this.data.find( /** @this {Test} */ function (d) { return d === this.data.length }, this) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ /** @this {Test} */ function (d) { diff --git a/tests/baselines/reference/thisInGenericStaticMembers.types b/tests/baselines/reference/thisInGenericStaticMembers.types index ca89964221e39..e0e86c998b66b 100644 --- a/tests/baselines/reference/thisInGenericStaticMembers.types +++ b/tests/baselines/reference/thisInGenericStaticMembers.types @@ -30,11 +30,11 @@ class A { >this.one(source, 42) : T > : ^ >this.one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >this : typeof A > : ^^^^^^^^ >one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >source : T > : ^ >42 : 42 @@ -69,11 +69,11 @@ class B { >this.one(source, 42) : B > : ^ >this.one : (source: B, value: number) => B -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : typeof B > : ^^^^^^^^ >one : (source: B, value: number) => B -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >source : B > : ^ >42 : 42 diff --git a/tests/baselines/reference/thisInTupleTypeParameterConstraints.types b/tests/baselines/reference/thisInTupleTypeParameterConstraints.types index f2115f7c5b2a0..cf366d02823a2 100644 --- a/tests/baselines/reference/thisInTupleTypeParameterConstraints.types +++ b/tests/baselines/reference/thisInTupleTypeParameterConstraints.types @@ -57,7 +57,7 @@ f(x); >f(x) : void > : ^^^^ >f : number]>(a: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : [(x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/thisInTypeQuery.types b/tests/baselines/reference/thisInTypeQuery.types index 682f0e0af642c..337a2e224f92a 100644 --- a/tests/baselines/reference/thisInTypeQuery.types +++ b/tests/baselines/reference/thisInTypeQuery.types @@ -60,9 +60,9 @@ class MyClass { >assert(params) : void > : ^^^^ >assert : (condition: unknown) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >params : { a: { key: string; }; } | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ type Key = keyof typeof this.map; >Key : "my_key" @@ -88,11 +88,11 @@ class MyClass { >params.a.key : string > : ^^^^^^ >params.a : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >params : { a: { key: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types b/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types index b48d9f6242124..8749b6aead8df 100644 --- a/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types +++ b/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types @@ -58,11 +58,11 @@ class CoachMarkAnchorDecorator { >this.props.anchorRef : (CoachMarkAnchorProps> & P)["anchorRef"] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.props : Readonly<{ children?: unknown; }> & Readonly> & P> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >props : Readonly<{ children?: unknown; }> & Readonly> & P> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >anchorRef : (CoachMarkAnchorProps> & P)["anchorRef"] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -74,7 +74,7 @@ class CoachMarkAnchorDecorator { >anchorRef(anchor) : void > : ^^^^ >anchorRef : (anchor: AnchorType

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

    > : ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/thisPropertyAssignmentCircular.types b/tests/baselines/reference/thisPropertyAssignmentCircular.types index 2eee797b05d36..6c9ad20581079 100644 --- a/tests/baselines/reference/thisPropertyAssignmentCircular.types +++ b/tests/baselines/reference/thisPropertyAssignmentCircular.types @@ -33,7 +33,7 @@ export class Foo { >this.foo.slice() : string > : ^^^^^^ >this.foo.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this.foo : string > : ^^^^^^ >this : this @@ -41,7 +41,7 @@ export class Foo { >foo : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } m() { >m : () => void @@ -86,7 +86,7 @@ function C() { >this.x.toString() : string > : ^^^^^^ >this.x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.x : () => void > : ^^^^^^^^^^ >this : this @@ -94,6 +94,6 @@ function C() { >x : () => void > : ^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types b/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types index c63453f25217b..cf43d8d1dd22e 100644 --- a/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types +++ b/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types @@ -3,17 +3,17 @@ === thisPrototypeMethodCompoundAssignment.ts === Element.prototype.remove ??= function () { >Element.prototype.remove ??= function () { this.parentNode?.removeChild(this);} : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype.remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function () { this.parentNode?.removeChild(this);} : () => void > : ^^^^^^^^^^ @@ -21,7 +21,7 @@ Element.prototype.remove ??= function () { >this.parentNode?.removeChild(this) : Element | undefined > : ^^^^^^^^^^^^^^^^^^^ >this.parentNode?.removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >this : Element @@ -29,7 +29,7 @@ Element.prototype.remove ??= function () { >parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : Element > : ^^^^^^^ diff --git a/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types b/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types index b462a9e3181ea..bccc956b0f50f 100644 --- a/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types +++ b/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types @@ -3,17 +3,17 @@ === index.js === Element.prototype.remove ??= function () { >Element.prototype.remove ??= function () { this.parentNode?.removeChild(this);} : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype.remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function () { this.parentNode?.removeChild(this);} : () => void > : ^^^^^^^^^^ @@ -21,7 +21,7 @@ Element.prototype.remove ??= function () { >this.parentNode?.removeChild(this) : Element | undefined > : ^^^^^^^^^^^^^^^^^^^ >this.parentNode?.removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >this : Element @@ -29,7 +29,7 @@ Element.prototype.remove ??= function () { >parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : Element > : ^^^^^^^ @@ -40,17 +40,17 @@ Element.prototype.remove ??= function () { */ Element.prototype.remove ??= function () { >Element.prototype.remove ??= function () { this.parentNode?.removeChild(this);} : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype.remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function () { this.parentNode?.removeChild(this);} : (this: Node) => void > : ^^^^^^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ Element.prototype.remove ??= function () { >this.parentNode?.removeChild(this) : Node | undefined > : ^^^^^^^^^^^^^^^^ >this.parentNode?.removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >this : Node @@ -66,7 +66,7 @@ Element.prototype.remove ??= function () { >parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : Node > : ^^^^ diff --git a/tests/baselines/reference/thisTag1.types b/tests/baselines/reference/thisTag1.types index 17d5c3e943fad..07db5c2119e93 100644 --- a/tests/baselines/reference/thisTag1.types +++ b/tests/baselines/reference/thisTag1.types @@ -17,7 +17,7 @@ function f(s) { >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >s.length : number @@ -30,13 +30,13 @@ function f(s) { const o = { >o : { f: (this: { n: number; }, s: string) => number; n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >{ f, n: 1} : { f: (this: { n: number; }, s: string) => number; n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ f, >f : (this: { n: number; }, s: string) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ n: 1 >n : number @@ -48,11 +48,11 @@ o.f('hi') >o.f('hi') : number > : ^^^^^^ >o.f : (this: { n: number; }, s: string) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ >o : { f: (this: { n: number; }, s: string) => number; n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >f : (this: { n: number; }, s: string) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/thisTypeAccessibility.types b/tests/baselines/reference/thisTypeAccessibility.types index eda3cde77f265..38e1aba759e5c 100644 --- a/tests/baselines/reference/thisTypeAccessibility.types +++ b/tests/baselines/reference/thisTypeAccessibility.types @@ -95,7 +95,7 @@ MyClass.prototype.extension1 = function (this: MyClass, p: number) { >MyClass.prototype.extension1 = function (this: MyClass, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: MyClass, p: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >MyClass.prototype.extension1 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >MyClass.prototype : MyClass > : ^^^^^^^ >MyClass : typeof MyClass @@ -103,7 +103,7 @@ MyClass.prototype.extension1 = function (this: MyClass, p: number) { >prototype : MyClass > : ^^^^^^^ >extension1 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (this: MyClass, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: MyClass, p: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : MyClass @@ -188,7 +188,7 @@ MyClass.prototype.extension2 = function (this: T, p: number) >MyClass.prototype.extension2 = function (this: T, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: T, p: number) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >MyClass.prototype.extension2 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >MyClass.prototype : MyClass > : ^^^^^^^ >MyClass : typeof MyClass @@ -196,7 +196,7 @@ MyClass.prototype.extension2 = function (this: T, p: number) >prototype : MyClass > : ^^^^^^^ >extension2 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (this: T, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: T, p: number) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T @@ -362,7 +362,7 @@ MyClass.prototype.extension3 = extension3; >MyClass.prototype.extension3 = extension3 : (this: T, p: number) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >MyClass.prototype.extension3 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >MyClass.prototype : MyClass > : ^^^^^^^ >MyClass : typeof MyClass @@ -370,7 +370,7 @@ MyClass.prototype.extension3 = extension3; >prototype : MyClass > : ^^^^^^^ >extension3 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >extension3 : (this: T, p: number) => void > : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index f5a1414fb1fe9..1f704de6562eb 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -74,7 +74,7 @@ class C { >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -158,7 +158,7 @@ function explicitStructural(this: { y: number }, x: number): number { >this.y : number > : ^^^^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : number > : ^^^^^^ } @@ -174,7 +174,7 @@ function justThis(this: { y: number }): number { >this.y : number > : ^^^^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : number > : ^^^^^^ } @@ -238,7 +238,7 @@ let impl: I = { >this.a : number > : ^^^^^^ >this : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -274,11 +274,11 @@ impl.explicitVoid1 = function () { return 12; }; >impl.explicitVoid1 = function () { return 12; } : (this: void) => number > : ^ ^^ ^^^^^^^^^^^ >impl.explicitVoid1 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitVoid1 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function () { return 12; } : (this: void) => number > : ^ ^^ ^^^^^^^^^^^ >12 : 12 @@ -288,11 +288,11 @@ impl.explicitVoid2 = () => 12; >impl.explicitVoid2 = () => 12 : () => number > : ^^^^^^^^^^^^ >impl.explicitVoid2 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitVoid2 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 12 : () => number > : ^^^^^^^^^^^^ >12 : 12 @@ -302,17 +302,17 @@ impl.explicitStructural = function() { return this.a; }; >impl.explicitStructural = function() { return this.a; } : (this: { a: number; }) => number > : ^ ^^ ^^^^^^^^^^^ >impl.explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function() { return this.a; } : (this: { a: number; }) => number > : ^ ^^ ^^^^^^^^^^^ >this.a : number > : ^^^^^^ >this : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -320,11 +320,11 @@ impl.explicitInterface = function() { return this.a; }; >impl.explicitInterface = function() { return this.a; } : (this: I) => number > : ^ ^^ ^^^^^^^^^^^ >impl.explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function() { return this.a; } : (this: I) => number > : ^ ^^ ^^^^^^^^^^^ >this.a : number @@ -338,11 +338,11 @@ impl.explicitStructural = () => 12; >impl.explicitStructural = () => 12 : () => number > : ^^^^^^^^^^^^ >impl.explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 12 : () => number > : ^^^^^^^^^^^^ >12 : 12 @@ -352,11 +352,11 @@ impl.explicitInterface = () => 12; >impl.explicitInterface = () => 12 : () => number > : ^^^^^^^^^^^^ >impl.explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 12 : () => number > : ^^^^^^^^^^^^ >12 : 12 @@ -366,11 +366,11 @@ impl.explicitThis = function () { return this.a; }; >impl.explicitThis = function () { return this.a; } : (this: I) => number > : ^ ^^^^^^^^^^^^^^ >impl.explicitThis : (this: I) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >impl : I > : ^ >explicitThis : (this: I) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >function () { return this.a; } : (this: I) => number > : ^ ^^^^^^^^^^^^^^ >this.a : number @@ -395,15 +395,15 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: >x : number > : ^^^^^^ >{ y: 12, f: explicitStructural } : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >y : number > : ^^^^^^ >12 : 12 > : ^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; >implicitAnyOk : { notSpecified: number; f: (x: number) => number; } @@ -415,25 +415,25 @@ let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpeci >x : number > : ^^^^^^ >{ notSpecified: 12, f: implicitThis } : { notSpecified: number; f: (n: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >notSpecified : number > : ^^^^^^ >12 : 12 > : ^^ >f : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >implicitThis : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ok.f(13); >ok.f(13) : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ @@ -441,7 +441,7 @@ implicitThis(12); >implicitThis(12) : number > : ^^^^^^ >implicitThis : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -449,11 +449,11 @@ implicitAnyOk.f(12); >implicitAnyOk.f(12) : number > : ^^^^^^ >implicitAnyOk.f : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >implicitAnyOk : { notSpecified: number; f: (x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -475,23 +475,23 @@ let d = new D(); let ripped = c.explicitC; >ripped : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC(12); >c.explicitC(12) : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -499,11 +499,11 @@ c.explicitProperty(12); >c.explicitProperty(12) : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -511,11 +511,11 @@ c.explicitThis(12); >c.explicitThis(12) : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -523,11 +523,11 @@ d.explicitC(12); >d.explicitC(12) : number > : ^^^^^^ >d.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -535,11 +535,11 @@ d.explicitProperty(12); >d.explicitProperty(12) : number > : ^^^^^^ >d.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -547,11 +547,11 @@ d.explicitThis(12); >d.explicitThis(12) : number > : ^^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -599,7 +599,7 @@ let reconstructed: { } = { >{ n: 12, explicitThis: c.explicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (this: void, m: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ n: 12, >n : number @@ -609,54 +609,54 @@ let reconstructed: { explicitThis: c.explicitThis, >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ explicitC: c.explicitC, >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitProperty: c.explicitProperty, >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitVoid: c.explicitVoid >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ }; reconstructed.explicitThis(10); >reconstructed.explicitThis(10) : number > : ^^^^^^ >reconstructed.explicitThis : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitThis : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -664,29 +664,29 @@ reconstructed.explicitProperty(11); >reconstructed.explicitProperty(11) : number > : ^^^^^^ >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >11 : 11 > : ^^ let explicitVoid = reconstructed.explicitVoid; >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitVoid(12); >explicitVoid(12) : number > : ^^^^^^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -725,7 +725,7 @@ let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStr >x : number > : ^^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; >anyToSpecified : (this: { y: number; }, x: number) => number @@ -791,7 +791,7 @@ let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = uns >x : number > : ^^^^^^ >unspecifiedLambda : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; >specifiedLambdaToSpecified : (this: { y: number; }, x: number) => number @@ -803,7 +803,7 @@ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = speci >x : number > : ^^^^^^ >specifiedLambda : (this: void, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let explicitCFunction: (this: C, m: number) => number; @@ -826,25 +826,25 @@ let explicitPropertyFunction: (this: {n: number}, m: number) => number; c.explicitC = explicitCFunction; >c.explicitC = explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC = function(this: C, m: number) { return this.n + m }; >c.explicitC = function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : C @@ -864,25 +864,25 @@ c.explicitC = function(this: C, m: number) { return this.n + m }; c.explicitProperty = explicitPropertyFunction; >c.explicitProperty = explicitPropertyFunction : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitPropertyFunction : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; >c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : { n: number; } @@ -896,7 +896,7 @@ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -904,30 +904,30 @@ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m c.explicitProperty = reconstructed.explicitProperty; >c.explicitProperty = reconstructed.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // lambdas are assignable to anything c.explicitC = m => m; >c.explicitC = m => m : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -939,11 +939,11 @@ c.explicitThis = m => m; >c.explicitThis = m => m : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >m => m : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -955,11 +955,11 @@ c.explicitProperty = m => m; >c.explicitProperty = m => m : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -973,11 +973,11 @@ c.explicitC = m => m + this.n; >c.explicitC = m => m + this.n : (this: C, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m + this.n : (this: C, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >m : number @@ -997,11 +997,11 @@ c.explicitThis = m => m + this.n; >c.explicitThis = m => m + this.n : (this: C, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >m => m + this.n : (this: C, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >m : number @@ -1021,11 +1021,11 @@ c.explicitProperty = m => m + this.n; >c.explicitProperty = m => m + this.n : (this: { n: number; }, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m + this.n : (this: { n: number; }, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >m : number @@ -1044,25 +1044,25 @@ c.explicitProperty = m => m + this.n; //NOTE: this=C here, I guess? c.explicitThis = explicitCFunction; >c.explicitThis = explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitThis = function(this: C, m: number) { return this.n + m }; >c.explicitThis = function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : C @@ -1085,11 +1085,11 @@ c.explicitC = function(m) { return this.n + m }; >c.explicitC = function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -1109,11 +1109,11 @@ c.explicitProperty = function(m) { return this.n + m }; >c.explicitProperty = function(m) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(m) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -1123,7 +1123,7 @@ c.explicitProperty = function(m) { return this.n + m }; >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -1133,11 +1133,11 @@ c.explicitThis = function(m) { return this.n + m }; >c.explicitThis = function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -1158,11 +1158,11 @@ c.explicitThis = function(this, m) { return this.n + m }; >c.explicitThis = function(this, m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(this, m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this : C @@ -1185,11 +1185,11 @@ c.explicitC = function(this: B, m: number) { return this.n + m }; >c.explicitC = function(this: B, m: number) { return this.n + m } : (this: B, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: B, m: number) { return this.n + m } : (this: B, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : B @@ -1212,11 +1212,11 @@ c.explicitVoid = n => n; >c.explicitVoid = n => n : (this: void, n: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n => n : (this: void, n: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -1361,100 +1361,100 @@ let d2 = new Derived2(); d2.polymorphic = d1.polymorphic // ok, 'x' and 'y' in { x, y } >d2.polymorphic = d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1 : Derived1 > : ^^^^^^^^ >polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ d1.polymorphic = d2.polymorphic // ok, 'x' and 'y' in { x, y } >d1.polymorphic = d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1 : Derived1 > : ^^^^^^^^ >polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ // bivariance-allowed cases d1.polymorphic = b2.polymorphic // ok, 'y' in D: { x, y } >d1.polymorphic = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1 : Derived1 > : ^^^^^^^^ >polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ d2.polymorphic = d1.explicit // ok, 'y' in { x, y } >d2.polymorphic = d1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d1 : Derived1 > : ^^^^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b1.polymorphic = d2.polymorphic // ok, 'x' and 'y' not in Base1: { x } >b1.polymorphic = d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >b1.polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1 : Base1 > : ^^^^^ >polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ b1.explicit = d2.polymorphic // ok, 'x' and 'y' not in Base1: { x } >b1.explicit = d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >b1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b1 : Base1 > : ^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ////// use this-type for construction with new //// function InterfaceThis(this: I) { @@ -1489,7 +1489,7 @@ function LiteralTypeThis(this: {x: string}) { >this.x : string > : ^^^^^^ >this : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >"ok" : "ok" @@ -1565,11 +1565,11 @@ let n: number = f.call(12); >f.call(12) : number > : ^^^^^^ >f.call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >f : { (this: void, x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/thisTypeInFunctions2.types b/tests/baselines/reference/thisTypeInFunctions2.types index 68acfbc9c4e53..d17fc5d7ad281 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.types +++ b/tests/baselines/reference/thisTypeInFunctions2.types @@ -70,7 +70,7 @@ extend1({ >extend1({ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }}) : void > : ^^^^ >extend1 : (args: IndexedWithThis) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }} : { init(this: IndexedWithThis): void; mine: number; foo(this: any): void; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ @@ -85,11 +85,11 @@ extend1({ // this.mine this.willDestroy >this.willDestroy : (this: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : IndexedWithThis > : ^^^^^^^^^^^^^^^ >willDestroy : (this: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ }, mine: 12, @@ -123,7 +123,7 @@ extend2({ >extend2({ init() { this // this: IndexedWithoutThis because of contextual typing this.mine }, mine: 13, foo() { this // this: IndexedWithoutThis because of contextual typing this.mine }}) : void > : ^^^^ >extend2 : (args: IndexedWithoutThis) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ init() { this // this: IndexedWithoutThis because of contextual typing this.mine }, mine: 13, foo() { this // this: IndexedWithoutThis because of contextual typing this.mine }} : { init(): void; mine: number; foo(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -172,7 +172,7 @@ simple({ >simple({ foo(n) { return n.length + this.bar(); }, bar() { return 14; }}) : void > : ^^^^ >simple : (arg: SimpleInterface) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ foo(n) { return n.length + this.bar(); }, bar() { return 14; }} : { foo(n: string): number; bar(): number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -194,11 +194,11 @@ simple({ >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : SimpleInterface > : ^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ }, bar() { diff --git a/tests/baselines/reference/thisTypeInFunctions3.types b/tests/baselines/reference/thisTypeInFunctions3.types index 0b3b8eb49b1cf..a53d7fd30de05 100644 --- a/tests/baselines/reference/thisTypeInFunctions3.types +++ b/tests/baselines/reference/thisTypeInFunctions3.types @@ -26,11 +26,11 @@ class Test extends Base { >this.check(this) : boolean > : ^^^^^^^ >this.check : (prop: TProp) => boolean -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >check : (prop: TProp) => boolean -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/thisTypeInFunctions4.types b/tests/baselines/reference/thisTypeInFunctions4.types index 51ccdefa32440..6fc9cbb5956ec 100644 --- a/tests/baselines/reference/thisTypeInFunctions4.types +++ b/tests/baselines/reference/thisTypeInFunctions4.types @@ -39,7 +39,7 @@ function problemFunction(this: CorrectObject | WrongObject): void { >isCorrect(this) : boolean > : ^^^^^^^ >isCorrect : (obj: any) => obj is CorrectObject -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : WrongObject | CorrectObject > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.types b/tests/baselines/reference/thisTypeInFunctionsNegative.types index 2a42ef5208a4c..55ba44711e8a4 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.types +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.types @@ -83,7 +83,7 @@ class C { >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -265,35 +265,35 @@ let impl: I = { } let implExplicitStructural = impl.explicitStructural; >implExplicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl.explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ implExplicitStructural(); // error, no 'a' in 'void' >implExplicitStructural() : number > : ^^^^^^ >implExplicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let implExplicitInterface = impl.explicitInterface; >implExplicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl.explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ implExplicitInterface(); // error, no 'a' in 'void' >implExplicitInterface() : number > : ^^^^^^ >implExplicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function explicitStructural(this: { y: number }, x: number): number { >explicitStructural : (this: { y: number; }, x: number) => number @@ -313,7 +313,7 @@ function explicitStructural(this: { y: number }, x: number): number { >this.y : number > : ^^^^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : number > : ^^^^^^ } @@ -335,7 +335,7 @@ function propertyName(this: { y: number }, x: number): number { >this.notFound : any > : ^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >notFound : any > : ^^^ } @@ -373,13 +373,13 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, ex >x : number > : ^^^^^^ >{ y: 12, explicitStructural } : { y: number; explicitStructural: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >y : number > : ^^^^^^ >12 : 12 > : ^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number} = { y: 'foo', explicitStructural }; >wrongPropertyType : { y: string; f: (this: { y: number; }, x: number) => number; } @@ -395,13 +395,13 @@ let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number >x : number > : ^^^^^^ >{ y: 'foo', explicitStructural } : { y: string; explicitStructural: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >y : string > : ^^^^^^ >'foo' : "foo" > : ^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) => number} = { wrongName: 12, explicitStructural }; >wrongPropertyName : { wrongName: number; f: (this: { y: number; }, x: number) => number; } @@ -417,33 +417,33 @@ let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) = >x : number > : ^^^^^^ >{ wrongName: 12, explicitStructural } : { wrongName: number; explicitStructural: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >wrongName : number > : ^^^^^^ >12 : 12 > : ^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ok.f(); // not enough arguments >ok.f() : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ok.f('wrong type'); >ok.f('wrong type') : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'wrong type' : "wrong type" > : ^^^^^^^^^^^^ @@ -451,11 +451,11 @@ ok.f(13, 'too many arguments'); >ok.f(13, 'too many arguments') : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ >'too many arguments' : "too many arguments" @@ -465,11 +465,11 @@ wrongPropertyType.f(13); >wrongPropertyType.f(13) : number > : ^^^^^^ >wrongPropertyType.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >wrongPropertyType : { y: string; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ @@ -477,11 +477,11 @@ wrongPropertyName.f(13); >wrongPropertyName.f(13) : number > : ^^^^^^ >wrongPropertyName.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >wrongPropertyName : { wrongName: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ @@ -497,21 +497,21 @@ c.explicitC(); // not enough arguments >c.explicitC() : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC('wrong type'); >c.explicitC('wrong type') : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'wrong type' : "wrong type" > : ^^^^^^^^^^^^ @@ -519,11 +519,11 @@ c.explicitC(13, 'too many arguments'); >c.explicitC(13, 'too many arguments') : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ >'too many arguments' : "too many arguments" @@ -533,21 +533,21 @@ c.explicitThis(); // not enough arguments >c.explicitThis() : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitThis('wrong type 2'); >c.explicitThis('wrong type 2') : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >'wrong type 2' : "wrong type 2" > : ^^^^^^^^^^^^^^ @@ -555,11 +555,11 @@ c.explicitThis(14, 'too many arguments 2'); >c.explicitThis(14, 'too many arguments 2') : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >14 : 14 > : ^^ >'too many arguments 2' : "too many arguments 2" @@ -569,21 +569,21 @@ c.implicitThis(); // not enough arguments >c.implicitThis() : number > : ^^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c.implicitThis('wrong type 2'); >c.implicitThis('wrong type 2') : number > : ^^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'wrong type 2' : "wrong type 2" > : ^^^^^^^^^^^^^^ @@ -591,11 +591,11 @@ c.implicitThis(14, 'too many arguments 2'); >c.implicitThis(14, 'too many arguments 2') : number > : ^^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >14 : 14 > : ^^ >'too many arguments 2' : "too many arguments 2" @@ -605,21 +605,21 @@ c.explicitProperty(); // not enough arguments >c.explicitProperty() : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitProperty('wrong type 3'); >c.explicitProperty('wrong type 3') : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'wrong type 3' : "wrong type 3" > : ^^^^^^^^^^^^^^ @@ -627,11 +627,11 @@ c.explicitProperty(15, 'too many arguments 3'); >c.explicitProperty(15, 'too many arguments 3') : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >15 : 15 > : ^^ >'too many arguments 3' : "too many arguments 3" @@ -646,7 +646,7 @@ let specifiedToVoid: (this: void, x: number) => number = explicitStructural; >x : number > : ^^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let reconstructed: { >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } @@ -692,7 +692,7 @@ let reconstructed: { } = { >{ n: 12, explicitThis: c.explicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (this: void, m: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ n: 12, >n : number @@ -702,43 +702,43 @@ let reconstructed: { explicitThis: c.explicitThis, >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ explicitC: c.explicitC, >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitProperty: c.explicitProperty, >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitVoid: c.explicitVoid >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ };; @@ -766,11 +766,11 @@ c.explicitC = function(this: D, m: number) { return this.x + m }; >c.explicitC = function(this: D, m: number) { return this.x + m } : (this: D, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: D, m: number) { return this.x + m } : (this: D, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : D @@ -790,143 +790,143 @@ c.explicitC = function(this: D, m: number) { return this.x + m }; c.explicitProperty = explicitXProperty; >c.explicitProperty = explicitXProperty : (this: { x: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitXProperty : (this: { x: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC = d.explicitD; >c.explicitC = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC = d.explicitThis; >c.explicitC = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitThis = d.explicitD; >c.explicitThis = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitThis = d.explicitThis; >c.explicitThis = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitProperty = d.explicitD; >c.explicitProperty = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitThis = d.explicitThis; >c.explicitThis = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitVoid = d.explicitD; >c.explicitVoid = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitVoid = d.explicitThis; >c.explicitVoid = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ /// class-based polymorphic assignability (with inheritance!) /// @@ -1064,51 +1064,51 @@ let d2 = new Derived2(); b1.polymorphic = b2.polymorphic // error, 'this.y' not in Base1: { x } >b1.polymorphic = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1.polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1 : Base1 > : ^^^^^ >polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ b1.explicit = b2.polymorphic // error, 'y' not in Base1: { x } >b1.explicit = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b1 : Base1 > : ^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ d1.explicit = b2.polymorphic // error, 'y' not in Base1: { x } >d1.explicit = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >d1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d1 : Derived1 > : ^^^^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ////// use this-type for construction with new //// function VoidThis(this: void) { @@ -1247,17 +1247,17 @@ function initializer(this: C = new C()): number { return this.n; } // can't name parameters 'this' in a lambda. c.explicitProperty = (this, m) => m + this.n; >c.explicitProperty = (this, m) => m + this.n : (this: { n: number; }, m: number) => any -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(this, m) => m + this.n : (this: { n: number; }, m: number) => any -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >m : number > : ^^^^^^ >m + this.n : any @@ -1353,11 +1353,11 @@ class Derived3 extends Base2 { >super.polymorphic() : number > : ^^^^^^ >super.polymorphic : (this: this) => number -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >super : Base2 > : ^^^^^ >polymorphic : (this: this) => number -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.types b/tests/baselines/reference/thisTypeInObjectLiterals.types index a4249e834616e..3360254d41d1a 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals.types +++ b/tests/baselines/reference/thisTypeInObjectLiterals.types @@ -72,13 +72,13 @@ let mutuallyRecursive = { >this.passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >this.a : number > : ^^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ @@ -93,11 +93,11 @@ let mutuallyRecursive = { >this.sub1(n) : number > : ^^^^^^ >this.sub1 : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >sub1 : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n : number > : ^^^^^^ @@ -122,7 +122,7 @@ let mutuallyRecursive = { >this.passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n - 1 : number @@ -145,7 +145,7 @@ var i: number = mutuallyRecursive.start(); >mutuallyRecursive.start : () => number > : ^^^^^^^^^^^^ >mutuallyRecursive : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >start : () => number > : ^^^^^^^^^^^^ @@ -174,5 +174,5 @@ var impl: I = mutuallyRecursive; >impl : I > : ^ >mutuallyRecursive : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/thisTypeInObjectLiterals2.types b/tests/baselines/reference/thisTypeInObjectLiterals2.types index 69c2a41637321..05cb646d4eea8 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals2.types +++ b/tests/baselines/reference/thisTypeInObjectLiterals2.types @@ -458,7 +458,7 @@ f1({ >f1({ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }}) : void > : ^^^^ >f1 : (p: Point) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }} : { x: number; y: number; moveBy(dx: number, dy: number, dz: number | undefined): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -545,7 +545,7 @@ f2({ >f2({ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }}) : void > : ^^^^ >f2 : (p: Point | null | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }} : { x: number; y: number; moveBy(dx: number, dy: number, dz: number | undefined): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -650,7 +650,7 @@ let x1 = makeObject({ >makeObject({ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }}) : { x: number; y: number; } & { moveBy(dx: number, dy: number): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ >makeObject : (desc: ObjectDescriptor) => D & M -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }} : { data: { x: number; y: number; }; methods: { moveBy(dx: number, dy: number): void; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ @@ -737,7 +737,7 @@ let x2 = makeObject2({ >makeObject2({ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }}) : { x: number; y: number; } & { moveBy(dx: number, dy: number): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ >makeObject2 : (desc: ObjectDescriptor) => D & M -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }} : { data: { x: number; y: number; }; methods: { moveBy(dx: number, dy: number): void; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ @@ -848,7 +848,7 @@ let p10 = defineProp(p1, "foo", { value: 42 }); >defineProp(p1, "foo", { value: 42 }) : Point & Record<"foo", number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >defineProp : (obj: T, name: K, desc: PropDesc & ThisType) => T & Record -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : Point > : ^^^^^ >"foo" : "foo" @@ -886,7 +886,7 @@ let p11 = defineProp(p1, "bar", { >defineProp(p1, "bar", { get() { return this.x; }, set(value: number) { this.x = value; }}) : Point & Record<"bar", number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >defineProp : (obj: T, name: K, desc: PropDesc & ThisType) => T & Record -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : Point > : ^^^^^ >"bar" : "bar" @@ -952,7 +952,7 @@ let p12 = defineProps(p1, { >defineProps(p1, { foo: { value: 42 }, bar: { get(): number { return this.x; }, set(value: number) { this.x = value; } }}) : Point & { foo: number; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >defineProps : (obj: T, descs: PropDescMap & ThisType) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : Point > : ^^^^^ >{ foo: { value: 42 }, bar: { get(): number { return this.x; }, set(value: number) { this.x = value; } }} : { foo: { value: number; }; bar: { get(): number; set(value: number): void; }; } @@ -1106,7 +1106,7 @@ let vue = new Vue({ >new Vue({ data: () => ({ x: 1, y: 2 }), methods: { f(x: string) { return this.x; } }, computed: { test(): number { return this.x; }, hello: { get() { return "hi"; }, set(value: string) { } } }}) : { x: number; y: number; } & { f(x: string): number; } & { test: number; hello: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Vue : new (options: VueOptions) => D & M & P -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ data: () => ({ x: 1, y: 2 }), methods: { f(x: string) { return this.x; } }, computed: { test(): number { return this.x; }, hello: { get() { return "hi"; }, set(value: string) { } } }} : { data: () => { x: number; y: number; }; methods: { f(x: string): number; }; computed: { test(): number; hello: { get(): string; set(value: string): void; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/thisTypeInTaggedTemplateCall.types b/tests/baselines/reference/thisTypeInTaggedTemplateCall.types index 9f87335a06c22..1cb88052001ba 100644 --- a/tests/baselines/reference/thisTypeInTaggedTemplateCall.types +++ b/tests/baselines/reference/thisTypeInTaggedTemplateCall.types @@ -17,7 +17,7 @@ class Foo { >new this() : T > : ^ >this : new () => T -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ } } diff --git a/tests/baselines/reference/thisTypeInTuples.types b/tests/baselines/reference/thisTypeInTuples.types index adbdc2ef9a87e..ea5de79797c63 100644 --- a/tests/baselines/reference/thisTypeInTuples.types +++ b/tests/baselines/reference/thisTypeInTuples.types @@ -4,7 +4,7 @@ interface Array { slice(): this; >slice : { (start?: number, end?: number): T[]; (): this; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^ ^^^ } let t: [number, string] = [42, "hello"]; @@ -23,11 +23,11 @@ let a = t.slice(); >t.slice() : [number, string] > : ^^^^^^^^^^^^^^^^ >t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >t : [number, string] > : ^^^^^^^^^^^^^^^^ >slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ let b = t.slice(1); >b : (string | number)[] @@ -35,11 +35,11 @@ let b = t.slice(1); >t.slice(1) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >t : [number, string] > : ^^^^^^^^^^^^^^^^ >slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -49,11 +49,11 @@ let c = t.slice(0, 1); >t.slice(0, 1) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >t : [number, string] > : ^^^^^^^^^^^^^^^^ >slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/thisTypeInTypePredicate.types b/tests/baselines/reference/thisTypeInTypePredicate.types index d3a69a2cbb70c..ebe530f9c1e7a 100644 --- a/tests/baselines/reference/thisTypeInTypePredicate.types +++ b/tests/baselines/reference/thisTypeInTypePredicate.types @@ -16,7 +16,7 @@ const numbers = filter((x): x is number => 'number' == typeof x) >filter((x): x is number => 'number' == typeof x) : number[] > : ^^^^^^^^ >filter : (f: (this: void, x: any) => x is S) => S[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x): x is number => 'number' == typeof x : (this: void, x: any) => x is number > : ^ ^^ ^^ ^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/thisTypeOfConstructorFunctions.types b/tests/baselines/reference/thisTypeOfConstructorFunctions.types index 5a8f426fb6fab..5023191f43f08 100644 --- a/tests/baselines/reference/thisTypeOfConstructorFunctions.types +++ b/tests/baselines/reference/thisTypeOfConstructorFunctions.types @@ -46,7 +46,7 @@ function Cp(t) { >m3 : any > : ^^^ >() => this : () => this -> : ^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ } @@ -59,7 +59,7 @@ Cp.prototype = { >Cp : typeof Cp > : ^^^^^^^^^ >prototype : { m4(): this; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ /** @return {this} */ m4() { this.z = this.y; return this }} : { m4(): this; } > : ^^^^^^^^ ^^^ @@ -124,7 +124,7 @@ Cpp.prototype.m2 = function () { >m2 : any > : ^^^ >function () { this.z = this.y; return this} : () => this -> : ^^^^^^^^^^ +> : ^^^^^^ this.z = this.y; return this >this.z = this.y : T diff --git a/tests/baselines/reference/thisTypeOptionalCall.types b/tests/baselines/reference/thisTypeOptionalCall.types index c49f519cd9f69..3b188f12a14c2 100644 --- a/tests/baselines/reference/thisTypeOptionalCall.types +++ b/tests/baselines/reference/thisTypeOptionalCall.types @@ -18,11 +18,11 @@ function maybeBind(obj: T, fn: ((this: T, ...args: A) => return fn?.bind(obj); >fn?.bind(obj) : any >fn?.bind : ((this: Function, thisArg: any, ...argArray: any[]) => any) | undefined -> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >fn : ((this: T, ...args: A) => R) | undefined -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >bind : ((this: Function, thisArg: any, ...argArray: any[]) => any) | undefined -> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >obj : T > : ^ } diff --git a/tests/baselines/reference/thisTypeSyntacticContext.types b/tests/baselines/reference/thisTypeSyntacticContext.types index 3c28e4e91d5fa..0d18cf2933e27 100644 --- a/tests/baselines/reference/thisTypeSyntacticContext.types +++ b/tests/baselines/reference/thisTypeSyntacticContext.types @@ -32,11 +32,11 @@ o.test = f >o.test = f : (this: { n: number; }) => void > : ^ ^^ ^^^^^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (this: { n: number; }) => void > : ^ ^^ ^^^^^^^^^ @@ -44,76 +44,76 @@ o.test(); >o.test() : void > : ^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o!.test(); >o!.test() : void > : ^^^^ >o!.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o! : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o.test!(); >o.test!() : void > : ^^^^ >o.test! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o.test!!!(); >o.test!!!() : void > : ^^^^ >o.test!!! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test!! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ (o.test!)(); >(o.test!)() : void > : ^^^^ >(o.test!) : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ (o.test)(); >(o.test)() : void > : ^^^^ >(o.test) : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/throwStatements.types b/tests/baselines/reference/throwStatements.types index fdbd0f55d83e6..697b9d5d871ed 100644 --- a/tests/baselines/reference/throwStatements.types +++ b/tests/baselines/reference/throwStatements.types @@ -64,11 +64,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber = 9.9; @@ -182,19 +182,19 @@ throw anObjectLiteral; var aFunction = F; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ throw aFunction; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ throw aFunction(''); >aFunction('') : number > : ^^^^^^ >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ @@ -253,17 +253,17 @@ throw aClassInModule; var aFunctionInModule = M.F2; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ throw aFunctionInModule; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // no initializer or annotation, so this is an 'any' var x; diff --git a/tests/baselines/reference/toStringOnPrimitives.types b/tests/baselines/reference/toStringOnPrimitives.types index f0e3f5e100b77..926766cdee403 100644 --- a/tests/baselines/reference/toStringOnPrimitives.types +++ b/tests/baselines/reference/toStringOnPrimitives.types @@ -5,11 +5,11 @@ true.toString() >true.toString() : string > : ^^^^^^ >true.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >true : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var aBool = false; >aBool : boolean @@ -21,19 +21,19 @@ aBool.toString(); >aBool.toString() : string > : ^^^^^^ >aBool.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >aBool : false > : ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ 1..toString(); >1..toString() : string > : ^^^^^^ >1..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1. : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types index a58896f987a4d..2faa90803cf93 100644 --- a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types +++ b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types @@ -25,7 +25,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; >map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => V @@ -37,7 +37,7 @@ interface Combinators { map(c: Collection, f: (x: T, y: U) => any): Collection; >map : { (c: Collection, f: (x: T_1, y: U_1) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => any @@ -61,11 +61,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -75,11 +75,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var rf1 = (x: number) => { return x.toFixed() }; >rf1 : (x: number) => string @@ -91,11 +91,11 @@ var rf1 = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r1b = _.map(c2, rf1); >r1b : Collection @@ -103,11 +103,11 @@ var r1b = _.map(c2, rf1); >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ >map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string diff --git a/tests/baselines/reference/topFunctionTypeNotCallable.types b/tests/baselines/reference/topFunctionTypeNotCallable.types index ecc84c9f00bae..ed57fafa752f6 100644 --- a/tests/baselines/reference/topFunctionTypeNotCallable.types +++ b/tests/baselines/reference/topFunctionTypeNotCallable.types @@ -13,5 +13,5 @@ foo(); // error >foo() : void > : ^^^^ >foo : (...args: never) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types index 67754cc21cd90..ac622b31610ca 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -270,11 +270,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types index caf2d9f1e1a2f..f2a9992f6d32d 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -266,11 +266,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types index 67754cc21cd90..ac622b31610ca 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -270,11 +270,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types index caf2d9f1e1a2f..f2a9992f6d32d 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -266,11 +266,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types index 67754cc21cd90..ac622b31610ca 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -270,11 +270,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types index caf2d9f1e1a2f..f2a9992f6d32d 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -266,11 +266,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types index 3ee04117c0cd2..77e3025ffa502 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types @@ -15,11 +15,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types index 3ee04117c0cd2..77e3025ffa502 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types @@ -15,11 +15,11 @@ const arr = [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>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelBlockExpando.types b/tests/baselines/reference/topLevelBlockExpando.types index 527a79e0fa129..ce3b89ad79a89 100644 --- a/tests/baselines/reference/topLevelBlockExpando.types +++ b/tests/baselines/reference/topLevelBlockExpando.types @@ -21,21 +21,21 @@ interface Person { >Math.floor(Math.random() * 6) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 6 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >6 : 6 > : ^ @@ -95,21 +95,21 @@ const dice1 = () => Math.floor(Math.random() * 6); >Math.floor(Math.random() * 6) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 6 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >6 : 6 > : ^ @@ -138,21 +138,21 @@ dice1.last = 'Calrissian'; >Math.floor(Math.random() * 6) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 6 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >6 : 6 > : ^ diff --git a/tests/baselines/reference/topLevelExports.types b/tests/baselines/reference/topLevelExports.types index c9310933830b2..80c9c1d58a8bb 100644 --- a/tests/baselines/reference/topLevelExports.types +++ b/tests/baselines/reference/topLevelExports.types @@ -21,7 +21,7 @@ void log(foo).toString(); >log(foo).toString() : string > : ^^^^^^ >log(foo).toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >log(foo) : number > : ^^^^^^ >log : (n: number) => number @@ -29,5 +29,5 @@ void log(foo).toString(); >foo : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/topLevelModuleDeclarationAndFile.types b/tests/baselines/reference/topLevelModuleDeclarationAndFile.types index e78db1c09fa83..bd1a283efb2ac 100644 --- a/tests/baselines/reference/topLevelModuleDeclarationAndFile.types +++ b/tests/baselines/reference/topLevelModuleDeclarationAndFile.types @@ -28,11 +28,11 @@ var z2 = foo.y() + 10; // Should resolve >foo.y() : number > : ^^^^^^ >foo.y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo : typeof foo > : ^^^^^^^^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >10 : 10 > : ^^ diff --git a/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types b/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types index 3e758c1876f59..48452d9ddfc38 100644 --- a/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types +++ b/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types @@ -41,13 +41,13 @@ f2(...[],); // Not confused by overloads declare function f3(x, ): number; >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ declare function f3(x, y,): string; >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ >y : any @@ -59,7 +59,7 @@ declare function f3(x, y,): string; >f3(1,) : number > : ^^^^^^ >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >1 : 1 > : ^ @@ -69,7 +69,7 @@ declare function f3(x, y,): string; >f3(1, 2,) : string > : ^^^^^^ >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.types b/tests/baselines/reference/transformNestedGeneratorsWithTry.types index 54bc9f7241845..893ebeb88355e 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.types +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.types @@ -26,11 +26,11 @@ async function a(): Bluebird { >Bluebird.resolve() : Promise > : ^^^^^^^^^^^^^ >Bluebird.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Bluebird : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ } catch (error) { } >error : any @@ -43,7 +43,7 @@ async function a(): Bluebird { >b() : Bluebird > : ^^^^^^^^^^^^^^ >b : () => Bluebird -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } catch (error) { } >error : any diff --git a/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types b/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types index 4f405f09b3f12..ea7aa086e8cd9 100644 --- a/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types +++ b/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types @@ -17,7 +17,7 @@ export class Wizard { >{ wizard: this, ...props, } as WizardStepProps : WizardStepProps > : ^^^^^^^^^^^^^^^ >{ wizard: this, ...props, } : { wizard: Wizard; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ wizard: this, >wizard : this diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion.types b/tests/baselines/reference/truthinessCallExpressionCoercion.types index add104fc6b23d..cd7dd79c16d7a 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion.types @@ -11,12 +11,12 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o if (required) { // error >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } if (optional) { // ok >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } if (!!required) { // ok @@ -25,14 +25,14 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >!required : false > : ^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } if (required()) { // ok >required() : boolean > : ^^^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -48,11 +48,11 @@ function onlyErrorsWhenUnusedInBody() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -64,11 +64,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log('test') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'test' : "test" > : ^^^^^^ } @@ -81,11 +81,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log(test) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test : () => boolean > : ^^^^^^^^^^^^^ } @@ -109,13 +109,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(() => { test(); }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >() => { test(); } : () => void > : ^^^^^^^^^^ @@ -136,13 +136,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(test => { test(); }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >test => { test(); } : (test: () => null) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >test : () => null @@ -253,11 +253,11 @@ class Foo { if (this.maybeIsUser) { // ok >this.maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >this : this > : ^^^^ >maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } } } @@ -271,21 +271,21 @@ function A(stats: StatsBase) { if (stats.isDirectory) { // err >stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ console.log(`[Directory] ${stats.ctime}`) >console.log(`[Directory] ${stats.ctime}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`[Directory] ${stats.ctime}` : string > : ^^^^^^ >stats.ctime : number @@ -307,7 +307,7 @@ function B(a: Nested, b: Nested) { if (a.stats.isDirectory) { // err >a.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >a.stats : StatsBase > : ^^^^^^^^^^^^^^ >a : Nested @@ -315,13 +315,13 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ b.stats.isDirectory(); >b.stats.isDirectory() : boolean > : ^^^^^^^ >b.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b.stats : StatsBase > : ^^^^^^^^^^^^^^ >b : Nested @@ -329,11 +329,11 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } if (a.stats.isDirectory) { // ok >a.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >a.stats : StatsBase > : ^^^^^^^^^^^^^^ >a : Nested @@ -341,13 +341,13 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ a.stats.isDirectory(); >a.stats.isDirectory() : boolean > : ^^^^^^^ >a.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >a.stats : StatsBase > : ^^^^^^^^^^^^^^ >a : Nested @@ -355,7 +355,7 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion1.types b/tests/baselines/reference/truthinessCallExpressionCoercion1.types index f9b3979b78782..916f5ce426488 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion1.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion1.types @@ -14,15 +14,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >required ? console.log('required') : undefined : void > : ^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ >undefined : undefined @@ -33,15 +33,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >optional ? console.log('optional') : undefined : void > : ^^^^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ >undefined : undefined @@ -56,15 +56,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >!required : false > : ^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('not required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'not required' : "not required" > : ^^^^^^^^^^^^^^ >undefined : undefined @@ -77,15 +77,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >required() : boolean > : ^^^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required call') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required call' : "required call" > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -104,11 +104,11 @@ function onlyErrorsWhenUnusedInBody() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -121,11 +121,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log('test') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'test' : "test" > : ^^^^^^ >undefined : undefined @@ -140,11 +140,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log(test) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test : () => boolean > : ^^^^^^^^^^^^^ >undefined : undefined @@ -174,13 +174,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(() => { test(); }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >() => { test(); } : () => void > : ^^^^^^^^^^ >test() : boolean @@ -203,13 +203,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(test => { test() }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >test => { test() } : (test: () => null) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >test : () => null @@ -265,11 +265,11 @@ function checksPropertyAccess() { >console.log('x.foo.bar') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'x.foo.bar' : "x.foo.bar" > : ^^^^^^^^^^^ >undefined : undefined @@ -408,11 +408,11 @@ class Foo { >console.log('this.isUser') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'this.isUser' : "this.isUser" > : ^^^^^^^^^^^^^ >undefined : undefined @@ -423,19 +423,19 @@ class Foo { >this.maybeIsUser ? console.log('this.maybeIsUser') : undefined : void > : ^^^^ >this.maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >this : this > : ^^^^ >maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('this.maybeIsUser') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'this.maybeIsUser' : "this.maybeIsUser" > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion2.types b/tests/baselines/reference/truthinessCallExpressionCoercion2.types index 63873000e11fb..b1b3f588f2eb3 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion2.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion2.types @@ -39,15 +39,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && console.log('required') : void > : ^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -56,19 +56,19 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >1 && required1 && console.log('required') : void > : ^^^^ >1 && required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -77,11 +77,11 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // ok required1 && 1 && required1(); @@ -90,28 +90,28 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && 1 : 1 > : ^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // ok optional && console.log('optional'); >optional && console.log('optional') : void | undefined > : ^^^^^^^^^^^^^^^^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ @@ -120,19 +120,19 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >1 && optional && console.log('optional') : void | undefined > : ^^^^^^^^^^^^^^^^ >1 && optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ @@ -145,15 +145,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >!required1 : false > : ^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('not required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'not required' : "not required" > : ^^^^^^^^^^^^^^ @@ -164,15 +164,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required call') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required call' : "required call" > : ^^^^^^^^^^^^^^^ @@ -183,30 +183,30 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && required2 && required1() : boolean > : ^^^^^^^ >required1 && required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2() : boolean > : ^^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // ok [].forEach((f: () => void) => f && f.apply(parent, [])); >[].forEach((f: () => void) => f && f.apply(parent, [])) : void > : ^^^^ >[].forEach : (callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : never[] > : ^^^^^^^ >forEach : (callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(f: () => void) => f && f.apply(parent, []) : (f: () => void) => any > : ^ ^^ ^^^^^^^^ >f : () => void @@ -214,15 +214,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >f && f.apply(parent, []) : any > : ^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f.apply(parent, []) : any > : ^^^ >f.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >parent : Window > : ^^^^^^ >[] : never[] @@ -235,23 +235,23 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && required2 && required1() : boolean > : ^^^^^^^ >required1 && required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('foo') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ @@ -260,7 +260,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -268,9 +268,9 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (required1 || b) { >required1 || b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -278,19 +278,19 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (required1 || required2) { >required1 || required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error if (required1 ?? b) { >required1 ?? b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -298,11 +298,11 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (required1 ?? required2) { >required1 ?? required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error @@ -314,7 +314,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -324,7 +324,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -332,15 +332,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok if (required1 || b) { >required1 || b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -348,15 +348,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok if (required1 ?? b) { >required1 ?? b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -364,7 +364,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok @@ -374,13 +374,13 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ required1(); >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok @@ -392,7 +392,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -400,31 +400,31 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error, extra parens are on purpose here if ((required1)) { >(required1) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error if (b && (required1 || required2)) { >b && (required1 || required2) : false | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^ >b : boolean > : ^^^^^^^ >(required1 || required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 || required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error @@ -432,13 +432,13 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >(required1 || required2) && b : boolean > : ^^^^^^^ >(required1 || required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 || required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -446,17 +446,17 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (b && (required1 ?? required2)) { >b && (required1 ?? required2) : false | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^ >b : boolean > : ^^^^^^^ >(required1 ?? required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 ?? required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error @@ -464,13 +464,13 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >(required1 ?? required2) && b : boolean > : ^^^^^^^ >(required1 ?? required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 ?? required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -521,11 +521,11 @@ function checksConsole() { >firebug : any > : ^^^ >(window.console.error && window.console.table) : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >window.console.error && window.console.table : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >window.console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >window.console : Console > : ^^^^^^^ >window : Window & typeof globalThis @@ -533,9 +533,9 @@ function checksConsole() { >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >window.console.table : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >window.console : Console > : ^^^^^^^ >window : Window & typeof globalThis @@ -543,7 +543,7 @@ function checksConsole() { >console : Console > : ^^^^^^^ >table : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } function checksPropertyAccess() { @@ -587,11 +587,11 @@ function checksPropertyAccess() { >console.log('x.foo.bar') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'x.foo.bar' : "x.foo.bar" > : ^^^^^^^^^^^ @@ -616,11 +616,11 @@ function checksPropertyAccess() { >console.log('x.foo.bar') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'x.foo.bar' : "x.foo.bar" > : ^^^^^^^^^^^ @@ -691,11 +691,11 @@ function checksPropertyAccess() { >A.from && (A.from as Function) !== B.from : boolean > : ^^^^^^^ >A.from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(A.from as Function) !== B.from : boolean > : ^^^^^^^ >(A.from as Function) : Function @@ -703,17 +703,17 @@ function checksPropertyAccess() { >A.from as Function : Function > : ^^^^^^^^ >A.from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >B.from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >B : typeof B > : ^^^^^^^^ >from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >true : true > : ^^^^ >false : false @@ -1013,11 +1013,11 @@ class Foo { >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -1038,11 +1038,11 @@ class Foo { >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -1093,23 +1093,23 @@ class Foo { >1 && this.optional && console.log('optional') : void | undefined > : ^^^^^^^^^^^^^^^^ >1 && this.optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >this.optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >this : this > : ^^^^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion3.types b/tests/baselines/reference/truthinessCallExpressionCoercion3.types index 44f208fa9d29f..59c42cc5daa43 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion3.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion3.types @@ -16,7 +16,7 @@ function f(result: unknown) { if ((result as I).always) { >(result as I).always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(result as I) : I > : ^ >result as I : I @@ -24,7 +24,7 @@ function f(result: unknown) { >result : unknown > : ^^^^^^^ >always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ return result >result : unknown @@ -39,7 +39,7 @@ function g(result: unknown) { if (((result as I)).always) { >((result as I)).always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >((result as I)) : I > : ^ >(result as I) : I @@ -49,7 +49,7 @@ function g(result: unknown) { >result : unknown > : ^^^^^^^ >always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ return result >result : unknown diff --git a/tests/baselines/reference/truthinessPromiseCoercion.types b/tests/baselines/reference/truthinessPromiseCoercion.types index eb013862713b3..eecd340d61b70 100644 --- a/tests/baselines/reference/truthinessPromiseCoercion.types +++ b/tests/baselines/reference/truthinessPromiseCoercion.types @@ -119,11 +119,11 @@ async function g() { >p.then.length : number > : ^^^^^^ >p.then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >length : number > : ^^^^^^ @@ -175,7 +175,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ @@ -183,7 +183,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ @@ -193,7 +193,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ } @@ -203,7 +203,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >await obj.p : unknown @@ -211,7 +211,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ } @@ -224,7 +224,7 @@ async function i(): Promise { >pf() : Promise > : ^^^^^^^^^^^^^^^^ >pf : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return "true"; >"true" : "true" @@ -234,19 +234,19 @@ async function i(): Promise { >pf() : Promise > : ^^^^^^^^^^^^^^^^ >pf : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ pf().then(); >pf().then() : Promise > : ^^^^^^^^^^^^^^^^ >pf().then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >pf() : Promise > : ^^^^^^^^^^^^^^^^ >pf : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ } return "false"; >"false" : "false" diff --git a/tests/baselines/reference/tryCatchFinallyControlFlow.types b/tests/baselines/reference/tryCatchFinallyControlFlow.types index b9ef1af727e73..a6d1212418f1a 100644 --- a/tests/baselines/reference/tryCatchFinallyControlFlow.types +++ b/tests/baselines/reference/tryCatchFinallyControlFlow.types @@ -45,11 +45,11 @@ function f1() { >a.toFixed(0) : string > : ^^^^^^ >a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ >"123" : "123" @@ -915,7 +915,7 @@ function notallowed(arg: number) { >state.tag : "two" | "three" > : ^^^^^^^^^^^^^^^ >state : { tag: "two"; } | { tag: "three"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^ >tag : "two" | "three" > : ^^^^^^^^^^^^^^^ >"two" : "two" @@ -925,15 +925,15 @@ function notallowed(arg: number) { >console.log(state.tag) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >state.tag : "three" > : ^^^^^^^ >state : { tag: "three"; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >tag : "three" > : ^^^^^^^ } diff --git a/tests/baselines/reference/tslibReExportHelpers2.types b/tests/baselines/reference/tslibReExportHelpers2.types index 0e359bd1cf1ab..f7b19714efbc3 100644 --- a/tests/baselines/reference/tslibReExportHelpers2.types +++ b/tests/baselines/reference/tslibReExportHelpers2.types @@ -3,7 +3,7 @@ === /node_modules/tslib/index.d.ts === export declare function __classPrivateFieldGet( >__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V_1>(receiver: T_1, state: T_1, kind: "f", f: { value: V_1; }): V_1; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ receiver: T, >receiver : T @@ -28,7 +28,7 @@ export declare function __classPrivateFieldGet( ): V; export declare function __classPrivateFieldGet unknown, V>( >__classPrivateFieldGet : { (receiver: T_1, state: { has(o: T_1): boolean; get(o: T_1): V_1 | undefined; }, kind?: "f"): V_1; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V; }): V; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ @@ -55,7 +55,7 @@ export declare function __classPrivateFieldGet === /node_modules/tslib/index.d.mts === export { __classPrivateFieldGet } from "./index.js"; >__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V; }): V; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ === /index.mts === export class Foo { @@ -67,11 +67,11 @@ export class Foo { >console.log(Foo.#test()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.#test() : string > : ^^^^^^ >Foo.#test : () => string diff --git a/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types b/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types index 11f7cfac3c757..c5f13c94f3b5b 100644 --- a/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types +++ b/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types @@ -29,7 +29,7 @@ const Foo = (props: { foo: "A" | "B" | "C" }) => {props.foo}; >props.foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >props : { foo: "A" | "B" | "C"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >span : any diff --git a/tests/baselines/reference/tsxAttributeResolution12.types b/tests/baselines/reference/tsxAttributeResolution12.types index 59290582179fa..360501fb1ec4e 100644 --- a/tests/baselines/reference/tsxAttributeResolution12.types +++ b/tests/baselines/reference/tsxAttributeResolution12.types @@ -30,7 +30,7 @@ declare class Component { setState(f: (prevState: S, props: P) => S, callback?: () => any): void; >setState : { (f: (prevState: S, props: P) => S, callback?: () => any): void; (state: S, callback?: () => any): void; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >f : (prevState: S, props: P) => S > : ^ ^^ ^^ ^^ ^^^^^ >prevState : S @@ -42,7 +42,7 @@ declare class Component { setState(state: S, callback?: () => any): void; >setState : { (f: (prevState: S, props: P) => S, callback?: () => any): void; (state: S, callback?: () => any): void; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >state : S > : ^ >callback : () => any diff --git a/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types b/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types index eb05328fe8019..c2f4e13069a3a 100644 --- a/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types +++ b/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types @@ -51,11 +51,11 @@ export class ShortDetails extends React.Component<{ id: number }, {}> { >this.props.id : number > : ^^^^^^ >this.props : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >this : this > : ^^^^ >props : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >id : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/tsxDiscriminantPropertyInference.types b/tests/baselines/reference/tsxDiscriminantPropertyInference.types index d1e6b8aa13520..7814bfecce3dc 100644 --- a/tests/baselines/reference/tsxDiscriminantPropertyInference.types +++ b/tests/baselines/reference/tsxDiscriminantPropertyInference.types @@ -61,7 +61,7 @@ void ( parseInt(s)} />); > parseInt(s)} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >disc : true > : ^^^^ >cb : (s: string) => number @@ -73,7 +73,7 @@ void ( parseInt(s)} />); >parseInt(s) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ @@ -86,7 +86,7 @@ void ( n.toFixed()} />); > n.toFixed()} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >disc : false > : ^^^^^ >false : false @@ -100,11 +100,11 @@ void ( n.toFixed()} />); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // simple inference when strict-null-checks are enabled void ( n.toFixed()} />); @@ -115,7 +115,7 @@ void ( n.toFixed()} />); > n.toFixed()} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >disc : undefined > : ^^^^^^^^^ >undefined : undefined @@ -129,11 +129,11 @@ void ( n.toFixed()} />); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // requires checking type information since discriminator is missing from object void ( n.toFixed()} />); @@ -144,7 +144,7 @@ void ( n.toFixed()} />); > n.toFixed()} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >cb : (n: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n => n.toFixed() : (n: number) => string @@ -154,9 +154,9 @@ void ( n.toFixed()} />); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/tsxElementResolution8.types b/tests/baselines/reference/tsxElementResolution8.types index 45f3d0f0b177f..f1b46bce5907a 100644 --- a/tests/baselines/reference/tsxElementResolution8.types +++ b/tests/baselines/reference/tsxElementResolution8.types @@ -28,7 +28,7 @@ function Fact(): any { return null; } > : JSX.Element > : ^^^^^^^^^^^ >Fact : () => any -> : ^^^^^^^^^ +> : ^^^^^^ // Error function Fnum(): number{ return 42; } @@ -41,7 +41,7 @@ function Fnum(): number{ return 42; } > : JSX.Element > : ^^^^^^^^^^^ >Fnum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ interface Obj1 { new(): {}; diff --git a/tests/baselines/reference/tsxGenericAttributesType7.types b/tests/baselines/reference/tsxGenericAttributesType7.types index 81fb87c9eee84..2b3f07619b249 100644 --- a/tests/baselines/reference/tsxGenericAttributesType7.types +++ b/tests/baselines/reference/tsxGenericAttributesType7.types @@ -25,7 +25,7 @@ const decorator = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ } @@ -44,7 +44,7 @@ const decorator1 = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ >x : string diff --git a/tests/baselines/reference/tsxGenericAttributesType8.types b/tests/baselines/reference/tsxGenericAttributesType8.types index 7ebcebc82ea4c..5ac3eefd19be8 100644 --- a/tests/baselines/reference/tsxGenericAttributesType8.types +++ b/tests/baselines/reference/tsxGenericAttributesType8.types @@ -25,7 +25,7 @@ const decorator = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ } @@ -44,7 +44,7 @@ const decorator1 = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ } diff --git a/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types b/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types index 9e5b78804f8bb..a3bf6edc1db26 100644 --- a/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types +++ b/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types @@ -43,7 +43,7 @@ ShouldInferFromData({ data: "1" }); >ShouldInferFromData({ data: "1" }) : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ data: "1" } : { data: string; } > : ^^^^^^^^^^^^^^^^^ >data : string @@ -55,7 +55,7 @@ ShouldInferFromData({ data: "1", convert: n => "" + n }); >ShouldInferFromData({ data: "1", convert: n => "" + n }) : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ data: "1", convert: n => "" + n } : { data: string; convert: (n: string) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >data : string @@ -79,7 +79,7 @@ ShouldInferFromData({ data: 2, convert: n => "" + n }); >ShouldInferFromData({ data: 2, convert: n => "" + n }) : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ data: 2, convert: n => "" + n } : { data: number; convert: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >data : number @@ -106,7 +106,7 @@ const f1 = ; > : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : string > : ^^^^^^ >"1" : "1" @@ -118,7 +118,7 @@ const f2 = "" + n} />; > "" + n} /> : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : string > : ^^^^^^ >"1" : "1" @@ -142,7 +142,7 @@ const f3 = "" + n} />; > "" + n} /> : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : number > : ^^^^^^ >2 : 2 diff --git a/tests/baselines/reference/tsxInvokeComponentType.types b/tests/baselines/reference/tsxInvokeComponentType.types index cd4de32fe7460..17efa7d6c9f68 100644 --- a/tests/baselines/reference/tsxInvokeComponentType.types +++ b/tests/baselines/reference/tsxInvokeComponentType.types @@ -26,7 +26,7 @@ const bad = ; > : JSX.Element > : ^^^^^^^^^^^ >Elem : React.ComponentType<{ someKey: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ const good = ; >good : JSX.Element @@ -34,7 +34,7 @@ const good = ; > : JSX.Element > : ^^^^^^^^^^^ >Elem : React.ComponentType<{ someKey: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >someKey : string > : ^^^^^^ @@ -49,8 +49,8 @@ const alsoOk = text; > : ^^^^^^^^^^^ >text : JSX.Element > : ^^^^^^^^^^^ ->Elem2 : React.ComponentType<{ opt?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Elem2 : React.ComponentType<{ opt?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Elem2 : React.ComponentType<{ opt?: number; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>Elem2 : React.ComponentType<{ opt?: number; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution11.types b/tests/baselines/reference/tsxSpreadAttributesResolution11.types index 489ca399e5481..45f80b3765f92 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution11.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution11.types @@ -108,7 +108,7 @@ let x = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ let x1 = >x1 : JSX.Element @@ -118,9 +118,9 @@ let x1 = >OverWriteAttr : typeof OverWriteAttr > : ^^^^^^^^^^^^^^^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >obj3 : { y: true; overwrite: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^^^ let x2 = >x2 : JSX.Element @@ -136,7 +136,7 @@ let x2 = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >{y: true} : { y: true; } > : ^^^^^^^^^^^^ >y : true @@ -154,7 +154,7 @@ let x3 = overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >x : 3 > : ^ >3 : 3 diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution12.types b/tests/baselines/reference/tsxSpreadAttributesResolution12.types index f2de64a17cfce..f2417f01c7858 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution12.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution12.types @@ -109,7 +109,7 @@ let x = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ let x1 = >x1 : JSX.Element @@ -121,7 +121,7 @@ let x1 = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >x : 3 > : ^ >3 : 3 @@ -157,7 +157,7 @@ let x3 = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >{y: true} : { y: true; } > : ^^^^^^^^^^^^ >y : true diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution17.types b/tests/baselines/reference/tsxSpreadAttributesResolution17.types index d0ba8e3b81632..da052869616f9 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution17.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution17.types @@ -55,5 +55,5 @@ let unionedSpread = ; >Empty : typeof Empty > : ^^^^^^^^^^^^ >obj : { a: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution7.types b/tests/baselines/reference/tsxSpreadAttributesResolution7.types index fa9fd1788b2e8..5e4bd26cbfa62 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution7.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution7.types @@ -70,7 +70,7 @@ let y1 = >TextComponent : typeof TextComponent > : ^^^^^^^^^^^^^^^^^^^^ >textPropsFalse : { editable: false; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ const textPropsTrue: TextProps = { >textPropsTrue : TextProps @@ -100,5 +100,5 @@ let y2 = >TextComponent : typeof TextComponent > : ^^^^^^^^^^^^^^^^^^^^ >textPropsTrue : { editable: true; onEdit: (newText: string) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/tsxSpreadChildren.types b/tests/baselines/reference/tsxSpreadChildren.types index e90483bc29980..f04e33dc960b7 100644 --- a/tests/baselines/reference/tsxSpreadChildren.types +++ b/tests/baselines/reference/tsxSpreadChildren.types @@ -46,19 +46,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any @@ -80,11 +80,11 @@ function TodoList({ todos }: TodoListProps) { >todos.map(todo => ) : JSX.Element[] > : ^^^^^^^^^^^^^ >todos.map : (callbackfn: (value: TodoProp, index: number, array: TodoProp[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >todos : TodoProp[] > : ^^^^^^^^^^ >map : (callbackfn: (value: TodoProp, index: number, array: TodoProp[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >todo => : (todo: TodoProp) => JSX.Element > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >todo : TodoProp diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types index 5c6bbabaee17e..1894e4bfe0c53 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types index 5c6bbabaee17e..1894e4bfe0c53 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types index 1108b94beec1b..1937d46eb930b 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types index 1108b94beec1b..1937d46eb930b 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types b/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types index c5c0d0e6390f4..9f48ebed6e661 100644 --- a/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types +++ b/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types @@ -32,11 +32,11 @@ class MyComponent extends React.Component<{dataSource: number[], onClick?: any}, >div : any > : ^^^ >this.props : Readonly<{ children?: React.ReactNode; }> & Readonly<{ dataSource: number[]; onClick?: any; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >props : Readonly<{ children?: React.ReactNode; }> & Readonly<{ dataSource: number[]; onClick?: any; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >className : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types index 24f9c9f5f169a..5dbf2a767fc03 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types @@ -7,7 +7,7 @@ import React = require('react') declare function OneThing(k: {yxx: string}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >k : { yxx: string; } > : ^^^^^^^ ^^^ >yxx : string @@ -17,7 +17,7 @@ declare function OneThing(k: {yxx: string}): JSX.Element; declare function OneThing(k: {yxx1: string, children: string}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >k : { yxx1: string; children: string; } > : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >yxx1 : string @@ -29,7 +29,7 @@ declare function OneThing(k: {yxx1: string, children: string}): JSX.Element; declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -41,7 +41,7 @@ declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; declare function OneThing(l: {yy: number, yy1: string, yy2: boolean}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; yy2: boolean; } > : ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -55,7 +55,7 @@ declare function OneThing(l: {yy: number, yy1: string, yy2: boolean}): JSX.Eleme declare function OneThing(l1: {data: string, "data-prop": boolean}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >l1 : { data: string; "data-prop": boolean; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >data : string @@ -72,7 +72,7 @@ const c1 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yxx : string > : ^^^^^^ @@ -82,7 +82,7 @@ const c2 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >100 : 100 @@ -96,7 +96,7 @@ const c3 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yxx : string > : ^^^^^^ >ignore-prop : true @@ -108,7 +108,7 @@ const c4 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data : string > : ^^^^^^ >data-prop : true @@ -120,16 +120,16 @@ const c5 = Hello >Hello : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yxx1 : string > : ^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function TestingOneThing({y1: string}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : any > : ^^^ >string : any @@ -139,7 +139,7 @@ declare function TestingOneThing({y1: string}): JSX.Element; declare function TestingOneThing(j: {"extra-data": string, yy?: string}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >j : { "extra-data": string; yy?: string; } > : ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >"extra-data" : string @@ -151,7 +151,7 @@ declare function TestingOneThing(j: {"extra-data": string, yy?: string}): JSX.El declare function TestingOneThing(n: {yy: number, direction?: number}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { yy: number; direction?: number; } > : ^^^^^^ ^^^^^^^^^^^^^^ ^^^ >yy : number @@ -163,7 +163,7 @@ declare function TestingOneThing(n: {yy: number, direction?: number}): JSX.Eleme declare function TestingOneThing(n: {yy: string, name: string}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { yy: string; name: string; } > : ^^^^^^ ^^^^^^^^ ^^^ >yy : string @@ -180,7 +180,7 @@ const d1 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >extra-data : true @@ -192,7 +192,7 @@ const d2 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ @@ -202,7 +202,7 @@ const d3 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ >yy : string @@ -214,7 +214,7 @@ const d4 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ >yy : number @@ -232,7 +232,7 @@ const d5 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ >yy : string @@ -243,7 +243,7 @@ const d5 = ; declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1?: string; y2?: number; } > : ^^^^^^^ ^^^^^^^ ^^^ >y1 : string @@ -255,7 +255,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; declare function TestingOptional(a: {y1: boolean, y2?: number, y3: boolean}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1: boolean; y2?: number; y3: boolean; } > : ^^^^^^ ^^^^^^^ ^^^^^^ ^^^ >y1 : boolean @@ -274,7 +274,7 @@ const e1 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const e3 = >e3 : JSX.Element @@ -282,7 +282,7 @@ const e3 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ @@ -292,7 +292,7 @@ const e4 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -306,7 +306,7 @@ const e5 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : true @@ -318,7 +318,7 @@ const e6 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : true @@ -334,7 +334,7 @@ const e2 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : true diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types index 6ee872b1bbe04..f8022330bd223 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types @@ -7,13 +7,13 @@ import React = require('react') declare function OneThing(): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -84,7 +84,7 @@ const c1 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ const c2 = >c2 : JSX.Element @@ -92,7 +92,7 @@ const c2 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -102,7 +102,7 @@ const c3 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -112,7 +112,7 @@ const c4 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj1 : { yy: boolean; } > : ^^^^^^^^^^^^^^^^ >obj : { yy: number; yy1: string; } @@ -124,7 +124,7 @@ const c5 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj1 : { yy: boolean; } > : ^^^^^^^^^^^^^^^^ >yy : number @@ -144,7 +144,7 @@ const c6 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj1 : { yy: boolean; } > : ^^^^^^^^^^^^^^^^ >{yy: 10000, yy1: "true"} : { yy: number; yy1: string; } @@ -164,7 +164,7 @@ const c7 = ; // No error. should pick s > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >defaultObj : any >yy : true > : ^^^^ @@ -177,7 +177,7 @@ const c8 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >ignore-prop : number > : ^^^^^^ >100 : 100 @@ -189,7 +189,7 @@ const c9 = ; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >{ "ignore-prop":200 } : { "ignore-prop": number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"ignore-prop" : number @@ -203,7 +203,7 @@ const c10 = ; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj2 : { yy: number; "ignore-prop": string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >yy1 : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types index d784987712ef2..2c18fe7f97bef 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types @@ -7,13 +7,13 @@ interface Context { } declare function ZeroThingOrTwoThing(): JSX.Element; >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function ZeroThingOrTwoThing(l: {yy: number, yy1: string}, context: Context): JSX.Element; >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -35,7 +35,7 @@ const two1 = ; > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ const two2 = ; >two2 : JSX.Element @@ -43,7 +43,7 @@ const two2 = ; > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >100 : 100 @@ -57,7 +57,7 @@ const two3 = ; // it is just any so we allow i > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj2 : any const two4 = ; // it is just any so we allow it to pass through @@ -66,7 +66,7 @@ const two4 = ; // it is just any so > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >1000 : 1000 @@ -79,7 +79,7 @@ const two5 = ; // it is just any so > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj2 : any >yy : number > : ^^^^^^ @@ -88,7 +88,7 @@ const two5 = ; // it is just any so declare function ThreeThing(l: {y1: string}): JSX.Element; >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >l : { y1: string; } > : ^^^^^^ ^^^ >y1 : string @@ -98,7 +98,7 @@ declare function ThreeThing(l: {y1: string}): JSX.Element; declare function ThreeThing(l: {y2: string}): JSX.Element; >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >l : { y2: string; } > : ^^^^^^ ^^^ >y2 : string @@ -108,7 +108,7 @@ declare function ThreeThing(l: {y2: string}): JSX.Element; declare function ThreeThing(l: {yy: number, yy1: string}, context: Context, updater: any): JSX.Element; >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -128,7 +128,7 @@ const three1 = ; > : JSX.Element > : ^^^^^^^^^^^ >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >99 : 99 @@ -142,7 +142,7 @@ const three2 = ; > : JSX.Element > : ^^^^^^^^^^^ >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >y2 : string > : ^^^^^^ @@ -152,7 +152,7 @@ const three3 = ; // it is just any so we allow > : JSX.Element > : ^^^^^^^^^^^ >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >obj2 : any >y2 : number > : ^^^^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types index 627f26f9ff971..54c8b20e97769 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types @@ -7,13 +7,13 @@ import React = require('react') declare function OneThing(): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -52,7 +52,7 @@ const c0 = ; // extra property; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >extraProp : true > : ^^^^ @@ -62,7 +62,7 @@ const c1 = ; // missing property; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >10 : 10 @@ -74,7 +74,7 @@ const c2 = ; // type incompatible; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >yy1 : true @@ -86,7 +86,7 @@ const c3 = ; // This is OK bec > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{extra: "extra attr"} : { extra: string; } @@ -102,7 +102,7 @@ const c4 = ; // extra property; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y1 : number @@ -116,7 +116,7 @@ const c5 = ; // type incompatible; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{yy: true} : { yy: boolean; } @@ -132,7 +132,7 @@ const c6 = ; // Should error a > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj2 : any > : ^^^ >{extra: "extra attr"} : { extra: string; } @@ -148,7 +148,7 @@ const c7 = ; // Should error as there is extra attribu > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj2 : any > : ^^^ >yy : true @@ -156,7 +156,7 @@ const c7 = ; // Should error as there is extra attribu declare function TestingOneThing(j: {"extra-data": string}): JSX.Element; >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >j : { "extra-data": string; } > : ^^^^^^^^^^^^^^^^ ^^^ >"extra-data" : string @@ -166,7 +166,7 @@ declare function TestingOneThing(j: {"extra-data": string}): JSX.Element; declare function TestingOneThing(n: {yy: string, direction?: number}): JSX.Element; >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { yy: string; direction?: number; } > : ^^^^^^ ^^^^^^^^^^^^^^ ^^^ >yy : string @@ -183,7 +183,7 @@ const d1 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : true > : ^^^^ @@ -193,7 +193,7 @@ const d2 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yy : string > : ^^^^^^ >direction : string @@ -201,7 +201,7 @@ const d2 = declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1?: string; y2?: number; } > : ^^^^^^^ ^^^^^^^ ^^^ >y1 : string @@ -213,7 +213,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; declare function TestingOptional(a: {y1?: string, y2?: number, children: JSX.Element}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1?: string; y2?: number; children: JSX.Element; } > : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^ >y1 : string @@ -229,7 +229,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number, children: JSX.Ele declare function TestingOptional(a: {y1: boolean, y2?: number, y3: boolean}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1: boolean; y2?: number; y3: boolean; } > : ^^^^^^ ^^^^^^^ ^^^^^^ ^^^ >y1 : boolean @@ -248,7 +248,7 @@ const e1 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : string @@ -260,7 +260,7 @@ const e2 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -276,7 +276,7 @@ const e3 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -292,7 +292,7 @@ const e4 = Hi >Hi : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -300,5 +300,5 @@ const e4 = Hi >1000 : 1000 > : ^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types index 0bf60b4b7db1a..a44c769489372 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types @@ -87,7 +87,7 @@ let obj3: any; export function MainButton(buttonProps: ButtonProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >buttonProps : ButtonProps > : ^^^^^^^^^^^ >JSX : any @@ -95,7 +95,7 @@ export function MainButton(buttonProps: ButtonProps): JSX.Element; export function MainButton(linkProps: LinkProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >linkProps : LinkProps > : ^^^^^^^^^ >JSX : any @@ -103,7 +103,7 @@ export function MainButton(linkProps: LinkProps): JSX.Element; export function MainButton(hyphenProps: HyphenProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hyphenProps : HyphenProps > : ^^^^^^^^^^^ >JSX : any @@ -111,7 +111,7 @@ export function MainButton(hyphenProps: HyphenProps): JSX.Element; export function MainButton(props: ButtonProps | LinkProps | HyphenProps): JSX.Element { >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >props : ButtonProps | LinkProps | HyphenProps > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >JSX : any @@ -166,7 +166,7 @@ const b0 = {}}>GO; // ex >{}}>GO : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >onClick : (e: React.MouseEvent) => void @@ -176,7 +176,7 @@ const b0 = {}}>GO; // ex >e : React.MouseEvent > : ^^^^^^^^^^^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b1 = {}} {...obj0}>Hello world; // extra property; >b1 : JSX.Element @@ -184,7 +184,7 @@ const b1 = {}} {...obj0}>Hello world {}} {...obj0}>Hello world : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (e: any) => void > : ^ ^^ ^^^^^^^^^ >(e: any)=> {} : (e: any) => void @@ -194,7 +194,7 @@ const b1 = {}} {...obj0}>Hello worldobj0 : { to: string; } > : ^^^^^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b2 = ; // extra property >b2 : JSX.Element @@ -202,7 +202,7 @@ const b2 = ; // extra property > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{to: "10000"} : { to: string; } > : ^^^^^^^^^^^^^^^ >to : string @@ -218,7 +218,7 @@ const b3 = {}}} />; // extr > {}}} /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{to: "10000"} : { to: string; } > : ^^^^^^^^^^^^^^^ >to : string @@ -240,7 +240,7 @@ const b4 = ; // Should error because Incorrect type; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj3 : any > : ^^^ >to : true @@ -252,7 +252,7 @@ const b5 = ; // Spread ret > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ onClick(e: any) { } } : { onClick(e: any): void; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^ >onClick : (e: any) => void @@ -268,7 +268,7 @@ const b6 = ; // incorrec > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ onClick(e: any){} } : { onClick(e: any): void; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^ >onClick : (e: any) => void @@ -286,7 +286,7 @@ const b7 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ onClick(e: any){} } : { onClick(e: any): void; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^ >onClick : (e: any) => void @@ -304,7 +304,7 @@ const b8 = ; // incorrect type for specified hyphanat > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data-format : true > : ^^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types index 986809e4c74cb..9bad96ee1daee 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types @@ -71,7 +71,7 @@ let obj2 = { export function MainButton(buttonProps: ButtonProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >buttonProps : ButtonProps > : ^^^^^^^^^^^ >JSX : any @@ -79,7 +79,7 @@ export function MainButton(buttonProps: ButtonProps): JSX.Element; export function MainButton(linkProps: LinkProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >linkProps : LinkProps > : ^^^^^^^^^ >JSX : any @@ -87,7 +87,7 @@ export function MainButton(linkProps: LinkProps): JSX.Element; export function MainButton(hyphenProps: HyphenProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hyphenProps : HyphenProps > : ^^^^^^^^^^^ >JSX : any @@ -95,7 +95,7 @@ export function MainButton(hyphenProps: HyphenProps): JSX.Element; export function MainButton(props: ButtonProps | LinkProps | HyphenProps): JSX.Element { >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >props : ButtonProps | LinkProps | HyphenProps > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >JSX : any @@ -146,11 +146,11 @@ const b0 = GO; >GO : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b1 = {}}>Hello world; >b1 : JSX.Element @@ -158,7 +158,7 @@ const b1 = {}}>Hello world; > {}}>Hello world : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (e: React.MouseEvent) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(e) => {} : (e: React.MouseEvent) => void @@ -166,7 +166,7 @@ const b1 = {}}>Hello world; >e : React.MouseEvent > : ^^^^^^^^^^^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b2 = ; >b2 : JSX.Element @@ -174,7 +174,7 @@ const b2 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { children: string; to: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -184,7 +184,7 @@ const b3 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{to: 10000} : { to: number; } > : ^^^^^^^^^^^^^^^ >to : number @@ -200,7 +200,7 @@ const b4 = ; // any; just pick the first overload > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj1 : any const b5 = ; // should pick the second overload @@ -209,7 +209,7 @@ const b5 = ; // should pick the seco > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj1 : any >to : string > : ^^^^^^ @@ -220,7 +220,7 @@ const b6 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj2 : { onClick: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -230,7 +230,7 @@ const b7 = { console.log("hi") }}} />; > { console.log("hi") }}} /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{onClick: () => { console.log("hi") }} : { onClick: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >onClick : () => void @@ -240,11 +240,11 @@ const b7 = { console.log("hi") }}} />; >console.log("hi") : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ @@ -254,7 +254,7 @@ const b8 = ; // OK; method declaration get re > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{onClick() {}} : { onClick(): void; } > : ^^^^^^^^^^^^^^^^^^^^ >onClick : () => void @@ -266,13 +266,13 @@ const b9 = GO; >GO : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >extra-prop : true > : ^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b10 = ; >b10 : JSX.Element @@ -280,13 +280,13 @@ const b10 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >children : string > : ^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b11 = {}} className="hello" data-format>Hello world; >b11 : JSX.Element @@ -294,7 +294,7 @@ const b11 = {}} className="hello" data-format>Hello > {}} className="hello" data-format>Hello world : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (e: React.MouseEvent) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(e) => {} : (e: React.MouseEvent) => void @@ -306,7 +306,7 @@ const b11 = {}} className="hello" data-format>Hello >data-format : true > : ^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b12 = >b12 : JSX.Element @@ -314,7 +314,7 @@ const b12 = > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data-format : string > : ^^^^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents1.types b/tests/baselines/reference/tsxStatelessFunctionComponents1.types index 52fda65af8cee..971bc1646b497 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponents1.types @@ -28,7 +28,7 @@ function Greet(x: {name: string}) { >div : any > : ^^^ >x : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >div : any > : ^^^ } diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents2.types b/tests/baselines/reference/tsxStatelessFunctionComponents2.types index 74525a3ade761..b2a4e39632b5d 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponents2.types @@ -19,7 +19,7 @@ function Greet(x: {name?: string}) { >div : any > : ^^^ >x : { name?: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >div : any > : ^^^ } @@ -102,7 +102,7 @@ let d = x.greeting.substr(10)} />; >x.greeting.substr(10) : string > : ^^^^^^ >x.greeting.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x.greeting : string > : ^^^^^^ >x : BigGreeter @@ -110,7 +110,7 @@ let d = x.greeting.substr(10)} />; >greeting : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >10 : 10 > : ^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types index dc601ec1a8c97..3afdade77b833 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types @@ -32,7 +32,7 @@ function Baz(key1: T, value: U) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentWithTwoAttributes : (l: { key1: K; value: V; }) => JSX.Element -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >key1 : T > : ^ >key1 : T @@ -48,7 +48,7 @@ function Baz(key1: T, value: U) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentWithTwoAttributes : (l: { key1: K; value: V; }) => JSX.Element -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{key1, value: value} : { key1: T; value: U; } > : ^^^^^^^^^^^^^^^^^^^^^^ >key1 : T @@ -88,11 +88,11 @@ function createLink(func: (a: number)=>void) { > : JSX.Element > : ^^^^^^^^^^^ >Link : (l: { func: (arg: U) => void; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } function createLink1(func: (a: number)=>boolean) { @@ -109,11 +109,11 @@ function createLink1(func: (a: number)=>boolean) { > : JSX.Element > : ^^^^^^^^^^^ >Link : (l: { func: (arg: U) => void; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (a: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >func : (a: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } interface InferParamProp { @@ -143,7 +143,7 @@ let i = { }} > { }} /> : JSX.Element > : ^^^^^^^^^^^ >InferParamComponent : (attr: InferParamProp) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >values : number[] > : ^^^^^^^^ >[1, 2, 3, 4] : number[] diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types index 3eb0c0f94a235..feda5b1af3d83 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types @@ -42,7 +42,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific1 : (l: { prop: U; "ignore-prop": string; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >ignore-prop : number @@ -64,7 +64,7 @@ function Baz(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific1 : (l: { prop: U; "ignore-prop": string; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ } @@ -98,11 +98,11 @@ function createLink(func: (a: number, b: string)=>void) { > : JSX.Element > : ^^^^^^^^^^^ >Link : (l: { func: (arg: U) => void; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (a: number, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >func : (a: number, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } interface InferParamProp { @@ -132,7 +132,7 @@ let i = { }} /> : JSX.Element > : ^^^^^^^^^^^ >InferParamComponent : (attr: InferParamProp) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >values : number[] > : ^^^^^^^^ >[1, 2, 3, 4] : number[] diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types index ae3d603118fc4..0d6d20462651a 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types @@ -7,13 +7,13 @@ import React = require('react') declare function OverloadComponent(): JSX.Element; >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } -> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": boolean}): JSX.Element; >OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a?: string; "ignore-prop": boolean; } > : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >b : U @@ -27,7 +27,7 @@ declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": bo declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a: T; } > : ^^^^^ ^^^^^ ^^^ >b : U @@ -58,7 +58,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg1 : T > : ^ >a : string @@ -72,7 +72,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ >ignore-pro : string @@ -84,7 +84,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ @@ -94,7 +94,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg1 : T > : ^ >ignore-prop : true @@ -106,7 +106,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let a5 = ; >a5 : JSX.Element @@ -114,7 +114,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ >ignore-prop : string @@ -128,7 +128,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ >ignore-prop : true @@ -139,7 +139,7 @@ function Baz(arg1: T, a declare function Link(l: {func: (arg: U)=>void}): JSX.Element; >Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >l : { func: (arg: U) => void; } > : ^^^^^^^^ ^^^ >func : (arg: U) => void @@ -151,7 +151,7 @@ declare function Link(l: {func: (arg: U)=>void}): JSX.Element; declare function Link(l: {func: (arg1:U, arg2: string)=>void}): JSX.Element; >Link : { (l: { func: (arg: U_1) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >l : { func: (arg1: U, arg2: string) => void; } > : ^^^^^^^^ ^^^ >func : (arg1: U, arg2: string) => void @@ -177,11 +177,11 @@ function createLink(func: (a: number)=>void) { > : JSX.Element > : ^^^^^^^^^^^ >Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ let o1 = {}} />; >o1 : JSX.Element @@ -189,7 +189,7 @@ function createLink(func: (a: number)=>void) { >{}} /> : JSX.Element > : ^^^^^^^^^^^ >Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >func : (a: number, b: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >(a:number, b:string)=>{} : (a: number, b: string) => void diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types index a0949bafe7c1b..8334d2a17692b 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types @@ -7,13 +7,13 @@ import React = require('react') declare function OverloadComponent(): JSX.Element; >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } -> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boolean}): JSX.Element; >OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a: string; "ignore-prop": boolean; } > : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >b : U @@ -27,7 +27,7 @@ declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boo declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a: T; } > : ^^^^^ ^^^^^ ^^^ >b : U @@ -58,7 +58,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ >arg1.b : number @@ -74,7 +74,7 @@ function Baz(arg1: T, a > : JSX.Element > : ^^^^^^^^^^^ >OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg1 : T > : ^ >ignore-prop : true diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types index 8dca93e6378f2..4ff0ac71dd001 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types @@ -27,7 +27,7 @@ function createComponent(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (l: U) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ @@ -37,7 +37,7 @@ function createComponent(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (l: U) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >prop1 : true @@ -80,7 +80,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific : (l: { prop: U; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >ignore-prop : string @@ -92,7 +92,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific1 : (l: { prop: U; "ignore-prop": number; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >ignore-prop : number @@ -106,7 +106,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific : (l: { prop: U; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >prop : string @@ -118,7 +118,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific : (l: { prop: U; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >prop1 : string diff --git a/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types b/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types index 9cacb7281cf10..2bd0f0990b58c 100644 --- a/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types +++ b/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types @@ -43,8 +43,8 @@ const RootNotHappy = () => (); > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->NotHappy : (props: ({ fixed?: boolean; } | { value?: number; })) => React.ReactElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>NotHappy : (props: ({ fixed?: boolean; } | { value?: number; })) => ReactElement +> : ^ ^^ ^^^^^ >data-testid : string > : ^^^^^^ @@ -57,8 +57,8 @@ const RootHappy = () => (); > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->Happy : (props: { fixed?: boolean; value?: number; }) => React.ReactElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Happy : (props: { fixed?: boolean; value?: number; }) => ReactElement +> : ^ ^^ ^^^^^ >data-testid : string > : ^^^^^^ diff --git a/tests/baselines/reference/tsxUnionSpread.types b/tests/baselines/reference/tsxUnionSpread.types index 80fe8fd24e0fc..1b43b947f59c2 100644 --- a/tests/baselines/reference/tsxUnionSpread.types +++ b/tests/baselines/reference/tsxUnionSpread.types @@ -61,13 +61,13 @@ var props:AnimalInfo = getProps(); >getProps() : AnimalInfo > : ^^^^^^^^^^ >getProps : () => AnimalInfo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ var component = >component : error > : error >AnimalComponent : (info: AnimalInfo) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >props : AnimalInfo > : ^^^^^^^^^^ @@ -89,7 +89,7 @@ var component2 = >component2 : error > : error >AnimalComponent : (info: AnimalInfo) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >props2 : CatInfo > : ^^^^^^^ diff --git a/tests/baselines/reference/tupleTypeInference.types b/tests/baselines/reference/tupleTypeInference.types index 7fcb9b2c870de..a779a148f4686 100644 --- a/tests/baselines/reference/tupleTypeInference.types +++ b/tests/baselines/reference/tupleTypeInference.types @@ -8,19 +8,19 @@ declare var $q: IQService; interface IQService { all(x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; >all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : [IPromise, IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ all(x: [IPromise, IPromise]): IPromise<[T1, T2]>; >all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2_1, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1_1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ all(x: [IPromise]): IPromise<[T1]>; >all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : [IPromise] > : ^^^^^^^^^^^^^^ @@ -48,29 +48,29 @@ var a = $q.all([$q.when(), $q.when()]); >$q.all([$q.when(), $q.when()]) : IPromise<[string, number]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >$q : IQService > : ^^^^^^^^^ >all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[$q.when(), $q.when()] : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ // Explicit different types var b = $q.all([$q.when(), $q.when()]); @@ -79,29 +79,29 @@ var b = $q.all([$q.when(), $q.when()]); >$q.all([$q.when(), $q.when()]) : IPromise<[string, number]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >$q : IQService > : ^^^^^^^^^ >all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[$q.when(), $q.when()] : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ // Implicit identical types var c = $q.all([$q.when(), $q.when()]); @@ -110,27 +110,27 @@ var c = $q.all([$q.when(), $q.when()]); >$q.all([$q.when(), $q.when()]) : IPromise<[string, string]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >$q : IQService > : ^^^^^^^^^ >all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[$q.when(), $q.when()] : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/tupleTypeInference2.types b/tests/baselines/reference/tupleTypeInference2.types index 2ab54cf121cb1..c473953ef0329 100644 --- a/tests/baselines/reference/tupleTypeInference2.types +++ b/tests/baselines/reference/tupleTypeInference2.types @@ -17,7 +17,7 @@ f([undefined, ''] as [never, string]); // T: never >f([undefined, ''] as [never, string]) : never > : ^^^^^ >f : (x: A) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[undefined, ''] as [never, string] : [never, string] > : ^^^^^^^^^^^^^^^ >[undefined, ''] : [undefined, string] @@ -31,7 +31,7 @@ f([undefined, ''] as [void, string]); // T: void >f([undefined, ''] as [void, string]) : void > : ^^^^ >f : (x: A) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[undefined, ''] as [void, string] : [void, string] > : ^^^^^^^^^^^^^^ >[undefined, ''] : [undefined, string] @@ -57,7 +57,7 @@ g([[]] as [void[]]); // U: {} >g([[]] as [void[]]) : unknown > : ^^^^^^^ >g : (f: B) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[[]] as [void[]] : [void[]] > : ^^^^^^^^ >[[]] : [never[]] @@ -79,7 +79,7 @@ h([[]] as [void[]]); // U: {} >h([[]] as [void[]]) : unknown > : ^^^^^^^ >h : (f: C) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[[]] as [void[]] : [void[]] > : ^^^^^^^^ >[[]] : [never[]] @@ -103,7 +103,7 @@ h2([[]] as [never[]]); // T: never >h2([[]] as [never[]]) : never > : ^^^^^ >h2 : (f: C2) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[[]] as [never[]] : [never[]] > : ^^^^^^^^^ >[[]] : [never[]] @@ -115,7 +115,7 @@ h2([[]] as [void[]]); // T: void >h2([[]] as [void[]]) : void > : ^^^^ >h2 : (f: C2) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[[]] as [void[]] : [void[]] > : ^^^^^^^^ >[[]] : [never[]] diff --git a/tests/baselines/reference/tupleTypes.types b/tests/baselines/reference/tupleTypes.types index 130a2d6292897..51f39e12cc9d1 100644 --- a/tests/baselines/reference/tupleTypes.types +++ b/tests/baselines/reference/tupleTypes.types @@ -155,7 +155,7 @@ var ff1 = ff("hello", ["foo", x => x.length]); >ff("hello", ["foo", x => x.length]) : number > : ^^^^^^ >ff : (a: T, b: [T, (x: T) => U]) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >["foo", x => x.length] : [string, (x: string) => number] @@ -200,7 +200,7 @@ var tt = tuple2(1, "string"); >tuple2(1, "string") : [number, string] > : ^^^^^^^^^^^^^^^^ >tuple2 : (item0: T0, item1: T1) => [T0, T1] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"string" : "string" @@ -256,7 +256,7 @@ tt = tuple2(1, undefined); >tuple2(1, undefined) : [number, any] > : ^^^^^^^^^^^^^ >tuple2 : (item0: T0, item1: T1) => [T0, T1] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >undefined : undefined diff --git a/tests/baselines/reference/twiceNestedKeyofIndexInference.types b/tests/baselines/reference/twiceNestedKeyofIndexInference.types index 35c008d4dc69e..b4b1a954a9b69 100644 --- a/tests/baselines/reference/twiceNestedKeyofIndexInference.types +++ b/tests/baselines/reference/twiceNestedKeyofIndexInference.types @@ -19,7 +19,7 @@ type Set2 = T extends any[] ? T : declare function set(source: T, path: [K1], value: T[K1]): Set1; >set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T_1, path: [K1_1, K2], value: T_1[K1_1][K2]): Set2; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >source : T > : ^ >path : [K1] @@ -29,7 +29,7 @@ declare function set(source: T, path: [K1], value: T[K1]) declare function set(source: T, path: [K1, K2], value: T[K1][K2]): Set2; >set : { (source: T_1, path: [K1_1], value: T_1[K1_1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >source : T > : ^ >path : [K1, K2] @@ -94,9 +94,9 @@ const newState: State = set(state, ["a", 'b'], 'why'); // shouldn't be an error >newState : State > : ^^^^^ >set(state, ["a", 'b'], 'why') : Pick & Required<{ a: Pick<{ b: string; c: number; }, "c"> & Required>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ >set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >state : State > : ^^^^^ >["a", 'b'] : ["a", "b"] diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types index 4044f50223e3f..ff659d83f99f4 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types @@ -6,13 +6,13 @@ interface A { foo(x: number): number; >foo : { (x: number): number; (x: string): string; (x: Date): Date; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; (x: Date): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -20,7 +20,7 @@ interface A { interface A { foo(x: Date): Date; >foo : { (x: number): number; (x: string): string; (x: Date): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ } @@ -28,13 +28,13 @@ interface A { interface B { foo(x: T): number; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ foo(x: string): string; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -42,13 +42,13 @@ interface B { interface B { foo(x: T): Date; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ foo(x: Date): string; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ } @@ -63,11 +63,11 @@ var r = b.foo(true); // returns Date >b.foo(true) : Date > : ^^^^ >b.foo : { (x: boolean): number; (x: string): string; (x: boolean): Date; (x: Date): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ >b : B > : ^^^^^^^^^^ >foo : { (x: boolean): number; (x: string): string; (x: boolean): Date; (x: Date): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ @@ -75,7 +75,7 @@ var r = b.foo(true); // returns Date interface C { foo(x: T, y: U): string; >foo : { (x: T, y: U): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : U @@ -83,7 +83,7 @@ interface C { foo(x: string, y: string): number; >foo : { (x: T, y: U): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : string @@ -93,7 +93,7 @@ interface C { interface C { foo(x: W, y: W): W; >foo : { (x: T, y: U): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : W > : ^ >y : W @@ -110,11 +110,11 @@ var r2 = c.foo(1, 2); // number >c.foo(1, 2) : 1 | 2 > : ^^^^^ >c.foo : { (x: boolean, y: Date): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo : { (x: boolean, y: Date): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -132,7 +132,7 @@ interface D { foo(x: A, y: A): U; >foo : { (x: A, y: A): U; (x: W, y: W): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >y : A @@ -142,7 +142,7 @@ interface D { interface D { foo(x: W, y: W): T; >foo : { (x: A, y: A): U; (x: W, y: W): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : W > : ^ >y : W diff --git a/tests/baselines/reference/typeAliasDeclarationEmit3.types b/tests/baselines/reference/typeAliasDeclarationEmit3.types index 1deabc5cbd05f..715155ddcfe0b 100644 --- a/tests/baselines/reference/typeAliasDeclarationEmit3.types +++ b/tests/baselines/reference/typeAliasDeclarationEmit3.types @@ -29,11 +29,11 @@ function f1(): void { >console.log('f1') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'f1' : "f1" > : ^^^^ } @@ -54,11 +54,11 @@ function f2(): void { >console.log('f2') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'f2' : "f2" > : ^^^^ } @@ -79,11 +79,11 @@ function f3(): void { >console.log('f3') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'f3' : "f3" > : ^^^^ } diff --git a/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types b/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types index 4bbb3fa93ce2b..89103f7914ce2 100644 --- a/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types +++ b/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types @@ -22,7 +22,7 @@ function Mixin(Base: TBase) { type Mixin = ReturnTypeOf >Mixin : { new (...args: any[]): Mixin {}>.(Anonymous class); prototype: Mixin.(Anonymous class); } & (new (...args: any[]) => {}) -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >Mixin : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeAliases.types b/tests/baselines/reference/typeAliases.types index 5a2058c0356d7..f0a58be274f60 100644 --- a/tests/baselines/reference/typeAliases.types +++ b/tests/baselines/reference/typeAliases.types @@ -116,7 +116,7 @@ var x9: () => string; var x9: T9; >x9 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type T10 = { x: number }; >T10 : T10 @@ -132,7 +132,7 @@ var x10: { x: number }; var x10: T10; >x10 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ type T11 = { new(): boolean }; >T11 : T11 @@ -144,7 +144,7 @@ var x11: { new(): boolean }; var x11: T11; >x11 : new () => boolean -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ interface I13 { x: string }; >x : string @@ -174,7 +174,7 @@ foo13(x13_1, x13_2); >foo13(x13_1, x13_2) : void > : ^^^^ >foo13 : (t1: T1, t2: T13) => void -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x13_1 : I13 > : ^^^ >x13_2 : I13 @@ -184,7 +184,7 @@ foo13(x13_2, x13_1); >foo13(x13_2, x13_1) : void > : ^^^^ >foo13 : (t1: T1, t2: T13) => void -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x13_2 : I13 > : ^^^ >x13_1 : I13 @@ -206,13 +206,13 @@ declare function foo14_1(x: T14): void; declare function foo14_2(x: "click"): void; >foo14_2 : { (x: "click"): void; (x: T14): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "click" > : ^^^^^^^ declare function foo14_2(x: T14): void; >foo14_2 : { (x: "click"): void; (x: T14): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -230,13 +230,13 @@ enum E { x = 10 } declare function f15(a: string): boolean; >f15 : { (a: string): boolean; (a: Meters): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ declare function f15(a: Meters): string; >f15 : { (a: string): boolean; (a: Meters): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ @@ -244,11 +244,11 @@ f15(E.x).toLowerCase(); >f15(E.x).toLowerCase() : string > : ^^^^^^ >f15(E.x).toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f15(E.x) : string > : ^^^^^^ >f15 : { (a: string): boolean; (a: Meters): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.x : E > : ^ >E : typeof E @@ -256,7 +256,7 @@ f15(E.x).toLowerCase(); >x : E > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type StringAndBoolean = [string, boolean] >StringAndBoolean : StringAndBoolean @@ -276,7 +276,7 @@ f16(x); >f16(x) : string > : ^^^^^^ >f16 : (s: StringAndBoolean) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : [string, boolean] > : ^^^^^^^^^^^^^^^^^ @@ -294,7 +294,7 @@ y[0].toLowerCase(); >y[0].toLowerCase() : string > : ^^^^^^ >y[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >y[0] : string > : ^^^^^^ >y : StringAndBoolean @@ -302,5 +302,5 @@ y[0].toLowerCase(); >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeArgInference.types b/tests/baselines/reference/typeArgInference.types index f144a3b2666e4..26091435e7fcc 100644 --- a/tests/baselines/reference/typeArgInference.types +++ b/tests/baselines/reference/typeArgInference.types @@ -60,11 +60,11 @@ var t1 = x.f([o], [o]); >x.f([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : I > : ^ >f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } @@ -88,11 +88,11 @@ var t2 = x.f([o], [o]); >x.f([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : I > : ^ >f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } @@ -116,11 +116,11 @@ var t3 = x.g([o], [o]); >x.g([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : I > : ^ >g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } @@ -144,11 +144,11 @@ var t4 = x.g([o], [o]); >x.g([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : I > : ^ >g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } diff --git a/tests/baselines/reference/typeArgInference2.types b/tests/baselines/reference/typeArgInference2.types index b90bc0f809f34..97b3a43f1787f 100644 --- a/tests/baselines/reference/typeArgInference2.types +++ b/tests/baselines/reference/typeArgInference2.types @@ -19,7 +19,7 @@ var z1 = foo(null); // any >z1 : any >foo(null) : any >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ var z2 = foo(); // Item >z2 : Item @@ -27,7 +27,7 @@ var z2 = foo(); // Item >foo() : Item > : ^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ var z3 = foo({ name: null }); // { name: any } >z3 : { name: any; } @@ -35,7 +35,7 @@ var z3 = foo({ name: null }); // { name: any } >foo({ name: null }) : { name: any; } > : ^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: null } : { name: null; } > : ^^^^^^^^^^^^^^^ >name : null @@ -47,7 +47,7 @@ var z4 = foo({ name: "abc" }); // { name: string } >foo({ name: "abc" }) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: "abc" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -61,7 +61,7 @@ var z5 = foo({ name: "abc", a: 5 }); // { name: string; a: number } >foo({ name: "abc", a: 5 }) : { name: string; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: "abc", a: 5 } : { name: string; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -79,7 +79,7 @@ var z6 = foo({ name: "abc", a: 5 }, { name: "def", b: 5 }); // error >foo({ name: "abc", a: 5 }, { name: "def", b: 5 }) : { name: string; a: number; b?: undefined; } | { name: string; b: number; a?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: "abc", a: 5 } : { name: string; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string diff --git a/tests/baselines/reference/typeArgInference2WithError.types b/tests/baselines/reference/typeArgInference2WithError.types index 1ef6ca25fd9f6..91575f898fe8c 100644 --- a/tests/baselines/reference/typeArgInference2WithError.types +++ b/tests/baselines/reference/typeArgInference2WithError.types @@ -21,7 +21,7 @@ var z7 = foo("abc", 5); // Error >foo("abc", 5) : Item > : ^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"abc" : "abc" > : ^^^^^ >5 : 5 diff --git a/tests/baselines/reference/typeArgumentConstraintResolution1.types b/tests/baselines/reference/typeArgumentConstraintResolution1.types index d37a21915d1d3..43cc72abd2bff 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.types +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.types @@ -31,19 +31,19 @@ foo1(""); // should error function foo2(test: T): T; >foo2 : { (test: T): T; (test: string): T_1; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >test : T > : ^ function foo2(test: string): T; >foo2 : { (test: T_1): T_1; (test: string): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >test : string > : ^^^^^^ function foo2(test: any): any { return null; } >foo2 : { (test: T_1): T_1; (test: string): T_1; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >test : any > : ^^^ @@ -51,7 +51,7 @@ foo2(""); // Type Date does not satisfy the constraint 'Number' for type p >foo2("") : Date > : ^^^^ >foo2 : { (test: T): T; (test: string): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/typeArgumentInference.types b/tests/baselines/reference/typeArgumentInference.types index 50e4d9a19f00c..1dc8cf7610588 100644 --- a/tests/baselines/reference/typeArgumentInference.types +++ b/tests/baselines/reference/typeArgumentInference.types @@ -129,11 +129,11 @@ someGenerics2a((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -189,11 +189,11 @@ someGenerics2b((n, t) => n.substr(t * t)); >n.substr(t * t) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >t * t : number > : ^^^^^^ >t : number @@ -509,7 +509,7 @@ var x = someGenerics8(someGenerics7); >someGenerics8(someGenerics7) : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >someGenerics8 : (n: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ @@ -538,7 +538,7 @@ var a9a = someGenerics9('', 0, []); >someGenerics9('', 0, []) : "" > : ^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >0 : 0 @@ -556,7 +556,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null) : { a?: number; b?: string; } > : ^^^^^^ ^^^^^^ ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : string @@ -576,7 +576,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -607,7 +607,7 @@ var a9e = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); >someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }) : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: new Date() } : { x: number; z: Date; } @@ -643,7 +643,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' } >someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }) : A92 > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: new Date() } : { x: number; z: Date; } @@ -680,7 +680,7 @@ var a9d = someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); >someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }) : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 3 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -717,7 +717,7 @@ var a = someGenerics9(7, anyVar, 4); >someGenerics9(7, anyVar, 4) : any > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >7 : 7 > : ^ >anyVar : any @@ -736,7 +736,7 @@ var arr = someGenerics9([], null, undefined); >someGenerics9([], null, undefined) : any[] > : ^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType1.types b/tests/baselines/reference/typeArgumentInferenceApparentType1.types index 6cd0ddccc5a74..da555da82eef0 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType1.types +++ b/tests/baselines/reference/typeArgumentInferenceApparentType1.types @@ -16,7 +16,7 @@ var res: string = method("test"); >method("test") : string > : ^^^^^^ >method : (iterable: Iterable) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType2.types b/tests/baselines/reference/typeArgumentInferenceApparentType2.types index ba48e610c6eec..75f56536348f4 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType2.types +++ b/tests/baselines/reference/typeArgumentInferenceApparentType2.types @@ -21,7 +21,7 @@ function method(iterable: Iterable): T { >method(u) : T > : ^ >method : (iterable: Iterable) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >u : U > : ^ } diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types index 9f5ce3a877038..6bc5dd052dfbf 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types @@ -151,11 +151,11 @@ new someGenerics2a((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -214,11 +214,11 @@ new someGenerics2b((n, t) => n.substr(t * t)); >n.substr(t * t) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >t * t : number > : ^^^^^^ >t : number @@ -670,7 +670,7 @@ var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, nu var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/typeArgumentInferenceOrdering.types b/tests/baselines/reference/typeArgumentInferenceOrdering.types index 07e35f43ef218..7b001164619b2 100644 --- a/tests/baselines/reference/typeArgumentInferenceOrdering.types +++ b/tests/baselines/reference/typeArgumentInferenceOrdering.types @@ -32,17 +32,17 @@ function foo(f: { y: T }): T { return null } var x = foo(new C()).x; // was Error that property x does not exist on type {} >x : () => Goo -> : ^^^^^^^^^ +> : ^^^^^^ >foo(new C()).x : () => Goo -> : ^^^^^^^^^ +> : ^^^^^^ >foo(new C()) : I > : ^ >foo : (f: { y: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >new C() : C > : ^ >C : typeof C > : ^^^^^^^^ >x : () => Goo -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types index 12406f02d05f2..3c859be933951 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types @@ -22,7 +22,7 @@ foo(class { static prop = "hello" }).length; >foo(class { static prop = "hello" }) : string > : ^^^^^^ >foo : (x?: typeof (Anonymous class)) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class { static prop = "hello" } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types index 522eb0f5959ed..4489383dd8744 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types @@ -23,7 +23,7 @@ foo(class { static prop = "hello" }).length; >foo(class { static prop = "hello" }) : unknown > : ^^^^^^^ >foo : (x?: typeof (Anonymous class)) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class { static prop = "hello" } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types index 0b1be4194fe96..c56c54e1e263a 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types @@ -22,7 +22,7 @@ foo(class { prop = "hello" }).length; >foo(class { prop = "hello" }) : string > : ^^^^^^ >foo : (x?: typeof (Anonymous class)) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class { prop = "hello" } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types index 6b9cbf37b2ae6..c43ed052bb0f4 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types @@ -35,7 +35,7 @@ f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is >f(g, e) : Giraffe > : ^^^^^^^ >f : (x: T, y: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : Giraffe > : ^^^^^^^ >e : Elephant diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.types b/tests/baselines/reference/typeArgumentInferenceWithConstraints.types index 931dae97424b7..e33bc871d91be 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.types @@ -149,11 +149,11 @@ someGenerics2a((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -209,11 +209,11 @@ someGenerics2b((n, t) => n.substr(t * t)); >n.substr(t * t) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >t * t : number > : ^^^^^^ >t : number @@ -581,7 +581,7 @@ var x = someGenerics8(someGenerics7); // Error >someGenerics8(someGenerics7) : string > : ^^^^^^ >someGenerics8 : (n: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ @@ -610,7 +610,7 @@ var a9a = someGenerics9('', 0, []); >someGenerics9('', 0, []) : "" > : ^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >0 : 0 @@ -628,7 +628,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null) : { a?: number; b?: string; } > : ^^^^^^ ^^^^^^ ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : string @@ -648,7 +648,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -679,7 +679,7 @@ var a9e = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : { x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: window } : { x: number; z: Window & typeof globalThis; } @@ -713,7 +713,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : A92 > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: window } : { x: number; z: Window & typeof globalThis; } @@ -748,7 +748,7 @@ var a9d = someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); >someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }) : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 3 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -785,7 +785,7 @@ var a = someGenerics9(7, anyVar, 4); >someGenerics9(7, anyVar, 4) : any > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >7 : 7 > : ^ >anyVar : any @@ -804,7 +804,7 @@ var arr = someGenerics9([], null, undefined); >someGenerics9([], null, undefined) : any[] > : ^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types index 2d1522e01558f..aba0e382f6ae0 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types +++ b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types @@ -125,7 +125,7 @@ var v1 = f1({ w: x => x, r: () => 0 }, 0); >f1({ w: x => x, r: () => 0 }, 0) : number > : ^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => 0 } : { w: (x: number) => number; r: () => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: number) => number @@ -151,7 +151,7 @@ var v1 = f1({ w: x => x, r: () => 0 }, E1.X); >f1({ w: x => x, r: () => 0 }, E1.X) : number > : ^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => 0 } : { w: (x: number) => number; r: () => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: number) => number @@ -181,7 +181,7 @@ var v1 = f1({ w: x => x, r: () => E1.X }, 0); >f1({ w: x => x, r: () => E1.X }, 0) : number > : ^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => E1.X } : { w: (x: 0) => number; r: () => E1; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: 0) => number @@ -215,7 +215,7 @@ var v2 = f1({ w: x => x, r: () => E1.X }, E1.X); >f1({ w: x => x, r: () => E1.X }, E1.X) : E1 > : ^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => E1.X } : { w: (x: E1.X) => E1; r: () => E1; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: E1.X) => E1 @@ -249,7 +249,7 @@ var v3 = f1({ w: x => x, r: () => E1.X }, E2.X); // Error >f1({ w: x => x, r: () => E1.X }, E2.X) : unknown > : ^^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => E1.X } : { w: (x: E1) => E1; r: () => E1; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: E1) => E1 diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types index 4c98436b9d85b..050527bdb80f5 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types @@ -22,11 +22,11 @@ nodes.map(n => n.name); >nodes.map(n => n.name) : string[] > : ^^^^^^^^ >nodes.map : (callbackfn: (value: TreeNode, index: number, array: TreeNode[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >nodes : TreeNode[] > : ^^^^^^^^^^ >map : (callbackfn: (value: TreeNode, index: number, array: TreeNode[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n.name : (n: TreeNode) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^ >n : TreeNode diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types index a40d6510f06d0..d945568affc48 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types @@ -35,11 +35,11 @@ nodes.map(n => n.name); >nodes.map(n => n.name) : string[] > : ^^^^^^^^ >nodes.map : (callbackfn: (value: TreeNodeMiddleman, index: number, array: TreeNodeMiddleman[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >nodes : TreeNodeMiddleman[] > : ^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: TreeNodeMiddleman, index: number, array: TreeNodeMiddleman[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n.name : (n: TreeNodeMiddleman) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : TreeNodeMiddleman diff --git a/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types b/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types index f8cc58ae3c289..714817e648fc3 100644 --- a/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types +++ b/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types @@ -15,7 +15,7 @@ function foo(f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -25,7 +25,7 @@ function foo(f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -35,7 +35,7 @@ function foo(f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r4 = f(null); >r4 : U @@ -43,6 +43,6 @@ function foo(f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types b/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types index 8069d2654bfbe..cd64f6c52d76c 100644 --- a/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types +++ b/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types @@ -3,19 +3,19 @@ === typeArgumentsShouldDisallowNonGenericOverloads.ts === function foo(a: string): string; >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function foo(a: T): number; >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : T > : ^ function foo(a: any): any { >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : any > : ^^^ @@ -30,7 +30,7 @@ var x: number = foo("hi"); // return type should be 'number' >foo("hi") : number > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ @@ -40,7 +40,7 @@ var y: string = foo("hi"); // return type should be 'string' >foo("hi") : string > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ @@ -50,7 +50,7 @@ var w: string = foo("hi"); // should error >foo("hi") : number > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ @@ -60,7 +60,7 @@ var z: number = foo("hi"); // should error >foo("hi") : string > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types index c92d1e74cd813..b60afb3ff4375 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types @@ -37,7 +37,7 @@ function fun1(x: T, y: T) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >y : T @@ -58,7 +58,7 @@ function fun2(x: T, y: U) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >y : U @@ -81,7 +81,7 @@ function fun3(...args: T[]): T { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } namespace n1 { @@ -145,7 +145,7 @@ namespace n1 { >fun3("Hello", "Hello", "World", "Foo") : "Hello" | "World" | "Foo" > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fun3 : (...args: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ >"Hello" : "Hello" @@ -164,7 +164,7 @@ namespace n1 { >takeReturnString(a) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ @@ -176,7 +176,7 @@ namespace n1 { >takeReturnString(b) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : string > : ^^^^^^ @@ -188,7 +188,7 @@ namespace n1 { >takeReturnString(c) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : string > : ^^^^^^ @@ -200,7 +200,7 @@ namespace n1 { >takeReturnString(d) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : string > : ^^^^^^ @@ -212,7 +212,7 @@ namespace n1 { >takeReturnString(e) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : string > : ^^^^^^ @@ -225,7 +225,7 @@ namespace n1 { >takeReturnHello(a) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ @@ -237,7 +237,7 @@ namespace n1 { >takeReturnHello(b) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : string > : ^^^^^^ @@ -249,7 +249,7 @@ namespace n1 { >takeReturnHello(c) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : string > : ^^^^^^ @@ -261,7 +261,7 @@ namespace n1 { >takeReturnHello(d) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : string > : ^^^^^^ @@ -273,7 +273,7 @@ namespace n1 { >takeReturnHello(e) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : string > : ^^^^^^ @@ -286,7 +286,7 @@ namespace n1 { >takeReturnHelloWorld(a) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ @@ -298,7 +298,7 @@ namespace n1 { >takeReturnHelloWorld(b) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : string > : ^^^^^^ @@ -310,7 +310,7 @@ namespace n1 { >takeReturnHelloWorld(c) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : string > : ^^^^^^ @@ -322,7 +322,7 @@ namespace n1 { >takeReturnHelloWorld(d) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : string > : ^^^^^^ @@ -334,7 +334,7 @@ namespace n1 { >takeReturnHelloWorld(e) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : string > : ^^^^^^ } @@ -399,7 +399,7 @@ namespace n2 { >fun3<"Hello">("Hello", "World") : "Hello" > : ^^^^^^^ >fun3 : (...args: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ >"World" : "World" @@ -414,7 +414,7 @@ namespace n2 { >takeReturnString(a) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -426,7 +426,7 @@ namespace n2 { >takeReturnString(b) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -438,7 +438,7 @@ namespace n2 { >takeReturnString(c) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -450,7 +450,7 @@ namespace n2 { >takeReturnString(d) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -462,7 +462,7 @@ namespace n2 { >takeReturnString(e) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ @@ -475,7 +475,7 @@ namespace n2 { >takeReturnHello(a) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -487,7 +487,7 @@ namespace n2 { >takeReturnHello(b) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -499,7 +499,7 @@ namespace n2 { >takeReturnHello(c) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -511,7 +511,7 @@ namespace n2 { >takeReturnHello(d) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -523,7 +523,7 @@ namespace n2 { >takeReturnHello(e) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ @@ -536,7 +536,7 @@ namespace n2 { >takeReturnHelloWorld(a) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -548,7 +548,7 @@ namespace n2 { >takeReturnHelloWorld(b) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -560,7 +560,7 @@ namespace n2 { >takeReturnHelloWorld(c) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -572,7 +572,7 @@ namespace n2 { >takeReturnHelloWorld(d) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -584,7 +584,7 @@ namespace n2 { >takeReturnHelloWorld(e) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ } @@ -650,7 +650,7 @@ namespace n3 { >fun3<"Hello" | "World">("Hello", "World") : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >fun3 : (...args: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ >"World" : "World" @@ -665,7 +665,7 @@ namespace n3 { >takeReturnString(a) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -677,7 +677,7 @@ namespace n3 { >takeReturnString(b) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -689,7 +689,7 @@ namespace n3 { >takeReturnString(c) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -701,7 +701,7 @@ namespace n3 { >takeReturnString(d) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -713,7 +713,7 @@ namespace n3 { >takeReturnString(e) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -726,7 +726,7 @@ namespace n3 { >takeReturnHello(a) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -738,7 +738,7 @@ namespace n3 { >takeReturnHello(b) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -750,7 +750,7 @@ namespace n3 { >takeReturnHello(c) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -762,7 +762,7 @@ namespace n3 { >takeReturnHello(d) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -774,7 +774,7 @@ namespace n3 { >takeReturnHello(e) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -787,7 +787,7 @@ namespace n3 { >takeReturnHelloWorld(a) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -799,7 +799,7 @@ namespace n3 { >takeReturnHelloWorld(b) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -811,7 +811,7 @@ namespace n3 { >takeReturnHelloWorld(c) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -823,7 +823,7 @@ namespace n3 { >takeReturnHelloWorld(d) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -835,7 +835,7 @@ namespace n3 { >takeReturnHelloWorld(e) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/typeAssertionToGenericFunctionType.types b/tests/baselines/reference/typeAssertionToGenericFunctionType.types index cd510db5e2c6c..0654ab1bae06a 100644 --- a/tests/baselines/reference/typeAssertionToGenericFunctionType.types +++ b/tests/baselines/reference/typeAssertionToGenericFunctionType.types @@ -37,11 +37,11 @@ x.a(1); // bug was that this caused 'Could not find symbol T' on return >x.a(1) : string > : ^^^^^^ >x.a : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : { a: (x: T) => T; b: (x: T) => void; } > : ^^^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >a : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeFromContextualThisType.types b/tests/baselines/reference/typeFromContextualThisType.types index 41fcdf7dee06c..344254b73dbdc 100644 --- a/tests/baselines/reference/typeFromContextualThisType.types +++ b/tests/baselines/reference/typeFromContextualThisType.types @@ -4,7 +4,7 @@ /** @type {{ a(): void; b?(n: number): number; }} */ const o1 = { >o1 : { a(): void; b?(n: number): number; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ a() { this.b = n => n; }} : { a(): void; } > : ^^^^^^^^^^^^^^ @@ -16,11 +16,11 @@ const o1 = { >this.b = n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >this.b : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : { a(): void; b?(n: number): number; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^ >b : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -32,8 +32,8 @@ const o1 = { /** @type {{ d(): void; e?(n: number): number; f?(n: number): number; g?: number }} */ const o2 = { ->o2 : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o2 : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >{ d() { this.e = this.f = m => this.g || m; }} : { d(): void; } > : ^^^^^^^^^^^^^^ @@ -45,19 +45,19 @@ const o2 = { >this.e = this.f = m => this.g || m : (m: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >this.e : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +>this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >e : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.f = m => this.g || m : (m: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >this.f : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +>this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >f : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >m => this.g || m : (m: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -66,8 +66,8 @@ const o2 = { > : ^^^^^^ >this.g : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >g : number | undefined > : ^^^^^^^^^^^^^^^^^^ >m : number diff --git a/tests/baselines/reference/typeFromJSConstructor.types b/tests/baselines/reference/typeFromJSConstructor.types index 7c3f4be1910a2..12695584bd85d 100644 --- a/tests/baselines/reference/typeFromJSConstructor.types +++ b/tests/baselines/reference/typeFromJSConstructor.types @@ -231,7 +231,7 @@ Installer.prototype.second = function () { >this.twices.push(1) : number > : ^^^^^^ >this.twices.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this.twices : any[] | null > : ^^^^^^^^^^^^ >this : this @@ -239,7 +239,7 @@ Installer.prototype.second = function () { >twices : any[] | null > : ^^^^^^^^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -257,7 +257,7 @@ Installer.prototype.second = function () { >this.twices.push('hi') : number > : ^^^^^^ >this.twices.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this.twices : any[] > : ^^^^^ >this : this @@ -265,7 +265,7 @@ Installer.prototype.second = function () { >twices : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'hi' : "hi" > : ^^^^ } diff --git a/tests/baselines/reference/typeFromJSInitializer.types b/tests/baselines/reference/typeFromJSInitializer.types index d5f0f666f2a6e..41b74960c9a7e 100644 --- a/tests/baselines/reference/typeFromJSInitializer.types +++ b/tests/baselines/reference/typeFromJSInitializer.types @@ -148,7 +148,7 @@ a.empty.push(1) >a.empty.push(1) : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -156,7 +156,7 @@ a.empty.push(1) >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -164,7 +164,7 @@ a.empty.push(true) >a.empty.push(true) : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -172,7 +172,7 @@ a.empty.push(true) >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -180,7 +180,7 @@ a.empty.push({}) >a.empty.push({}) : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -188,7 +188,7 @@ a.empty.push({}) >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{} : {} > : ^^ @@ -196,7 +196,7 @@ a.empty.push('hi') >a.empty.push('hi') : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -204,7 +204,7 @@ a.empty.push('hi') >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'hi' : "hi" > : ^^^^ @@ -305,11 +305,11 @@ function f(a = null, b = n, l = []) { >l.push(1) : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -317,11 +317,11 @@ function f(a = null, b = n, l = []) { >l.push('ok') : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'ok' : "ok" > : ^^^^ } @@ -383,18 +383,18 @@ l.push('ok') >l.push('ok') : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'ok' : "ok" > : ^^^^ /** @type {(v: unknown) => v is undefined} */ const isUndef = v => v === undefined; >isUndef : (v: unknown) => v is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v === undefined : (v: unknown) => v is undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : unknown @@ -423,11 +423,11 @@ const g = e.filter(isUndef); >e.filter(isUndef) : undefined[] > : ^^^^^^^^^^^ >e.filter : { (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => unknown, thisArg?: any): (number | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >e : (number | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => unknown, thisArg?: any): (number | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isUndef : (v: unknown) => v is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typeFromJSInitializer2.types b/tests/baselines/reference/typeFromJSInitializer2.types index 55f52dc0c7796..d882f7657ea0a 100644 --- a/tests/baselines/reference/typeFromJSInitializer2.types +++ b/tests/baselines/reference/typeFromJSInitializer2.types @@ -16,7 +16,7 @@ const a = f1() >f1() : undefined > : ^^^^^^^^^ >f1 : () => undefined -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ /** @type {() => null} */ function f2() { @@ -31,5 +31,5 @@ const b = f2() >f2() : null > : ^^^^ >f2 : () => null -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeFromJSInitializer3.types b/tests/baselines/reference/typeFromJSInitializer3.types index 296dea4db7f77..44457d63d717c 100644 --- a/tests/baselines/reference/typeFromJSInitializer3.types +++ b/tests/baselines/reference/typeFromJSInitializer3.types @@ -16,7 +16,7 @@ const a = f1() >f1() : undefined > : ^^^^^^^^^ >f1 : () => undefined -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ /** @type {() => null} */ function f2() { @@ -31,5 +31,5 @@ const b = f2() >f2() : null > : ^^^^ >f2 : () => null -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeFromJSInitializer4.types b/tests/baselines/reference/typeFromJSInitializer4.types index 0b756271b399a..4ffbd5acc3dbf 100644 --- a/tests/baselines/reference/typeFromJSInitializer4.types +++ b/tests/baselines/reference/typeFromJSInitializer4.types @@ -98,11 +98,11 @@ function f(a = null, b = n, l = []) { >l.push(1) : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -110,11 +110,11 @@ function f(a = null, b = n, l = []) { >l.push('ok') : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'ok' : "ok" > : ^^^^ } diff --git a/tests/baselines/reference/typeFromParamTagForFunction.types b/tests/baselines/reference/typeFromParamTagForFunction.types index 10f401ccefbbf..b42118d9ef270 100644 --- a/tests/baselines/reference/typeFromParamTagForFunction.types +++ b/tests/baselines/reference/typeFromParamTagForFunction.types @@ -44,7 +44,7 @@ const { A } = require("./a-ext"); >require("./a-ext") : typeof import("a-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./a-ext" : "./a-ext" > : ^^^^^^^^^ @@ -95,7 +95,7 @@ const { B } = require("./b-ext"); >require("./b-ext") : typeof import("b-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./b-ext" : "./b-ext" > : ^^^^^^^^^ @@ -136,7 +136,7 @@ const { C } = require("./c-ext"); >require("./c-ext") : typeof import("c-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./c-ext" : "./c-ext" > : ^^^^^^^^^ @@ -180,7 +180,7 @@ const { D } = require("./d-ext"); >require("./d-ext") : typeof import("d-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./d-ext" : "./d-ext" > : ^^^^^^^^^ @@ -223,7 +223,7 @@ const { E } = require("./e-ext"); >require("./e-ext") : typeof import("e-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./e-ext" : "./e-ext" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types b/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types index 05199c66f89d6..9b4faabae3d79 100644 --- a/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types +++ b/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types @@ -23,11 +23,11 @@ class C { const a = this.#a || {}; >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#a || {} : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this : this > : ^^^^ >{} : {} @@ -35,15 +35,15 @@ class C { this.#b = this.#b || {}; >this.#b = this.#b || {} : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#b : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this : this > : ^^^^ >this.#b || {} : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#b : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this : this > : ^^^^ >{} : {} diff --git a/tests/baselines/reference/typeFromPropertyAssignment21.types b/tests/baselines/reference/typeFromPropertyAssignment21.types index feee021605695..a89fea0b009bb 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment21.types +++ b/tests/baselines/reference/typeFromPropertyAssignment21.types @@ -10,7 +10,7 @@ Event.prototype.removeChildren = function () { >Event.prototype : Event > : ^^^^^ >Event : { new (type: string, eventInitDict?: EventInit): Event; prototype: Event; readonly NONE: 0; readonly CAPTURING_PHASE: 1; readonly AT_TARGET: 2; readonly BUBBLING_PHASE: 3; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >prototype : Event > : ^^^^^ >removeChildren : any diff --git a/tests/baselines/reference/typeFromPropertyAssignment29.types b/tests/baselines/reference/typeFromPropertyAssignment29.types index 18d54a25f93cc..24b9cb40ac25d 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment29.types +++ b/tests/baselines/reference/typeFromPropertyAssignment29.types @@ -11,11 +11,11 @@ function ExpandoDecl(n: number) { >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } ExpandoDecl.prop = 2 >ExpandoDecl.prop = 2 : 2 @@ -97,11 +97,11 @@ const ExpandoExpr = function (n: number) { >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } ExpandoExpr.prop = { x: 2 } >ExpandoExpr.prop = { x: 2 } : { x: number; } @@ -211,11 +211,11 @@ const ExpandoArrow = (n: number) => n.toString(); >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ExpandoArrow.prop = 2 >ExpandoArrow.prop = 2 : 2 @@ -404,7 +404,7 @@ namespace Ns { >ExpandoNamespace.p6 : number > : ^^^^^^ >ExpandoNamespace : { (): void; p6: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >p6 : number > : ^^^^^^ >42 : 42 @@ -412,11 +412,11 @@ namespace Ns { export function foo() { >foo : () => { (): void; p6: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ return ExpandoNamespace; >ExpandoNamespace : { (): void; p6: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ } } @@ -433,11 +433,11 @@ var ExpandoExpr2 = function (n: number) { >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } ExpandoExpr2.prop = 2 >ExpandoExpr2.prop = 2 : 2 diff --git a/tests/baselines/reference/typeFromPrototypeAssignment3.types b/tests/baselines/reference/typeFromPrototypeAssignment3.types index c0f82afaa2c04..d419ef4d35039 100644 --- a/tests/baselines/reference/typeFromPrototypeAssignment3.types +++ b/tests/baselines/reference/typeFromPrototypeAssignment3.types @@ -27,7 +27,7 @@ Multimap3.prototype = { >Multimap3 : typeof Multimap3 > : ^^^^^^^^^^^^^^^^ >prototype : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >{ /** * @param {string} key * @returns {number} the value ok */ get(key) { return this._map[key + '']; }} : { get(key: string): number; } > : ^^^^^^ ^^ ^^^ ^^^ @@ -74,11 +74,11 @@ const n = map.get('hi') >map.get('hi') : number > : ^^^^^^ >map.get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >map : Multimap3 > : ^^^^^^^^^ >get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/typeFromPrototypeAssignment4.types b/tests/baselines/reference/typeFromPrototypeAssignment4.types index d48a684ff6aa9..accadb79b9288 100644 --- a/tests/baselines/reference/typeFromPrototypeAssignment4.types +++ b/tests/baselines/reference/typeFromPrototypeAssignment4.types @@ -62,7 +62,7 @@ Multimap4["prototype"]["add-on"] = function() {}; > : ^^^^^^^^^^ >Multimap4["prototype"]["add-on"] : any >Multimap4["prototype"] : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >Multimap4 : typeof Multimap4 > : ^^^^^^^^^^^^^^^^ >"prototype" : "prototype" @@ -77,7 +77,7 @@ Multimap4["prototype"]["addon"] = function() {}; > : ^^^^^^^^^^ >Multimap4["prototype"]["addon"] : any >Multimap4["prototype"] : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >Multimap4 : typeof Multimap4 > : ^^^^^^^^^^^^^^^^ >"prototype" : "prototype" @@ -92,7 +92,7 @@ Multimap4["prototype"]["__underscores__"] = function() {}; > : ^^^^^^^^^^ >Multimap4["prototype"]["__underscores__"] : any >Multimap4["prototype"] : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >Multimap4 : typeof Multimap4 > : ^^^^^^^^^^^^^^^^ >"prototype" : "prototype" @@ -114,11 +114,11 @@ map4.get(""); >map4.get("") : number > : ^^^^^^ >map4.get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >map4 : Multimap4 > : ^^^^^^^^^ >get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/typeGuardFunction.types b/tests/baselines/reference/typeGuardFunction.types index 593db9df01408..fdd5fdfeab3ee 100644 --- a/tests/baselines/reference/typeGuardFunction.types +++ b/tests/baselines/reference/typeGuardFunction.types @@ -62,7 +62,7 @@ if (isC(a)) { >isC(a) : boolean > : ^^^^^^^ >isC : (p1: any) => p1 is C -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -84,7 +84,7 @@ if(isA(subType)) { >isA(subType) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >subType : C > : ^ @@ -106,7 +106,7 @@ if(isA(union)) { >isA(union) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >union : A | B > : ^^^^^ @@ -138,7 +138,7 @@ if (isC_multipleParams(a, 0)) { >isC_multipleParams(a, 0) : boolean > : ^^^^^^^ >isC_multipleParams : (p1: any, p2: any) => p1 is C -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >a : A > : ^ >0 : 0 @@ -230,7 +230,7 @@ acceptingBoolean(isA(a)); >isA(a) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -247,7 +247,7 @@ acceptingTypeGuardFunction(isA); >acceptingTypeGuardFunction : (p1: (item: any) => item is A) => any > : ^ ^^ ^^^ ^^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // Binary expressions let union2: C | B; @@ -262,7 +262,7 @@ let union3: boolean | B = isA(union2) || union2; >isA(union2) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >union2 : B | C > : ^^^^^ >union2 : B diff --git a/tests/baselines/reference/typeGuardFunctionErrors.types b/tests/baselines/reference/typeGuardFunctionErrors.types index 29fca4c2b86fc..7fda3c139ac01 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.types +++ b/tests/baselines/reference/typeGuardFunctionErrors.types @@ -168,7 +168,7 @@ if (isB(b)) { >isB(b) : boolean > : ^^^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >b : B > : ^ @@ -186,7 +186,7 @@ if (funA(0, a)) { >funA(0, a) : boolean > : ^^^^^^^ >funA : (p1: any, p2: any) => p1 is B -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >a : A @@ -234,7 +234,7 @@ acceptingDifferentSignatureTypeGuardFunction(isC); >acceptingDifferentSignatureTypeGuardFunction : (p1: (p1: any) => p1 is B) => any > : ^ ^^ ^^^ ^^^^^^^^ >isC : (p1: any) => p1 is C -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ // Boolean not assignable to type guard var assign1: (p1, p2) => p1 is A; @@ -249,7 +249,7 @@ assign1 = function(p1, p2): boolean { >assign1 = function(p1, p2): boolean { return true;} : (p1: any, p2: any) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^ >assign1 : (p1: any, p2: any) => p1 is A -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >function(p1, p2): boolean { return true;} : (p1: any, p2: any) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^ >p1 : any @@ -276,7 +276,7 @@ assign2 = function(p1, p2): p2 is A { >assign2 = function(p1, p2): p2 is A { return true;} : (p1: any, p2: any) => p2 is A > : ^ ^^^^^^^ ^^^^^^^^^^ >assign2 : (p1: any, p2: any) => p1 is A -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >function(p1, p2): p2 is A { return true;} : (p1: any, p2: any) => p2 is A > : ^ ^^^^^^^ ^^^^^^^^^^ >p1 : any @@ -303,7 +303,7 @@ assign3 = function(p1, p2, p3): p1 is A { >assign3 = function(p1, p2, p3): p1 is A { return true;} : (p1: any, p2: any, p3: any) => p1 is A > : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ >assign3 : (p1: any, p2: any) => p1 is A -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >function(p1, p2, p3): p1 is A { return true;} : (p1: any, p2: any, p3: any) => p1 is A > : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ >p1 : any @@ -484,7 +484,7 @@ if (hasMissingParameter()) { >hasMissingParameter() : boolean > : ^^^^^^^ >hasMissingParameter : () => x is A -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.propA; >x.propA : number diff --git a/tests/baselines/reference/typeGuardFunctionGenerics.types b/tests/baselines/reference/typeGuardFunctionGenerics.types index 7cb3d5ca6df17..58df2241c7814 100644 --- a/tests/baselines/reference/typeGuardFunctionGenerics.types +++ b/tests/baselines/reference/typeGuardFunctionGenerics.types @@ -94,17 +94,17 @@ let test1: boolean = funA(isB); >funA(isB) : boolean > : ^^^^^^^ >funA : (p1: (p1: any) => T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ if (funB(retC, a)) { >funB(retC, a) : boolean > : ^^^^^^^ >funB : (p1: (p1: any) => T, p2: any) => p2 is T -> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^ >retC : (x: any) => C -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >a : A > : ^ @@ -122,17 +122,17 @@ let test2: B = funC(isB); >funC(isB) : B > : ^ >funC : (p1: (p1: any) => p1 is T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ if (funD(isC, a)) { >funD(isC, a) : boolean > : ^^^^^^^ >funD : (p1: (p1: any) => p1 is T, p2: any) => p2 is T -> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^ >isC : (p1: any) => p1 is C -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >a : A > : ^ @@ -150,9 +150,9 @@ let test3: B = funE(isB, 1); >funE(isB, 1) : B > : ^ >funE : (p1: (p1: any) => p1 is T, p2: U) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^ ^^ ^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThis.types b/tests/baselines/reference/typeGuardFunctionOfFormThis.types index 723daf5873345..cb5b1ee2e18ea 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThis.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThis.types @@ -65,41 +65,41 @@ if (a.isLeader()) { >a.isLeader() : boolean > : ^^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.lead(); >a.lead() : void > : ^^^^ >a.lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : LeadGuard > : ^^^^^^^^^ >lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else if (a.isFollower()) { >a.isFollower() : boolean > : ^^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.follow(); >a.follow() : void > : ^^^^ >a.follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : FollowerGuard > : ^^^^^^^^^^^^^ >follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } interface GuardInterface extends RoyalGuard {} @@ -112,41 +112,41 @@ if (b.isLeader()) { >b.isLeader() : boolean > : ^^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ b.lead(); >b.lead() : void > : ^^^^ >b.lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : LeadGuard > : ^^^^^^^^^ >lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else if (b.isFollower()) { >b.isFollower() : boolean > : ^^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ b.follow(); >b.follow() : void > : ^^^^ >b.follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : FollowerGuard > : ^^^^^^^^^^^^^ >follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } // if (((a.isLeader)())) { @@ -175,7 +175,7 @@ if (holder2.a.isLeader()) { >holder2.a.isLeader() : boolean > : ^^^^^^^ >holder2.a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >holder2.a : RoyalGuard > : ^^^^^^^^^^ >holder2 : { a: RoyalGuard; } @@ -183,7 +183,7 @@ if (holder2.a.isLeader()) { >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ holder2.a; >holder2.a : LeadGuard @@ -271,41 +271,41 @@ if (guard.isElite()) { >guard.isElite() : boolean > : ^^^^^^^ >guard.isElite : () => this is ArrowElite -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowGuard > : ^^^^^^^^^^ >isElite : () => this is ArrowElite -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ guard.defend(); >guard.defend() : void > : ^^^^ >guard.defend : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowElite > : ^^^^^^^^^^ >defend : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else if (guard.isMedic()) { >guard.isMedic() : boolean > : ^^^^^^^ >guard.isMedic : () => this is ArrowMedic -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowGuard > : ^^^^^^^^^^ >isMedic : () => this is ArrowMedic -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ guard.heal(); >guard.heal() : void > : ^^^^ >guard.heal : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowMedic > : ^^^^^^^^^^ >heal : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } interface Supplies { @@ -346,11 +346,11 @@ if (crate.isSundries()) { >crate.isSundries() : boolean > : ^^^^^^^ >crate.isSundries : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >crate : Crate<{}> > : ^^^^^^^^^ >isSundries : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ crate.contents.broken = true; >crate.contents.broken = true : true @@ -372,11 +372,11 @@ else if (crate.isSupplies()) { >crate.isSupplies() : boolean > : ^^^^^^^ >crate.isSupplies : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >crate : Crate<{}> > : ^^^^^^^^^ >isSupplies : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ crate.contents.spoiled = true; >crate.contents.spoiled = true : true @@ -399,35 +399,35 @@ else if (crate.isSupplies()) { a.isFollower = b.isFollower; >a.isFollower = b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isLeader = b.isLeader; >a.isLeader = b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ class MimicGuard { >MimicGuard : MimicGuard @@ -486,71 +486,71 @@ let mimic = new MimicGuard(); a.isLeader = mimic.isLeader; >a.isLeader = mimic.isLeader : () => this is MimicLeader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic.isLeader : () => this is MimicLeader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicGuard > : ^^^^^^^^^^ >isLeader : () => this is MimicLeader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isFollower = mimic.isFollower; >a.isFollower = mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicGuard > : ^^^^^^^^^^ >isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (mimic.isFollower()) { >mimic.isFollower() : boolean > : ^^^^^^^ >mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicGuard > : ^^^^^^^^^^ >isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ mimic.follow(); >mimic.follow() : void > : ^^^^ >mimic.follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicFollower > : ^^^^^^^^^^^^^ >follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ mimic.isFollower = a.isFollower; >mimic.isFollower = a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicFollower > : ^^^^^^^^^^^^^ >isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types index 0b8aa40b5aa11..28598a91262a4 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types @@ -73,67 +73,67 @@ let b: GuardInterface = new LeadGuard(); // Mismatched guards shouldn't be assignable b.isFollower = b.isLeader; >b.isFollower = b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ b.isLeader = b.isFollower; >b.isLeader = b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isFollower = a.isLeader; >a.isFollower = a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isLeader = a.isFollower; >a.isLeader = a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ function invalidGuard(c: any): this is number { >invalidGuard : (c: any) => this is number @@ -154,7 +154,7 @@ if (invalidGuard(c)) { >invalidGuard(c) : boolean > : ^^^^^^^ >invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : number | number[] > : ^^^^^^^^^^^^^^^^^ @@ -170,21 +170,21 @@ else { let holder = {invalidGuard}; >holder : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >{invalidGuard} : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ if (holder.invalidGuard(c)) { >holder.invalidGuard(c) : boolean > : ^^^^^^^ >holder.invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >holder : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : number | number[] > : ^^^^^^^^^^^^^^^^^ @@ -194,7 +194,7 @@ if (holder.invalidGuard(c)) { holder; >holder : { invalidGuard: (c: any) => this is number; } & number -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ } else { c; @@ -203,24 +203,24 @@ else { holder; >holder : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ } let detached = a.isFollower; >detached : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (detached()) { >detached() : boolean > : ^^^^^^^ >detached : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.follow(); >a.follow() : any diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.types b/tests/baselines/reference/typeGuardIntersectionTypes.types index d674b18422e1a..5754943f054f6 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.types +++ b/tests/baselines/reference/typeGuardIntersectionTypes.types @@ -48,19 +48,19 @@ function f1(obj: Object) { >isX(obj) : boolean > : ^^^^^^^ >isX : (obj: any) => obj is X -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ >isY(obj) : boolean > : ^^^^^^^ >isY : (obj: any) => obj is Y -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ >isZ(obj) : boolean > : ^^^^^^^ >isZ : (obj: any) => obj is Z -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ @@ -76,19 +76,19 @@ function f1(obj: Object) { >isX(obj) : boolean > : ^^^^^^^ >isX : (obj: any) => obj is X -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ >isY(obj) : boolean > : ^^^^^^^ >isY : (obj: any) => obj is Y -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : X > : ^ >isZ(obj) : boolean > : ^^^^^^^ >isZ : (obj: any) => obj is Z -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : X & Y > : ^^^^^ @@ -140,7 +140,7 @@ function union(a: A): A & B | null { >isB(a) : boolean > : ^^^^^^^ >isB : (toTest: any) => toTest is B -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -231,7 +231,7 @@ function identifyBeast(beast: Beast) { >hasLegs(beast) : boolean > : ^^^^^^^ >hasLegs : (x: Beast) => x is Legged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Beast > : ^^^^^ @@ -240,7 +240,7 @@ function identifyBeast(beast: Beast) { >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Legged > : ^^^^^^ @@ -260,7 +260,7 @@ function identifyBeast(beast: Beast) { >log(`pegasus - 4 legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`pegasus - 4 legs, wings` : "pegasus - 4 legs, wings" > : ^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -280,7 +280,7 @@ function identifyBeast(beast: Beast) { >log(`bird - 2 legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`bird - 2 legs, wings` : "bird - 2 legs, wings" > : ^^^^^^^^^^^^^^^^^^^^^^ } @@ -289,7 +289,7 @@ function identifyBeast(beast: Beast) { >log(`unknown - ${beast.legs} legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`unknown - ${beast.legs} legs, wings` : string > : ^^^^^^ >beast.legs : number @@ -307,7 +307,7 @@ function identifyBeast(beast: Beast) { >log(`manbearpig - ${beast.legs} legs, no wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`manbearpig - ${beast.legs} legs, no wings` : string > : ^^^^^^ >beast.legs : number @@ -325,7 +325,7 @@ function identifyBeast(beast: Beast) { >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Beast > : ^^^^^ @@ -333,7 +333,7 @@ function identifyBeast(beast: Beast) { >log(`quetzalcoatl - no legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`quetzalcoatl - no legs, wings` : "quetzalcoatl - no legs, wings" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -342,7 +342,7 @@ function identifyBeast(beast: Beast) { >log(`snake - no legs, no wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`snake - no legs, no wings` : "snake - no legs, no wings" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -361,13 +361,13 @@ function beastFoo(beast: Object) { >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Object > : ^^^^^^ >hasLegs(beast) : boolean > : ^^^^^^^ >hasLegs : (x: Beast) => x is Legged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Winged > : ^^^^^^ @@ -387,13 +387,13 @@ function beastFoo(beast: Object) { >hasLegs(beast) : boolean > : ^^^^^^^ >hasLegs : (x: Beast) => x is Legged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Object > : ^^^^^^ >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Legged > : ^^^^^^ diff --git a/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types b/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types index 8d0a96dda4130..944cfeda15972 100644 --- a/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types +++ b/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types @@ -17,7 +17,7 @@ if (hasOwnProperty(arrayLikeOrIterable, 'length')) { >hasOwnProperty(arrayLikeOrIterable, 'length') : boolean > : ^^^^^^^ >hasOwnProperty :

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

    (target: {}, property: P) => target is { readonly [K in P]: unknown; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >arrayLikeOrIterable : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' : "length" diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types index 5bc315ac2c77a..cfa4c5ea7ae2b 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types @@ -153,11 +153,11 @@ function subarea(s: Subshape): number { >s[0]["sub"].under["shape"] : Shape > : ^^^^^ >s[0]["sub"].under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -165,7 +165,7 @@ function subarea(s: Subshape): number { >"sub" : "sub" > : ^^^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >"shape" : "shape" > : ^^^^^^^ >"dash-ok" : "dash-ok" @@ -181,19 +181,19 @@ function subarea(s: Subshape): number { >s[0].sub.under.shape : Square > : ^^^^^^ >s[0].sub.under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0].sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 > : ^ >sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >shape : Square > : ^^^^^^ >"square-size" : "square-size" @@ -203,19 +203,19 @@ function subarea(s: Subshape): number { >s[0].sub.under.shape : Square > : ^^^^^^ >s[0].sub.under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0].sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 > : ^ >sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >shape : Square > : ^^^^^^ >"square-size" : "square-size" @@ -231,11 +231,11 @@ function subarea(s: Subshape): number { >s[0]["sub"]["under"]["shape"] : Rectangle > : ^^^^^^^^^ >s[0]["sub"]["under"] : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -253,11 +253,11 @@ function subarea(s: Subshape): number { >s[0]["sub"]["under"]["shape"] : Rectangle > : ^^^^^^^^^ >s[0]["sub"]["under"] : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -289,19 +289,19 @@ function subarea(s: Subshape): number { >s[0].sub.under["shape"] : Circle > : ^^^^^^ >s[0].sub.under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0].sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 > : ^ >sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >"shape" : "shape" > : ^^^^^^^ >radius : number @@ -311,11 +311,11 @@ function subarea(s: Subshape): number { >s[0]["sub"].under.shape : Circle > : ^^^^^^ >s[0]["sub"].under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -323,7 +323,7 @@ function subarea(s: Subshape): number { >"sub" : "sub" > : ^^^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >shape : Circle > : ^^^^^^ >"radius" : "radius" diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types index 0067b8cf2e9a4..ad6259e7abf89 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types @@ -31,7 +31,7 @@ if (m[E.A] !== null) { >m[E.A].toString() : string > : ^^^^^^ >m[E.A].toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >m[E.A] : string > : ^^^^^^ >m : { 0: string | null; 1: string | null; } @@ -43,6 +43,6 @@ if (m[E.A] !== null) { >A : E.A > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types index 630493d757670..b45008683355e 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types @@ -40,7 +40,7 @@ if (m[E.A] !== null) { >m[E.A].toString() : string > : ^^^^^^ >m[E.A].toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >m[E.A] : string > : ^^^^^^ >m : { A: string | null; B: string | null; } @@ -52,6 +52,6 @@ if (m[E.A] !== null) { >A : E.A > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types index 386d89a40be3f..c2d98a55c85bb 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types @@ -20,24 +20,24 @@ const key = 'key' as const; if (foo[key]) { >foo[key] : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo : { key?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { key?: number; } +> : ^^^^^^^^ ^^^ >key : "key" > : ^^^^^ foo[key]; // number >foo[key] : number > : ^^^^^^ ->foo : { key?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { key?: number; } +> : ^^^^^^^^ ^^^ >key : "key" > : ^^^^^ foo.key; // number >foo.key : number > : ^^^^^^ ->foo : { key?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { key?: number; } +> : ^^^^^^^^ ^^^ >key : number > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types index 9205c9c80cf8a..5d4fc2b9ea232 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types @@ -20,18 +20,18 @@ const aIndex = "key"; if (a[aIndex] && a[aIndex].x) { >a[aIndex] && a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number | undefined @@ -40,10 +40,10 @@ if (a[aIndex] && a[aIndex].x) { a[aIndex].x // number >a[aIndex].x : number > : ^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number @@ -73,10 +73,10 @@ const bIndex = "key"; if (b[bIndex].x) { >b[bIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number | undefined @@ -85,10 +85,10 @@ if (b[bIndex].x) { b[bIndex].x // number >b[bIndex].x : number > : ^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types index 085f8901ec744..41a7693dcec2c 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types @@ -18,18 +18,18 @@ const a: { key?: { x?: number } } = {}; if (a[aIndex] && a[aIndex].x) { >a[aIndex] && a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number | undefined @@ -38,10 +38,10 @@ if (a[aIndex] && a[aIndex].x) { a[aIndex].x // number >a[aIndex].x : number > : ^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number @@ -69,10 +69,10 @@ const b: { key: { x?: number } } = { key: {} }; if (b[bIndex].x) { >b[bIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number | undefined @@ -81,10 +81,10 @@ if (b[bIndex].x) { b[bIndex].x // number >b[bIndex].x : number > : ^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number diff --git a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types index 1048e8a3a1a29..270cc1d5e2d33 100644 --- a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types +++ b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types @@ -31,8 +31,8 @@ let value: string; if (isNonBlank(value)) { >isNonBlank(value) : boolean > : ^^^^^^^ ->isNonBlank : (value: string) => value is string & Tag -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isNonBlank : (value: string) => value is (string & Tag) +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -40,7 +40,7 @@ if (isNonBlank(value)) { >doThis(value) : void > : ^^^^ >doThis : (value: string & Tag) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string & Tag > : ^^^^^^^^^^^^ @@ -49,7 +49,7 @@ if (isNonBlank(value)) { >doThat(value) : void > : ^^^^ >doThat : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } @@ -80,8 +80,8 @@ declare function doThat2(value: string) : void; if (isNonBlank2(value)) { >isNonBlank2(value) : boolean > : ^^^^^^^ ->isNonBlank2 : (value: string) => value is never -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +>isNonBlank2 : (value: string) => value is (string & Tag2) +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -89,7 +89,7 @@ if (isNonBlank2(value)) { >doThis2(value) : void > : ^^^^ >doThis2 : (value: string & Tag2) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : never > : ^^^^^ @@ -98,7 +98,7 @@ if (isNonBlank2(value)) { >doThat2(value) : void > : ^^^^ >doThat2 : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsToLiteralType.types b/tests/baselines/reference/typeGuardNarrowsToLiteralType.types index cb7b957611172..28936864ce90d 100644 --- a/tests/baselines/reference/typeGuardNarrowsToLiteralType.types +++ b/tests/baselines/reference/typeGuardNarrowsToLiteralType.types @@ -27,7 +27,7 @@ if (isFoo(value)) { >isFoo(value) : boolean > : ^^^^^^^ >isFoo : (value: string) => value is "foo" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -35,7 +35,7 @@ if (isFoo(value)) { >doThis(value) : void > : ^^^^ >doThis : (value: "foo") => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "foo" > : ^^^^^ @@ -44,7 +44,7 @@ if (isFoo(value)) { >doThat(value) : void > : ^^^^ >doThat : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types b/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types index 842fe40b7dcd5..df699d3e028d0 100644 --- a/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types +++ b/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types @@ -26,8 +26,8 @@ let value: string; if (isFoo(value)) { >isFoo(value) : boolean > : ^^^^^^^ ->isFoo : (value: string) => value is "foo" | "bar" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isFoo : (value: string) => value is ("foo" | "bar") +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -35,7 +35,7 @@ if (isFoo(value)) { >doThis(value) : void > : ^^^^ >doThis : (value: "foo" | "bar") => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "foo" | "bar" > : ^^^^^^^^^^^^^ @@ -44,7 +44,7 @@ if (isFoo(value)) { >doThat(value) : void > : ^^^^ >doThat : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardOfFormFunctionEquality.types b/tests/baselines/reference/typeGuardOfFormFunctionEquality.types index 26fa7f4bff7cd..8979501075bf5 100644 --- a/tests/baselines/reference/typeGuardOfFormFunctionEquality.types +++ b/tests/baselines/reference/typeGuardOfFormFunctionEquality.types @@ -19,7 +19,7 @@ switch (isString1(0, "")) { >isString1(0, "") : boolean > : ^^^^^^^ >isString1 : (a: number, b: Object) => b is string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >"" : "" @@ -29,7 +29,7 @@ switch (isString1(0, "")) { >isString2("") : boolean > : ^^^^^^^ >isString2 : (a: Object) => a is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -44,7 +44,7 @@ var x = isString1(0, "") === isString2(""); >isString1(0, "") : boolean > : ^^^^^^^ >isString1 : (a: number, b: Object) => b is string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >"" : "" @@ -52,7 +52,7 @@ var x = isString1(0, "") === isString2(""); >isString2("") : boolean > : ^^^^^^^ >isString2 : (a: Object) => a is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -70,7 +70,7 @@ function isString3(a: number, b: number, c: Object): c is string { >isString1(0, c) : boolean > : ^^^^^^^ >isString1 : (a: number, b: Object) => b is string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >c : Object diff --git a/tests/baselines/reference/typeGuardOfFormIsType.types b/tests/baselines/reference/typeGuardOfFormIsType.types index 5f17914e8ce98..f91abc018dbc4 100644 --- a/tests/baselines/reference/typeGuardOfFormIsType.types +++ b/tests/baselines/reference/typeGuardOfFormIsType.types @@ -83,7 +83,7 @@ str = isC1(c1Orc2) && c1Orc2.p1; // C1 >isC1(c1Orc2) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -103,7 +103,7 @@ num = isC2(c1Orc2) && c1Orc2.p2; // C2 >isC2(c1Orc2) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p2 : number @@ -123,7 +123,7 @@ str = isD1(c1Orc2) && c1Orc2.p1; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -143,7 +143,7 @@ num = isD1(c1Orc2) && c1Orc2.p3; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p3 : number @@ -167,7 +167,7 @@ num = isC2(c2Ord1) && c2Ord1.p2; // C2 >isC2(c2Ord1) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p2 : number @@ -187,7 +187,7 @@ num = isD1(c2Ord1) && c2Ord1.p3; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p3 : number @@ -207,7 +207,7 @@ str = isD1(c2Ord1) && c2Ord1.p1; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p1 : string @@ -225,7 +225,7 @@ var r2: C2 | D1 = isC1(c2Ord1) && c2Ord1; // C2 | D1 >isC1(c2Ord1) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1 : D1 diff --git a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types index 31b46f6f9ee15..448fbd6385633 100644 --- a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types +++ b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types @@ -99,7 +99,7 @@ str = isC1(c1Orc2) && c1Orc2.p1; // C1 >isC1(c1Orc2) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -119,7 +119,7 @@ num = isC2(c1Orc2) && c1Orc2.p2; // C2 >isC2(c1Orc2) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p2 : number @@ -139,7 +139,7 @@ str = isD1(c1Orc2) && c1Orc2.p1; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -159,7 +159,7 @@ num = isD1(c1Orc2) && c1Orc2.p3; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p3 : number @@ -183,7 +183,7 @@ num = isC2(c2Ord1) && c2Ord1.p2; // C2 >isC2(c2Ord1) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p2 : number @@ -203,7 +203,7 @@ num = isD1(c2Ord1) && c2Ord1.p3; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p3 : number @@ -223,7 +223,7 @@ str = isD1(c2Ord1) && c2Ord1.p1; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p1 : string @@ -241,7 +241,7 @@ var r2: C2 | D1 = isC1(c2Ord1) && c2Ord1; // C2 | D1 >isC1(c2Ord1) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1 : D1 diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types index 6f4c5ae62b448..99e8317b18be7 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types @@ -100,7 +100,7 @@ function f5(x: { s: string }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { s: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -122,13 +122,13 @@ function f6(x: () => string) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"function" : "function" > : ^^^^^^^^^^ x; // () => string >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -144,13 +144,13 @@ function f10(x: string | (() => string)) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^ >"function" : "function" > : ^^^^^^^^^^ x; // () => string >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { x; // string @@ -173,18 +173,18 @@ function f11(x: { s: string } | (() => string)) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { s: string; } | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^ >"function" : "function" > : ^^^^^^^^^^ x; // () => string >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { x; // { s: string } >x : { s: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -204,7 +204,7 @@ function f12(x: { s: string } | { n: number }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { s: string; } | { n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -215,7 +215,7 @@ function f12(x: { s: string } | { n: number }) { else { x; // { s: string } | { n: number } >x : { s: string; } | { n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } } @@ -258,11 +258,11 @@ function f100(obj: T, keys: K[]) : void { item.call(obj); >item.call(obj) : any >item.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >item : T[K] & Function > : ^^^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : T > : ^ } @@ -286,17 +286,17 @@ function configureStore(reducer: (() => void) | Recordtypeof reducer : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >reducer : Record void> | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >'function' : "function" > : ^^^^^^^^^^ rootReducer = reducer; >rootReducer = reducer : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >rootReducer : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >reducer : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types b/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types index 3852ffd3f815e..1ace6048ad831 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types @@ -68,15 +68,15 @@ if ("function" === typeof strOrFunc) { >typeof strOrFunc : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >strOrFunc : string | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^ func = strOrFunc; >func = strOrFunc : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >func : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >strOrFunc : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { str = strOrFunc; diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types b/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types index a4009ce8ac8eb..23b31ddc86115 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types @@ -66,7 +66,7 @@ if (typeof b === "number") { >typeof b : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >"number" : "number" > : ^^^^^^^^ @@ -82,7 +82,7 @@ if (typeof b === "string") { >typeof b : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -98,7 +98,7 @@ if (typeof b === "boolean") { >typeof b : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >"boolean" : "boolean" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types index 6cae8767b41ed..53cabd1ce8837 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types @@ -119,7 +119,7 @@ function anonymousClasses(x: { a: string; } | { b: number; }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ let y: string = x.a; >y : string @@ -127,7 +127,7 @@ function anonymousClasses(x: { a: string; } | { b: number; }) { >x.a : string > : ^^^^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -138,7 +138,7 @@ function anonymousClasses(x: { a: string; } | { b: number; }) { >x.b : number > : ^^^^^^ >x : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : number > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardRedundancy.types b/tests/baselines/reference/typeGuardRedundancy.types index 034199466153b..e0574ad51a2aa 100644 --- a/tests/baselines/reference/typeGuardRedundancy.types +++ b/tests/baselines/reference/typeGuardRedundancy.types @@ -7,9 +7,9 @@ var x: string|number; var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >r1 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" && typeof x === "string" : boolean > : ^^^^^^^ >typeof x === "string" : boolean @@ -29,23 +29,23 @@ var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >"string" : "string" > : ^^^^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r2 = !(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr; >r2 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" && typeof x === "string") : boolean > : ^^^^^^^ >(typeof x === "string" && typeof x === "string") : boolean @@ -69,23 +69,23 @@ var r2 = !(typeof x === "string" && typeof x === "string") ? x.toFixed : x.subst >"string" : "string" > : ^^^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >r3 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" || typeof x === "string" : boolean > : ^^^^^^^ >typeof x === "string" : boolean @@ -105,23 +105,23 @@ var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >"string" : "string" > : ^^^^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r4 = !(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr; >r4 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" || typeof x === "string") : boolean > : ^^^^^^^ >(typeof x === "string" || typeof x === "string") : boolean @@ -145,15 +145,15 @@ var r4 = !(typeof x === "string" || typeof x === "string") ? x.toFixed : x.subst >"string" : "string" > : ^^^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/typeGuardsAsAssertions.types b/tests/baselines/reference/typeGuardsAsAssertions.types index aef909ad90c31..a012e895329a2 100644 --- a/tests/baselines/reference/typeGuardsAsAssertions.types +++ b/tests/baselines/reference/typeGuardsAsAssertions.types @@ -95,7 +95,7 @@ export function fn(makeSome: () => r): void { >isSome(result) : boolean > : ^^^^^^^ >isSome : (value: Optional) => value is Some -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >result : Optional > : ^^^^^^^^^^^ >result.some : r @@ -107,7 +107,7 @@ export function fn(makeSome: () => r): void { >makeSome() : r > : ^ >makeSome : () => r -> : ^^^^^^^ +> : ^^^^^^ result; // Some >result : Some @@ -155,11 +155,11 @@ function foo1() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >"abc" : "abc" > : ^^^^^ @@ -212,11 +212,11 @@ function foo2() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } else { x = "abc"; @@ -410,13 +410,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = ""; >x = "" : "" @@ -430,13 +430,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = undefined; >x = undefined : undefined @@ -450,13 +450,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = null; >x = null : null @@ -468,13 +468,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = undefined; >x = undefined : null | undefined @@ -490,13 +490,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = ""; >x = "" : string | undefined @@ -512,13 +512,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = ""; >x = "" : string | null @@ -534,13 +534,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null > : ^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } function f7() { @@ -555,12 +555,12 @@ function f7() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/typeGuardsInConditionalExpression.types b/tests/baselines/reference/typeGuardsInConditionalExpression.types index da39222b73dc8..e5dfece3657f2 100644 --- a/tests/baselines/reference/typeGuardsInConditionalExpression.types +++ b/tests/baselines/reference/typeGuardsInConditionalExpression.types @@ -477,11 +477,11 @@ function foo10(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function foo11(x: number | string | boolean) { >foo11 : (x: number | string | boolean) => string | number @@ -593,11 +593,11 @@ function foo12(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >length : number > : ^^^^^^ diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types index fb7bda609d863..3b05fdcbc0927 100644 --- a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types @@ -55,21 +55,21 @@ function foo(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } (); } @@ -127,21 +127,21 @@ function foo2(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } (x); // x here is narrowed to number | boolean >x : number | boolean @@ -199,21 +199,21 @@ function foo3(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ })(); } @@ -271,21 +271,21 @@ function foo4(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ })(x); // x here is narrowed to number | boolean >x : number | boolean @@ -387,21 +387,21 @@ module m { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } @@ -468,21 +468,21 @@ module m1 { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } diff --git a/tests/baselines/reference/typeGuardsInIfStatement.types b/tests/baselines/reference/typeGuardsInIfStatement.types index 95a2b83831214..88910ed2c24fd 100644 --- a/tests/baselines/reference/typeGuardsInIfStatement.types +++ b/tests/baselines/reference/typeGuardsInIfStatement.types @@ -495,11 +495,11 @@ function foo11(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ) : ( @@ -519,11 +519,11 @@ function foo11(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ); } @@ -550,11 +550,11 @@ function foo12(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { x = 10; @@ -587,11 +587,11 @@ function foo12(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ : x.toString(); // boolean | string >x.toString() : any diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index ae5933d1616e7..21e8dbe7998dd 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -195,7 +195,7 @@ strOrNum = typeof obj1.x === "string" && obj1.x; // string | number >obj1.x : string | number > : ^^^^^^^^^^^^^^^ >obj1 : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >"string" : "string" @@ -203,7 +203,7 @@ strOrNum = typeof obj1.x === "string" && obj1.x; // string | number >obj1.x : string > : ^^^^^^ >obj1 : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types index b8f454b8c5b2a..7d6e822d4654a 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types @@ -301,11 +301,11 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // do not change value : ((y = x) && x.toString()))); // x is boolean @@ -324,10 +324,10 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types index 03ad85630d150..6021cf4fbf12e 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types @@ -302,11 +302,11 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // do not change value : ((y = x) && x.toString()))); // number | boolean | string @@ -325,10 +325,10 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardsNestedAssignments.types b/tests/baselines/reference/typeGuardsNestedAssignments.types index f42a482fd4573..069a2e6612356 100644 --- a/tests/baselines/reference/typeGuardsNestedAssignments.types +++ b/tests/baselines/reference/typeGuardsNestedAssignments.types @@ -38,7 +38,7 @@ function f1() { >getFooOrNull() : Foo | null > : ^^^^^^^^^^ >getFooOrNull : () => Foo | null -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ foo; // Foo >foo : Foo @@ -72,7 +72,7 @@ function f2() { >getFooOrNull() : Foo | null > : ^^^^^^^^^^ >getFooOrNull : () => Foo | null -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo2 = foo1 : Foo | null > : ^^^^^^^^^^ >foo2 : Foo | null @@ -110,7 +110,7 @@ function f3() { >getFooOrNull() : Foo | null > : ^^^^^^^^^^ >getFooOrNull : () => Foo | null -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ @@ -142,7 +142,7 @@ function f4() { >getStringOrNumberOrNull() : string | number | null > : ^^^^^^^^^^^^^^^^^^^^^^ >getStringOrNumberOrNull : () => string | number | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >"number" : "number" > : ^^^^^^^^ @@ -176,11 +176,11 @@ while ((match = re.exec("xxx")) != null) { >re.exec("xxx") : RegExpExecArray | null > : ^^^^^^^^^^^^^^^^^^^^^^ >re.exec : (string: string) => RegExpExecArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >re : RegExp > : ^^^^^^ >exec : (string: string) => RegExpExecArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"xxx" : "xxx" > : ^^^^^ diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.types b/tests/baselines/reference/typeGuardsOnClassProperty.types index 90f22b0cd8e3c..dbdf7dcca523d 100644 --- a/tests/baselines/reference/typeGuardsOnClassProperty.types +++ b/tests/baselines/reference/typeGuardsOnClassProperty.types @@ -44,11 +44,11 @@ class D { >data.join(" ") : string > : ^^^^^^ >data.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >" " : " " > : ^^^ } @@ -81,7 +81,7 @@ class D { >this.data.join(" ") : string > : ^^^^^^ >this.data.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.data : string[] > : ^^^^^^^^ >this : this @@ -89,7 +89,7 @@ class D { >data : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >" " : " " > : ^^^ } @@ -133,8 +133,8 @@ if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o.prop1 : string | number > : ^^^^^^^^^^^^^^^ ->o : { prop1: string | number; prop2: string | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o : { prop1: number | string; prop2: boolean | string; } +> : ^^^^^^^^^ ^^^^^^^^^ ^^^ >prop1 : string | number > : ^^^^^^^^^^^^^^^ >"string" : "string" @@ -142,23 +142,23 @@ if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} >o.prop1.toLowerCase() : string > : ^^^^^^ >o.prop1.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o.prop1 : string > : ^^^^^^ ->o : { prop1: string | number; prop2: string | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o : { prop1: number | string; prop2: boolean | string; } +> : ^^^^^^^^^ ^^^^^^^^^ ^^^ >prop1 : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var prop1 = o.prop1; >prop1 : string | number > : ^^^^^^^^^^^^^^^ >o.prop1 : string | number > : ^^^^^^^^^^^^^^^ ->o : { prop1: string | number; prop2: string | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o : { prop1: number | string; prop2: boolean | string; } +> : ^^^^^^^^^ ^^^^^^^^^ ^^^ >prop1 : string | number > : ^^^^^^^^^^^^^^^ @@ -176,9 +176,9 @@ if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } >prop1.toLocaleLowerCase() : string > : ^^^^^^ >prop1.toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop1 : string > : ^^^^^^ >toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/typeGuardsTypeParameters.types b/tests/baselines/reference/typeGuardsTypeParameters.types index 181d647ea02f6..9c5285d315653 100644 --- a/tests/baselines/reference/typeGuardsTypeParameters.types +++ b/tests/baselines/reference/typeGuardsTypeParameters.types @@ -130,11 +130,11 @@ function fun(item: { [P in keyof T]: T[P] }) { >strings.push(value) : number > : ^^^^^^ >strings.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >strings : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >value : { [P in keyof T]: T[P]; }[Extract] & string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types index ead83b478a5aa..3cf06c72adecd 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types @@ -324,7 +324,7 @@ if (obj7 instanceof D) { // narrowed to D. >obj7 : string | D > : ^^^^^^^^^^ >D : new () => D -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ obj7.foo; >obj7.foo : string @@ -353,7 +353,7 @@ if (obj8 instanceof D) { >obj8 : any > : ^^^ >D : new () => D -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ obj8.foo; >obj8.foo : string diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types index cda4b00222067..f0f867b8e235f 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types +++ b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types @@ -373,7 +373,7 @@ if (obj7 instanceof D) { // narrowed to D. >obj7 : string | D > : ^^^^^^^^^^ >D : { new (): D; [Symbol.hasInstance](value: unknown): value is D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ obj7.foo; >obj7.foo : string @@ -402,7 +402,7 @@ if (obj8 instanceof D) { >obj8 : any > : ^^^ >D : { new (): D; [Symbol.hasInstance](value: unknown): value is D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ obj8.foo; >obj8.foo : string diff --git a/tests/baselines/reference/typeInferenceCacheInvalidation.types b/tests/baselines/reference/typeInferenceCacheInvalidation.types index 88009bfaf8fe1..0702dd8a16bcf 100644 --- a/tests/baselines/reference/typeInferenceCacheInvalidation.types +++ b/tests/baselines/reference/typeInferenceCacheInvalidation.types @@ -33,7 +33,7 @@ example(42, (foo, bar) => ({ >example(42, (foo, bar) => ({ t: () => { let s: string = bar; }}), '42') : (foo: number, bar: string) => { t: () => void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >example : >(foo: TFoo, callback: TCallback, bar: TBar) => TCallback -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >(foo, bar) => ({ t: () => { let s: string = bar; }}) : (foo: number, bar: string) => { t: () => void; } @@ -67,7 +67,7 @@ example(42, (foo, bar) => ({ >example(42, (foo, bar) => ({ t() { let s: string = bar; }}), '42') : (foo: number, bar: string) => { t(): void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >example : >(foo: TFoo, callback: TCallback, bar: TBar) => TCallback -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >(foo, bar) => ({ t() { let s: string = bar; }}) : (foo: number, bar: string) => { t(): void; } diff --git a/tests/baselines/reference/typeInferenceConflictingCandidates.types b/tests/baselines/reference/typeInferenceConflictingCandidates.types index 481a2767233fd..85e886441ef71 100644 --- a/tests/baselines/reference/typeInferenceConflictingCandidates.types +++ b/tests/baselines/reference/typeInferenceConflictingCandidates.types @@ -17,7 +17,7 @@ g("", 3, a => a); >g("", 3, a => a) : "" > : ^^ >g : (a: T, b: T, c: (t: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >3 : 3 diff --git a/tests/baselines/reference/typeInferenceFBoundedTypeParams.types b/tests/baselines/reference/typeInferenceFBoundedTypeParams.types index 9a2de14a5268d..2864fcc53ac3a 100644 --- a/tests/baselines/reference/typeInferenceFBoundedTypeParams.types +++ b/tests/baselines/reference/typeInferenceFBoundedTypeParams.types @@ -31,7 +31,7 @@ function fold(values: a[], result: r, fold: (result: r, value: a) => r): r >fold(result, value) : r > : ^ >fold : (result: r, value: a) => r -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >result : r > : ^ >value : a @@ -54,11 +54,11 @@ function append(values: a[], value: b): a[] { >values.push(value) : number > : ^^^^^^ >values.push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >values : a[] > : ^^^ >push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >value : b > : ^ @@ -71,7 +71,7 @@ fold( >fold( [1, 2, 3], [] as [string, string][], (result, value) => append( result, ["", ""] )) : [string, string][] > : ^^^^^^^^^^^^^^^^^^ >fold : (values: a[], result: r, fold: (result: r, value: a) => r) => r -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ [1, 2, 3], >[1, 2, 3] : number[] @@ -99,7 +99,7 @@ fold( >append( result, ["", ""] ) : [string, string][] > : ^^^^^^^^^^^^^^^^^^ >append : (values: a[], value: b) => a[] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ result, >result : [string, string][] diff --git a/tests/baselines/reference/typeInferenceFixEarly.types b/tests/baselines/reference/typeInferenceFixEarly.types index 882b773425a38..97bfffd225925 100644 --- a/tests/baselines/reference/typeInferenceFixEarly.types +++ b/tests/baselines/reference/typeInferenceFixEarly.types @@ -13,7 +13,7 @@ f(n => 3); >f(n => 3) : unknown > : ^^^^^^^ >f : (p: (t: T) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >n => 3 : (n: unknown) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : unknown diff --git a/tests/baselines/reference/typeInferenceLiteralUnion.types b/tests/baselines/reference/typeInferenceLiteralUnion.types index 3f9b568f67c22..bd30c26b08216 100644 --- a/tests/baselines/reference/typeInferenceLiteralUnion.types +++ b/tests/baselines/reference/typeInferenceLiteralUnion.types @@ -87,8 +87,8 @@ extentMixed = extent([new NumCoercible(10), 13, '12', true]); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extent([new NumCoercible(10), 13, '12', true]) : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->extent : (array: Array) => [Primitive | T, Primitive | T] | [undefined, undefined] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>extent : (array: Array) => [T | Primitive, T | Primitive] | [undefined, undefined] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[new NumCoercible(10), 13, '12', true] : (string | number | true | NumCoercible)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new NumCoercible(10) : NumCoercible diff --git a/tests/baselines/reference/typeInferenceReturnTypeCallback.types b/tests/baselines/reference/typeInferenceReturnTypeCallback.types index 9377a7ad0e11c..200d09ff59139 100644 --- a/tests/baselines/reference/typeInferenceReturnTypeCallback.types +++ b/tests/baselines/reference/typeInferenceReturnTypeCallback.types @@ -43,11 +43,11 @@ class Cons implements IList{ >this.foldRight(new Nil(), (t, acc) => { return new Cons(); }) : Nil > : ^^^^^^ >this.foldRight : (z: E, f: (t: T, acc: E) => E) => E -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >foldRight : (z: E, f: (t: T, acc: E) => E) => E -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Nil() : Nil > : ^^^^^^ >Nil : typeof Nil diff --git a/tests/baselines/reference/typeInferenceTypePredicate.types b/tests/baselines/reference/typeInferenceTypePredicate.types index abeb6f42bc026..61e3d604a7fea 100644 --- a/tests/baselines/reference/typeInferenceTypePredicate.types +++ b/tests/baselines/reference/typeInferenceTypePredicate.types @@ -16,7 +16,7 @@ const res = f((n): n is number => true); >f((n): n is number => true) : number > : ^^^^^^ >f : (predicate: (x: {}) => x is T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(n): n is number => true : (n: {}) => n is number > : ^ ^^^^^^^^^ >n : {} diff --git a/tests/baselines/reference/typeInferenceTypePredicate2.types b/tests/baselines/reference/typeInferenceTypePredicate2.types index ed9b0f4b954d2..1906a7c824a06 100644 --- a/tests/baselines/reference/typeInferenceTypePredicate2.types +++ b/tests/baselines/reference/typeInferenceTypePredicate2.types @@ -5,11 +5,11 @@ >[true, true, false, null] .filter((thing): thing is boolean => thing !== null) .map(thing => thing.toString()) : string[] > : ^^^^^^^^ >[true, true, false, null] .filter((thing): thing is boolean => thing !== null) .map : (callbackfn: (value: boolean, index: number, array: boolean[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[true, true, false, null] .filter((thing): thing is boolean => thing !== null) : boolean[] > : ^^^^^^^^^ >[true, true, false, null] .filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >[true, true, false, null] : boolean[] > : ^^^^^^^^^ >true : true @@ -21,7 +21,7 @@ .filter((thing): thing is boolean => thing !== null) >filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >(thing): thing is boolean => thing !== null : (thing: boolean) => thing is boolean > : ^ ^^^^^^^^^^^^^^ >thing : boolean @@ -33,7 +33,7 @@ .map(thing => thing.toString()); >map : (callbackfn: (value: boolean, index: number, array: boolean[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >thing => thing.toString() : (thing: boolean) => string > : ^ ^^^^^^^^^^^^^^^^^^^^ >thing : boolean @@ -41,9 +41,9 @@ >thing.toString() : string > : ^^^^^^ >thing.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >thing : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeInferenceWithExcessProperties.types b/tests/baselines/reference/typeInferenceWithExcessProperties.types index a41eaf290ed2b..055932151ddb0 100644 --- a/tests/baselines/reference/typeInferenceWithExcessProperties.types +++ b/tests/baselines/reference/typeInferenceWithExcessProperties.types @@ -25,7 +25,7 @@ parrot({ >parrot({ name: "TypeScript",}) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript",} : { name: string; } > : ^^^^^^^^^^^^^^^^^ @@ -41,7 +41,7 @@ parrot({ >parrot({ name: "TypeScript", age: 5,}) : { name: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript", age: 5,} : { name: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ parrot({ >parrot({ name: "TypeScript", age: function () { },}) : { name: string; age: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript", age: function () { },} : { name: string; age: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -85,7 +85,7 @@ parrot({ >parrot({ name: "TypeScript", sayHello() { },}) : { name: string; sayHello(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript", sayHello() { },} : { name: string; sayHello(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types b/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types index 7908696543cc4..a62330af4055b 100644 --- a/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types +++ b/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types @@ -70,19 +70,19 @@ declare function T( > allTranslations.a} args="a" /> : JSX.Element > : ^^^^^^^^^^^ >T : (props: TProps) => JSX.Element -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >getTranslationEntry : (allTranslations: Translations) => { args: [string]; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(allTranslations) => allTranslations.a : (allTranslations: Translations) => { args: [string]; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >allTranslations : Translations > : ^^^^^^^^^^^^ >allTranslations.a : { args: [string]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >allTranslations : Translations > : ^^^^^^^^^^^^ >a : { args: [string]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >args : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeInferenceWithTupleType.types b/tests/baselines/reference/typeInferenceWithTupleType.types index 6c805c41e359e..7e88b7f79b7cc 100644 --- a/tests/baselines/reference/typeInferenceWithTupleType.types +++ b/tests/baselines/reference/typeInferenceWithTupleType.types @@ -24,7 +24,7 @@ var combineResult = combine("string", 10); >combine("string", 10) : [string, number] > : ^^^^^^^^^^^^^^^^ >combine : (x: T, y: U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ >10 : 10 @@ -118,11 +118,11 @@ function zip(array1: T[], array2: U[]): [[T, U]] { >zipResult.push([array1[i], array2[i]]) : number > : ^^^^^^ >zipResult.push : (...items: [T, U][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >zipResult : [[T, U]] > : ^^^^^^^^ >push : (...items: [T, U][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >[array1[i], array2[i]] : [T, U] > : ^^^^^^ >array1[i] : T @@ -149,7 +149,7 @@ var zipResult = zip(["foo", "bar"], [5, 6]); >zip(["foo", "bar"], [5, 6]) : [[string, number]] > : ^^^^^^^^^^^^^^^^^^ >zip : (array1: T[], array2: U[]) => [[T, U]] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["foo", "bar"] : string[] > : ^^^^^^^^ >"foo" : "foo" @@ -213,7 +213,7 @@ expected = f1(undefined as ["a"[], "b"[]]); >f1(undefined as ["a"[], "b"[]]) : "a" > : ^^^ >f1 : (values: [T1[], T2[]]) => T1 -> : ^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >undefined as ["a"[], "b"[]] : ["a"[], "b"[]] > : ^^^^^^^^^^^^^^ >undefined : undefined @@ -227,7 +227,7 @@ expected = f2(undefined as ["a"[], "b"[]]); >f2(undefined as ["a"[], "b"[]]) : "a" > : ^^^ >f2 : (values: readonly [T1[], T2[]]) => T1 -> : ^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >undefined as ["a"[], "b"[]] : ["a"[], "b"[]] > : ^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeInferenceWithTypeAnnotation.types b/tests/baselines/reference/typeInferenceWithTypeAnnotation.types index 2ca4e07c2e132..9bc063adbca4c 100644 --- a/tests/baselines/reference/typeInferenceWithTypeAnnotation.types +++ b/tests/baselines/reference/typeInferenceWithTypeAnnotation.types @@ -13,7 +13,7 @@ f((n: number) => n); >f((n: number) => n) : number > : ^^^^^^ >f : (p: (t: T) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(n: number) => n : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/typeLiteralCallback.types b/tests/baselines/reference/typeLiteralCallback.types index a53a02077ecb5..8727ec9acdd10 100644 --- a/tests/baselines/reference/typeLiteralCallback.types +++ b/tests/baselines/reference/typeLiteralCallback.types @@ -37,11 +37,11 @@ test.fail(arg => foo.reject(arg)); >test.fail(arg => foo.reject(arg)) : void > : ^^^^ >test.fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -49,11 +49,11 @@ test.fail(arg => foo.reject(arg)); >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ @@ -61,11 +61,11 @@ test.fail2(arg => foo.reject(arg)); // Should be OK. Was: Error: Supplied para >test.fail2(arg => foo.reject(arg)) : void > : ^^^^ >test.fail2 : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail2 : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -73,11 +73,11 @@ test.fail2(arg => foo.reject(arg)); // Should be OK. Was: Error: Supplied para >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeMatch1.types b/tests/baselines/reference/typeMatch1.types index 6e10c4adc5165..4b11351c1160a 100644 --- a/tests/baselines/reference/typeMatch1.types +++ b/tests/baselines/reference/typeMatch1.types @@ -15,11 +15,11 @@ var x1: { z: number; f(n: number): string; f(s: string): number; } >z : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -35,7 +35,7 @@ var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; >s : string > : ^^^^^^ >x1 : { z: number; f(n: number): string; f(s: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^ var i:I; >i : I diff --git a/tests/baselines/reference/typeName1.types b/tests/baselines/reference/typeName1.types index 29415cc362a28..e74d94c737fef 100644 --- a/tests/baselines/reference/typeName1.types +++ b/tests/baselines/reference/typeName1.types @@ -23,11 +23,11 @@ var x1:{ f(s:string):number;f(n:number):string; }=3; >x1 : { f(s: string): number; f(n: number): string; } > : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >3 : 3 @@ -63,11 +63,11 @@ var x4:{ x;y;z:number;f(n:number):string;f(s:string):number; }=3; >z : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >3 : 3 @@ -87,11 +87,11 @@ var x5:{ (s:string):number;(n:number):string;x;y;z:number;f(n:number):string;f(s >z : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >3 : 3 diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.types b/tests/baselines/reference/typeOfThisInInstanceMember.types index 1644cd873a7b9..778004f41e4cd 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.types +++ b/tests/baselines/reference/typeOfThisInInstanceMember.types @@ -147,11 +147,11 @@ rs.forEach(x => { >rs.forEach(x => { x.foo; x.x; x.y;}) : void > : ^^^^ >rs.forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >rs : C[] > : ^^^ >forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >x => { x.foo; x.x; x.y;} : (x: C) => void > : ^ ^^^^^^^^^^^^ >x : C diff --git a/tests/baselines/reference/typeOfThisInInstanceMember2.types b/tests/baselines/reference/typeOfThisInInstanceMember2.types index 28bdaab97c12d..15773c519c75d 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember2.types +++ b/tests/baselines/reference/typeOfThisInInstanceMember2.types @@ -161,11 +161,11 @@ rs.forEach(x => { >rs.forEach(x => { x.foo; x.x; x.y; x.z;}) : void > : ^^^^ >rs.forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >rs : C[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >x => { x.foo; x.x; x.y; x.z;} : (x: C) => void > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : C diff --git a/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types b/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types index 6a1167201dfd4..13cadd488ef1c 100644 --- a/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types +++ b/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types @@ -75,11 +75,11 @@ class SomeClass { >this.state.data : string > : ^^^^^^ >this.state : { type: "stringVariant"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >this : this > : ^^^^ >state : { type: "stringVariant"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >data : string > : ^^^^^^ } @@ -128,11 +128,11 @@ class SomeClass2 { >this.state.data : number > : ^^^^^^ >this.state : { type: "numberVariant"; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >this : this > : ^^^^ >state : { type: "numberVariant"; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >data : number > : ^^^^^^ } diff --git a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types index 1985848171702..f41dfbfa4e809 100644 --- a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types +++ b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types @@ -13,11 +13,11 @@ function f(A: A): A { >A.toExponential(123) : string > : ^^^^^^ >A.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >A : A > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >123 : 123 > : ^^^ diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.types b/tests/baselines/reference/typeParameterArgumentEquivalence.types index 370625ea57cf1..3a6ee1899b363 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ y = x; // Shound be an error >y = x : (item: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.types b/tests/baselines/reference/typeParameterArgumentEquivalence2.types index 8004311d531d9..6be2eb490ba32 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: U) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ y = x; // Shound be an error >y = x : (item: U) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: U) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence3.types b/tests/baselines/reference/typeParameterArgumentEquivalence3.types index a17ecb0b9dd1a..d78aad77f4a5e 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence3.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence3.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ y = x; // Shound be an error >y = x : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence4.types b/tests/baselines/reference/typeParameterArgumentEquivalence4.types index b7eeffb9f3247..f721eeb805ec6 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence4.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence4.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => U -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ y = x; // Shound be an error >y = x : (item: any) => U -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => U -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence5.types b/tests/baselines/reference/typeParameterArgumentEquivalence5.types index fcfdf984a57a9..2fee1628f0d2c 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence5.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence5.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : () => (item: any) => T -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >x : () => (item: any) => U -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >y : () => (item: any) => T -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ y = x; // Shound be an error >y = x : () => (item: any) => U -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >y : () => (item: any) => T -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >x : () => (item: any) => U -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types index 160b91302c6e0..aac7b442ff329 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types @@ -20,7 +20,7 @@ var r = foo(1, 2); >foo(1, 2) : 2 > : ^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -32,7 +32,7 @@ var r = foo({}, 1); >foo({}, 1) : 1 > : ^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >1 : 1 @@ -62,7 +62,7 @@ var r2 = foo(a, b); >foo(a, b) : B > : ^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -74,7 +74,7 @@ var r3 = foo({ x: 1 }, { x: 2, y: 3 }); >foo({ x: 1 }, { x: 2, y: 3 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types index f4dfc82aec8b1..a8504d3847131 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types @@ -18,7 +18,7 @@ foo(1, ''); >foo(1, '') : number > : ^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -28,7 +28,7 @@ foo(1, {}); >foo(1, {}) : number > : ^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >{} : {} @@ -49,7 +49,7 @@ var r3 = foo(1, n); >foo(1, n) : number > : ^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >n : NumberVariant diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types index bba96b08526cf..c3a5835dca942 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types @@ -46,7 +46,7 @@ foo(1, 2, 3); >foo(1, 2, 3) : 3 > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -58,7 +58,7 @@ foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }); >foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }) : { x: number; y: string; z: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -94,7 +94,7 @@ foo(a, b, c); >foo(a, b, c) : C > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -106,7 +106,7 @@ foo(a, b, { foo: 1, bar: '', hm: true }); >foo(a, b, { foo: 1, bar: '', hm: true }) : { foo: number; bar: string; hm: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -130,7 +130,7 @@ foo((x: number, y) => { }, (x) => { }, () => { }); >foo((x: number, y) => { }, (x) => { }, () => { }) : () => void > : ^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: number, y) => { } : (x: number, y: any) => void > : ^ ^^ ^^ ^^^^^^^^^^^^^^ >x : number @@ -159,7 +159,7 @@ foo(a, a, a); >foo(a, a, a) : A > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >a : A @@ -171,7 +171,7 @@ foo(a, b, c); >foo(a, b, c) : C > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -183,7 +183,7 @@ foo(b, b, { foo: 1, bar: '', hm: '' }); >foo(b, b, { foo: 1, bar: '', hm: '' }) : { foo: number; bar: string; hm: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types index 8c012727d4624..0a88d904a27d6 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types @@ -46,7 +46,7 @@ foo(1, 2, ''); >foo(1, 2, '') : "" > : ^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -58,7 +58,7 @@ foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }); >foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }) : { x: number; y: number; z: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -94,7 +94,7 @@ foo(a, b, a); >foo(a, b, a) : A > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -106,7 +106,7 @@ foo(a, { foo: 1, bar: '', hm: true }, b); >foo(a, { foo: 1, bar: '', hm: true }, b) : B > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >{ foo: 1, bar: '', hm: true } : { foo: number; bar: string; hm: true; } @@ -130,7 +130,7 @@ foo((x: number, y: string) => { }, (x, y: boolean) => { }, () => { }); >foo((x: number, y: string) => { }, (x, y: boolean) => { }, () => { }) : () => void > : ^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: number, y: string) => { } : (x: number, y: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >x : number @@ -162,7 +162,7 @@ foo(b, a, c); >foo(b, a, c) : C > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >a : A @@ -174,7 +174,7 @@ foo(c, c, a); >foo(c, c, a) : A > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >c : C diff --git a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types index 2c52a0d496dfc..2b5e9bf0e62ad 100644 --- a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types +++ b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types @@ -54,31 +54,31 @@ a = i; // error >a = i : I > : ^ >a : { x: (y: T) => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >i : I > : ^ i = a; // error >i = a : { x: (y: T) => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >i : I > : ^ >a : { x: (y: T) => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ a2 = i2; // no error >a2 = i2 : I2 > : ^^ >a2 : { x: (y: any) => any; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >i2 : I2 > : ^^ i2 = a2; // no error >i2 = a2 : { x: (y: any) => any; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >i2 : I2 > : ^^ >a2 : { x: (y: any) => any; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/typeParameterConstModifiers.types b/tests/baselines/reference/typeParameterConstModifiers.types index b673b9e95563d..607e0b922227f 100644 --- a/tests/baselines/reference/typeParameterConstModifiers.types +++ b/tests/baselines/reference/typeParameterConstModifiers.types @@ -13,7 +13,7 @@ const x11 = f1('a'); >f1('a') : "a" > : ^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -23,7 +23,7 @@ const x12 = f1(['a', ['b', 'c']]); >f1(['a', ['b', 'c']]) : readonly ["a", readonly ["b", "c"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >['a', ['b', 'c']] : ["a", ["b", "c"]] > : ^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -41,7 +41,7 @@ const x13 = f1({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }); >f1({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }) : { readonly a: 1; readonly b: "c"; readonly d: readonly ["e", 2, true, { readonly f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] } : { a: 1; b: "c"; d: ["e", 2, true, { f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -81,7 +81,7 @@ const x21 = f2('a'); >f2('a') : "a" > : ^^^ >f2 : (x: T | undefined) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -91,7 +91,7 @@ const x22 = f2(['a', ['b', 'c']]); >f2(['a', ['b', 'c']]) : readonly ["a", readonly ["b", "c"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: T | undefined) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >['a', ['b', 'c']] : ["a", ["b", "c"]] > : ^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -109,7 +109,7 @@ const x23 = f2({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }); >f2({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }) : { readonly a: 1; readonly b: "c"; readonly d: readonly ["e", 2, true, { readonly f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: T | undefined) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >{ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] } : { a: 1; b: "c"; d: ["e", 2, true, { f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -149,7 +149,7 @@ const x31 = f3("hello"); >f3("hello") : "hello"[] > : ^^^^^^^^^ >f3 : (x: T) => T[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -159,7 +159,7 @@ const x32 = f3("hello"); >f3("hello") : "hello"[] > : ^^^^^^^^^ >f3 : (x: T) => T[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -175,7 +175,7 @@ const x41 = f4([[1, 'x'], [2, 'y']]); >f4([[1, 'x'], [2, 'y']]) : readonly [1, "x"] | readonly [2, "y"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (obj: [T, T]) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[[1, 'x'], [2, 'y']] : [[1, "x"], [2, "y"]] > : ^^^^^^^^^^^^^^^^^^^^ >[1, 'x'] : [1, "x"] @@ -197,7 +197,7 @@ const x42 = f4([{ a: 1, b: 'x' }, { a: 2, b: 'y' }]); >f4([{ a: 1, b: 'x' }, { a: 2, b: 'y' }]) : { readonly a: 1; readonly b: "x"; } | { readonly a: 2; readonly b: "y"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (obj: [T, T]) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[{ a: 1, b: 'x' }, { a: 2, b: 'y' }] : [{ a: 1; b: "x"; }, { a: 2; b: "y"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: 1, b: 'x' } : { a: 1; b: "x"; } @@ -237,7 +237,7 @@ const x51 = f5({ x: [1, 'x'], y: [2, 'y'] }); >f5({ x: [1, 'x'], y: [2, 'y'] }) : readonly [1, "x"] | readonly [2, "y"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (obj: { x: T; y: T; }) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ x: [1, 'x'], y: [2, 'y'] } : { x: [1, "x"]; y: [2, "y"]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [1, "x"] @@ -263,7 +263,7 @@ const x52 = f5({ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } }); >f5({ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } }) : { readonly a: 1; readonly b: "x"; } | { readonly a: 2; readonly b: "y"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (obj: { x: T; y: T; }) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } } : { x: { a: 1; b: "x"; }; y: { a: 2; b: "y"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { a: 1; b: "x"; } @@ -303,7 +303,7 @@ const x61 = f6(1, 'b', { a: 1, b: 'x' }); >f6(1, 'b', { a: 1, b: 'x' }) : readonly [1, "b", { readonly a: 1; readonly b: "x"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >'b' : "b" @@ -325,7 +325,7 @@ const x62 = f6(...[1, 'b']); >f6(...[1, 'b']) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'b'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'b'] : [number, string] @@ -341,7 +341,7 @@ const x63 = f6(true, ...[1, 'b']); >f6(true, ...[1, 'b']) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'b'] : string | number @@ -359,7 +359,7 @@ const x64 = f6(...([1, 'b'])); >f6(...([1, 'b'])) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'b']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'b']) : [number, string] @@ -377,7 +377,7 @@ const x65 = f6(true, ...([1, 'b'])); >f6(true, ...([1, 'b'])) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'b']) : string | number @@ -600,7 +600,7 @@ const test = inners(1,2,3,4,5); >inners(1,2,3,4,5) : [2, 3, 4] > : ^^^^^^^^^ >inners : (...args: readonly [unknown, ...T, unknown]) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -624,7 +624,7 @@ const test2 = inners2([1,2,3,4,5]); >inners2([1,2,3,4,5]) : [2, 3, 4] > : ^^^^^^^^^ >inners2 : (args: readonly [unknown, ...T, unknown]) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1,2,3,4,5] : [number, 2, 3, 4, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -923,7 +923,7 @@ const a = fn("a", false); >fn("a", false) : ["a", false] > : ^^^^^^^^^^^^ >fn : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"a" : "a" > : ^^^ >false : false @@ -947,7 +947,7 @@ fa1(["hello", 42]); >fa1(["hello", 42]) : ["hello", 42] > : ^^^^^^^^^^^^^ >fa1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", 42] : ["hello", 42] > : ^^^^^^^^^^^^^ >"hello" : "hello" @@ -959,7 +959,7 @@ fa2(["hello", 42]); >fa2(["hello", 42]) : readonly ["hello", 42] > : ^^^^^^^^^^^^^^^^^^^^^^ >fa2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", 42] : ["hello", 42] > : ^^^^^^^^^^^^^ >"hello" : "hello" @@ -983,7 +983,7 @@ fb1("hello", 42); >fb1("hello", 42) : ["hello", 42] > : ^^^^^^^^^^^^^ >fb1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -993,7 +993,7 @@ fb2("hello", 42); >fb2("hello", 42) : readonly ["hello", 42] > : ^^^^^^^^^^^^^^^^^^^^^^ >fb2 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -1023,7 +1023,7 @@ fc1((a: string, b: number) => {}, "hello", 42); >fc1((a: string, b: number) => {}, "hello", 42) : ["hello", 42] > : ^^^^^^^^^^^^^ >fc1 : (f: (...args: T) => void, ...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(a: string, b: number) => {} : (a: string, b: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : string @@ -1039,7 +1039,7 @@ fc2((a: string, b: number) => {}, "hello", 42); >fc2((a: string, b: number) => {}, "hello", 42) : readonly ["hello", 42] > : ^^^^^^^^^^^^^^^^^^^^^^ >fc2 : (f: (...args: T) => void, ...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(a: string, b: number) => {} : (a: string, b: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : string @@ -1073,7 +1073,7 @@ fd1(["hello", "world"]); >fd1(["hello", "world"]) : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >fd1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", "world"] : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1085,7 +1085,7 @@ fd1([1, 2, 3]); >fd1([1, 2, 3]) : [1, 2, 3] > : ^^^^^^^^^ >fd1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [1, 2, 3] > : ^^^^^^^^^ >1 : 1 @@ -1099,7 +1099,7 @@ fd2(["hello", "world"]); >fd2(["hello", "world"]) : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >fd2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", "world"] : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1111,7 +1111,7 @@ fd2([1, 2, 3]); >fd2([1, 2, 3]) : [1, 2, 3] > : ^^^^^^^^^ >fd2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [1, 2, 3] > : ^^^^^^^^^ >1 : 1 @@ -1125,7 +1125,7 @@ fd3(["hello", "world"]); >fd3(["hello", "world"]) : readonly ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fd3 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", "world"] : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1137,7 +1137,7 @@ fd3([1, 2, 3]); >fd3([1, 2, 3]) : readonly [1, 2, 3] > : ^^^^^^^^^^^^^^^^^^ >fd3 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [1, 2, 3] > : ^^^^^^^^^ >1 : 1 @@ -1159,7 +1159,7 @@ fn1({ foo: ["hello", 123] }, { foo: [true]}); >fn1({ foo: ["hello", 123] }, { foo: [true]}) : [{ readonly foo: ["hello", 123]; }, { readonly foo: [true]; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ foo: ["hello", 123] } : { foo: ["hello", 123]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >foo : ["hello", 123] diff --git a/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types b/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types index 77496e25d6a6e..1ba2a7f3e43a3 100644 --- a/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types +++ b/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types @@ -17,8 +17,8 @@ const result1 = test1({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test1({ prop: "foo", nested: { nestedProp: "bar", },}) : [{ readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }, { readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test1 : (obj: { [K in keyof T]: T[K]; }) => [T, { [K in keyof T]: T[K]; }] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test1 : (obj: { [K in keyof T]: T[K]; }) => [T, typeof obj] +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", nested: { nestedProp: "bar", },} : { prop: "foo"; nested: { nestedProp: "bar"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -59,8 +59,8 @@ const result2 = test2({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test2({ prop: "foo", nested: { nestedProp: "bar", },}) : [{ prop: "foo"; nested: { readonly nestedProp: "bar"; }; }, { readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test2 : (obj: { readonly [K in keyof T]: T[K]; }) => [T, { readonly [K in keyof T]: T[K]; }] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test2 : (obj: { readonly [K in keyof T]: T[K]; }) => [T, typeof obj] +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", nested: { nestedProp: "bar", },} : { prop: "foo"; nested: { nestedProp: "bar"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -101,8 +101,8 @@ const result3 = test3({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test3({ prop: "foo", nested: { nestedProp: "bar", },}) : [{ readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }, { prop: "foo"; nested: { readonly nestedProp: "bar"; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test3 : (obj: { -readonly [K in keyof T]: T[K]; }) => [T, { -readonly [K in keyof T]: T[K]; }] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test3 : (obj: { -readonly [K in keyof T]: T[K]; }) => [T, typeof obj] +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", nested: { nestedProp: "bar", },} : { prop: "foo"; nested: { nestedProp: "bar"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -142,7 +142,7 @@ const result4 = test4(["1", 2]); >test4(["1", 2]) : readonly ["1", 2] > : ^^^^^^^^^^^^^^^^^ >test4 : (arr: { [K in keyof T]: T[K]; }) => T -> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["1", 2] : ["1", 2] > : ^^^^^^^^ >"1" : "1" @@ -168,7 +168,7 @@ const result5 = test5({ a: "foo" }); >test5({ a: "foo" }) : readonly [{ readonly a: "foo"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test5 : (...args: { [K in keyof T]: T[K]; }) => T -> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ a: "foo" } : { a: "foo"; } > : ^^^^^^^^^^^^^ >a : "foo" diff --git a/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types b/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types index 5cf87e9d832a8..de8a31c740a7e 100644 --- a/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types +++ b/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types @@ -33,7 +33,7 @@ const result = test({ >test({ produceThing: {} as { type: "foo"; }, useIt: { type: "foo", }, extra: 10,}) : { readonly produceThing: { type: "foo"; }; readonly useIt: { readonly type: "foo"; }; readonly extra: 10; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : >(config: { produceThing: T1; } & TConfig) => TConfig -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ produceThing: {} as { type: "foo"; }, useIt: { type: "foo", }, extra: 10,} : { produceThing: { type: "foo"; }; useIt: { type: "foo"; }; extra: 10; } > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeParameterEquality.types b/tests/baselines/reference/typeParameterEquality.types index ae5e1e9847999..31ec35375438c 100644 --- a/tests/baselines/reference/typeParameterEquality.types +++ b/tests/baselines/reference/typeParameterEquality.types @@ -13,7 +13,7 @@ class C { set x(p: (a: U) => U) {} >x : (a: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >p : (a: U) => U > : ^ ^^ ^^ ^^^^^ >a : U diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types index 95df5f859229b..48de5ba5d4613 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types @@ -19,11 +19,11 @@ function fee() { t.toString; // ok >t.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function fee2() { @@ -44,11 +44,11 @@ function fee2() { t.toString; // ok >t.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f(x: T) { diff --git a/tests/baselines/reference/typeParameterFixingWithConstraints.types b/tests/baselines/reference/typeParameterFixingWithConstraints.types index f6ef385232376..bfb18b3b0a6ee 100644 --- a/tests/baselines/reference/typeParameterFixingWithConstraints.types +++ b/tests/baselines/reference/typeParameterFixingWithConstraints.types @@ -31,11 +31,11 @@ foo.foo({ bar: null }, bar => null, bar => null); >foo.foo({ bar: null }, bar => null, bar => null) : { bar: any; } > : ^^^^^^^^^^^^^ >foo.foo : (bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : IFoo > : ^^^^ >foo : (bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ bar: null } : { bar: null; } > : ^^^^^^^^^^^^^^ >bar : null diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types index e360a3c33db55..8c0df2bef7494 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types @@ -19,7 +19,7 @@ function f(y: T, f: (x: T) => U, x: T): [T, U] { return [y, f(x)]; } >f(x) : U > : ^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -42,7 +42,7 @@ var d = f(b, x => x.a, a); // type [A, A] >f(b, x => x.a, a) : [A, A] > : ^^^^^^ >f : (y: T, f: (x: T) => U, x: T) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >x => x.a : (x: A) => A @@ -64,7 +64,7 @@ var d2 = f(b, x => x.a, null); // type [B, A] >f(b, x => x.a, null) : [B, A] > : ^^^^^^ >f : (y: T, f: (x: T) => U, x: T) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >x => x.a : (x: B) => A @@ -84,7 +84,7 @@ var d3 = f(b, x => x.b, null); // type [B, any] >f(b, x => x.b, null) : [B, any] > : ^^^^^^^^ >f : (y: T, f: (x: T) => U, x: T) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >x => x.b : (x: B) => any diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types index caa3dcfa9ffaf..42f1ca3d701a8 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types @@ -23,7 +23,7 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return >p1(y) : U > : ^ >p1 : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : T > : ^ @@ -47,7 +47,7 @@ var d = f(a, b, x => x, x => x); // A => A not assignable to A => B >f(a, b, x => x, x => x) : [A, B] > : ^^^^^^ >f : (y: T, y1: U, p: (z: U) => T, p1: (x: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types index d91d3c952c5ee..4e538eec3f2f2 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types @@ -23,7 +23,7 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r >pf2(t1) : U > : ^ >pf2 : (t2: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >t1 : T > : ^ @@ -47,7 +47,7 @@ var d = f(a, b, u2 => u2.b, t2 => t2); >f(a, b, u2 => u2.b, t2 => t2) : [A, B] > : ^^^^^^ >f : (t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types index 8a3e1436793f8..552a5f4c5603f 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types @@ -23,7 +23,7 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return >p1(y) : U > : ^ >p1 : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : T > : ^ @@ -46,7 +46,7 @@ var d = f(a, b, x => x, x => x); // Type [A, B] >f(a, b, x => x, x => x) : [A, B] > : ^^^^^^ >f : (y: T, y1: U, p: (z: U) => T, p1: (x: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types index d6247fd57119f..ada4acdbcd0d9 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types @@ -23,7 +23,7 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r >pf2(t1) : U > : ^ >pf2 : (t2: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >t1 : T > : ^ @@ -46,7 +46,7 @@ var d = f(a, b, u2 => u2.b, t2 => t2); >f(a, b, u2 => u2.b, t2 => t2) : [any, B] > : ^^^^^^^^ >f : (t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterLeak.types b/tests/baselines/reference/typeParameterLeak.types index 5c79660c23b14..23b5264b75cc5 100644 --- a/tests/baselines/reference/typeParameterLeak.types +++ b/tests/baselines/reference/typeParameterLeak.types @@ -33,19 +33,19 @@ interface BoxFactory { declare const f: BoxFactoryFactory; >f : ((arg: { x: string; }) => BoxFactory> | undefined) | ((arg: { y: string; }) => BoxFactory> | undefined) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^ const b = f({ x: "", y: "" })?.getBox(); >b : Box<{ x: string; }> | Box<{ y: string; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >f({ x: "", y: "" })?.getBox() : Box<{ x: string; }> | Box<{ y: string; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >f({ x: "", y: "" })?.getBox : (() => Box<{ y: string; }>) | (() => Box<{ x: string; }>) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >f({ x: "", y: "" }) : BoxFactory> | BoxFactory> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >f : ((arg: { x: string; }) => BoxFactory> | undefined) | ((arg: { y: string; }) => BoxFactory> | undefined) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^ >{ x: "", y: "" } : { x: string; y: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -57,20 +57,20 @@ const b = f({ x: "", y: "" })?.getBox(); >"" : "" > : ^^ >getBox : (() => Box<{ y: string; }>) | (() => Box<{ x: string; }>) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ if (b) { >b : Box<{ x: string; }> | Box<{ y: string; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ const x = b.data; >x : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b.data : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b : Box<{ x: string; }> | Box<{ y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >data : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typeParametersAndParametersInComputedNames.types b/tests/baselines/reference/typeParametersAndParametersInComputedNames.types index b65942314f5ce..2dbb4e038ae39 100644 --- a/tests/baselines/reference/typeParametersAndParametersInComputedNames.types +++ b/tests/baselines/reference/typeParametersAndParametersInComputedNames.types @@ -22,7 +22,7 @@ class A { >foo(a) : string > : ^^^^^^ >foo : (a: T) => string -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any > : ^^^ >a : T diff --git a/tests/baselines/reference/typeParametersAvailableInNestedScope3.types b/tests/baselines/reference/typeParametersAvailableInNestedScope3.types index 9c7bb6783d27e..91fb66dbb485f 100644 --- a/tests/baselines/reference/typeParametersAvailableInNestedScope3.types +++ b/tests/baselines/reference/typeParametersAvailableInNestedScope3.types @@ -43,21 +43,21 @@ function foo(v: T) { return { a, b }; >{ a, b } : { a: (a: T_1) => T_1; b: () => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >a : (a: T_1) => T_1 > : ^ ^^ ^^ ^^^^^^^^ >b : () => T -> : ^^^^^^^ +> : ^^^^^^ } return { a, b, c }; >{ a, b, c } : { a: (a: T_1) => T_1; b: () => T; c: (v: T_1) => { a: (a: T_2) => T_2; b: () => T_1; }; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a : (a: T_1) => T_1 > : ^ ^^ ^^ ^^^^^^^^ >b : () => T -> : ^^^^^^^ +> : ^^^^^^ >c : (v: T_1) => { a: (a: T_2) => T_2; b: () => T_1; } -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typePredicateFreshLiteralWidening.types b/tests/baselines/reference/typePredicateFreshLiteralWidening.types index bfc78e153ff1c..ca41e15ec3ec5 100644 --- a/tests/baselines/reference/typePredicateFreshLiteralWidening.types +++ b/tests/baselines/reference/typePredicateFreshLiteralWidening.types @@ -112,13 +112,13 @@ const filteredValues2 = values2.filter(isNotNull); >values2.filter(isNotNull) : ("1" | "2")[] > : ^^^^^^^^^^^^^ >values2.filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >values2 : ("1" | "2" | null)[] > : ^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNotNull : (value: T | null) => value is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const values1 = [item1, item2, item3].map(item => item.value); >values1 : ("1" | "2" | null)[] @@ -126,7 +126,7 @@ const values1 = [item1, item2, item3].map(item => item.value); >[item1, item2, item3].map(item => item.value) : ("1" | "2" | null)[] > : ^^^^^^^^^^^^^^^^^^^^ >[item1, item2, item3].map : (callbackfn: (value: { value: "1"; } | { value: "2"; } | { value: null; }, index: number, array: ({ value: "1"; } | { value: "2"; } | { value: null; })[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[item1, item2, item3] : ({ value: "1"; } | { value: "2"; } | { value: null; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item1 : { value: "1"; } @@ -136,7 +136,7 @@ const values1 = [item1, item2, item3].map(item => item.value); >item3 : { value: null; } > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: { value: "1"; } | { value: "2"; } | { value: null; }, index: number, array: ({ value: "1"; } | { value: "2"; } | { value: null; })[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >item => item.value : (item: { value: "1"; } | { value: "2"; } | { value: null; }) => "1" | "2" | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : { value: "1"; } | { value: "2"; } | { value: null; } @@ -154,11 +154,11 @@ const filteredValues1 = values1.filter(isNotNull); >values1.filter(isNotNull) : ("1" | "2")[] > : ^^^^^^^^^^^^^ >values1.filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >values1 : ("1" | "2" | null)[] > : ^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNotNull : (value: T | null) => value is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typePredicateInLoop.types b/tests/baselines/reference/typePredicateInLoop.types index 707e9e2a0c495..9cd7e2a04ea4f 100644 --- a/tests/baselines/reference/typePredicateInLoop.types +++ b/tests/baselines/reference/typePredicateInLoop.types @@ -53,7 +53,7 @@ export function y(arg: Type): void { >guard(arg) : boolean > : ^^^^^^^ >guard : (arg: Type) => arg is TypeExt -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : Type > : ^^^^ @@ -71,7 +71,7 @@ export function y(arg: Type): void { >otherFunc(ITEM, arg) : void > : ^^^^ >otherFunc : (arg1: Type, arg2: TypeExt) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ITEM : Type > : ^^^^ >arg : TypeExt diff --git a/tests/baselines/reference/typePredicateStructuralMatch.types b/tests/baselines/reference/typePredicateStructuralMatch.types index f8a82f247bc85..b39cb915cb3a3 100644 --- a/tests/baselines/reference/typePredicateStructuralMatch.types +++ b/tests/baselines/reference/typePredicateStructuralMatch.types @@ -7,7 +7,7 @@ getResults1([]); >getResults1([]) : Results > : ^^^^^^^ >getResults1 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -15,7 +15,7 @@ getResults1({data: []}); >getResults1({data: []}) : Results > : ^^^^^^^ >getResults1 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{data: []} : { data: undefined[]; } > : ^^^^^^^^^^^^^^^^^^^^^^ >data : undefined[] @@ -27,7 +27,7 @@ getResults2([]); >getResults2([]) : Results > : ^^^^^^^ >getResults2 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -35,7 +35,7 @@ getResults2({data: []}); >getResults2({data: []}) : Results > : ^^^^^^^ >getResults2 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{data: []} : { data: undefined[]; } > : ^^^^^^^^^^^^^^^^^^^^^^ >data : undefined[] @@ -67,11 +67,11 @@ function isResponseInData(value: T | { data: T}): value is { data: T } { >value.hasOwnProperty('data') : boolean > : ^^^^^^^ >value.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : T | { data: T; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'data' : "data" > : ^^^^^^ } @@ -90,13 +90,13 @@ function getResults1(value: Results | { data: Results }): Results { >isResponseInData(value) : boolean > : ^^^^^^^ >isResponseInData : (value: T | { data: T; }) => value is { data: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : Results | { data: Results; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >value.data : Results > : ^^^^^^^ >value : { data: Results; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : Results > : ^^^^^^^ >value : Results @@ -117,11 +117,11 @@ function isPlainResponse(value: T | { data: T}): value is T { >value.hasOwnProperty('data') : boolean > : ^^^^^^^ >value.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : T | { data: T; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'data' : "data" > : ^^^^^^ } @@ -140,15 +140,15 @@ function getResults2(value: Results | { data: Results }): Results { >isPlainResponse(value) : boolean > : ^^^^^^^ >isPlainResponse : (value: T | { data: T; }) => value is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : Results | { data: Results; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >value : Results > : ^^^^^^^ >value.data : Results > : ^^^^^^^ >value : { data: Results; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : Results > : ^^^^^^^ } diff --git a/tests/baselines/reference/typePredicateTopLevelTypeParameter.types b/tests/baselines/reference/typePredicateTopLevelTypeParameter.types index 2768c38cff38c..f991272ff56b1 100644 --- a/tests/baselines/reference/typePredicateTopLevelTypeParameter.types +++ b/tests/baselines/reference/typePredicateTopLevelTypeParameter.types @@ -30,7 +30,7 @@ const admins = ['Mike', 'Joe'].map(e => getPermissions(e)); >['Mike', 'Joe'].map(e => getPermissions(e)) : ("admin" | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >['Mike', 'Joe'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >['Mike', 'Joe'] : string[] > : ^^^^^^^^ >'Mike' : "Mike" @@ -38,7 +38,7 @@ const admins = ['Mike', 'Joe'].map(e => getPermissions(e)); >'Joe' : "Joe" > : ^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >e => getPermissions(e) : (e: string) => "admin" | undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e : string @@ -71,11 +71,11 @@ const foundAdmins = admins.filter(isDefined); // "admin"[] >admins.filter(isDefined) : "admin"[] > : ^^^^^^^^^ >admins.filter : { (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => unknown, thisArg?: any): ("admin" | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >admins : ("admin" | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => unknown, thisArg?: any): ("admin" | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isDefined : (a: T | undefined) => a is T -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typePredicateWithThisParameter.types b/tests/baselines/reference/typePredicateWithThisParameter.types index b1856b0e08bc9..171a485208f4b 100644 --- a/tests/baselines/reference/typePredicateWithThisParameter.types +++ b/tests/baselines/reference/typePredicateWithThisParameter.types @@ -54,7 +54,7 @@ if (isFoo1(test)) { >isFoo1(test) : boolean > : ^^^^^^^ >isFoo1 : (object: {}) => object is Foo -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >test : Foo | Bar > : ^^^^^^^^^ @@ -75,7 +75,7 @@ if (isFoo2(test)) { >isFoo2(test) : boolean > : ^^^^^^^ >isFoo2 : (this: void, object: {}) => object is Foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >test : Foo | Bar > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types b/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types index db6a23340b3eb..f88113a869107 100644 --- a/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types +++ b/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types @@ -24,11 +24,11 @@ if (isOneOf(fruit.kind, ['apple', 'banana'] as const)) { >isOneOf(fruit.kind, ['apple', 'banana'] as const) : boolean > : ^^^^^^^ >isOneOf : (item: T, array: readonly U[]) => item is U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >fruit.kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fruit : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >['apple', 'banana'] as const : readonly ["apple", "banana"] @@ -44,13 +44,13 @@ if (isOneOf(fruit.kind, ['apple', 'banana'] as const)) { >fruit.kind : "apple" | "banana" > : ^^^^^^^^^^^^^^^^^^ >fruit : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" > : ^^^^^^^^^^^^^^^^^^ fruit >fruit : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ } declare const fruit2: { kind: 'apple'} | { kind: 'banana' } | { kind: 'cherry' } @@ -69,7 +69,7 @@ const kind = fruit2.kind; >fruit2.kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fruit2 : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -77,7 +77,7 @@ if (isOneOf(kind, ['apple', 'banana'] as const)) { >isOneOf(kind, ['apple', 'banana'] as const) : boolean > : ^^^^^^^ >isOneOf : (item: T, array: readonly U[]) => item is U -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >['apple', 'banana'] as const : readonly ["apple", "banana"] @@ -93,11 +93,11 @@ if (isOneOf(kind, ['apple', 'banana'] as const)) { >fruit2.kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fruit2 : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ fruit2 >fruit2 : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typePredicatesInUnion.types b/tests/baselines/reference/typePredicatesInUnion.types index f587828f323bc..b0e2257fe5cc1 100644 --- a/tests/baselines/reference/typePredicatesInUnion.types +++ b/tests/baselines/reference/typePredicatesInUnion.types @@ -32,11 +32,11 @@ function f(o: Or, x: {}) { >o.pred(x) : boolean > : ^^^^^^^ >o.pred : ((x: {}) => x is boolean) | ((x: {}) => x is string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >o : Or > : ^^ >pred : ((x: {}) => x is boolean) | ((x: {}) => x is string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >x : {} > : ^^ diff --git a/tests/baselines/reference/typePredicatesInUnion2.types b/tests/baselines/reference/typePredicatesInUnion2.types index 7460e3eb73b15..8c8bbf9eddc47 100644 --- a/tests/baselines/reference/typePredicatesInUnion2.types +++ b/tests/baselines/reference/typePredicatesInUnion2.types @@ -15,25 +15,25 @@ declare function f(p: typeof isString | typeof isNumber): void; >f : (p: typeof isString | typeof isNumber) => void > : ^ ^^ ^^^^^ >p : ((x: any) => x is string) | ((x: any) => x is number) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >isString : (x: any) => x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f(isString); >f(isString) : void > : ^^^^ >f : (p: typeof isString | typeof isNumber) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >isString : (x: any) => x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f(isNumber); >f(isNumber) : void > : ^^^^ >f : (p: typeof isString | typeof isNumber) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typePredicatesInUnion3.types b/tests/baselines/reference/typePredicatesInUnion3.types index aaf88605c9a3f..649515ad8ad25 100644 --- a/tests/baselines/reference/typePredicatesInUnion3.types +++ b/tests/baselines/reference/typePredicatesInUnion3.types @@ -183,11 +183,11 @@ if (val.predicate()) { >val.predicate() : boolean > : ^^^^^^^ >val.predicate : (() => this is HasAttribute) | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >val : Type1 | Type2 > : ^^^^^^^^^^^^^ >predicate : (() => this is HasAttribute) | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ assertType(val.attribute); // Error >assertType(val.attribute) : void diff --git a/tests/baselines/reference/typePredicatesInUnion_noMatch.types b/tests/baselines/reference/typePredicatesInUnion_noMatch.types index 8191c242c7eb5..c2a1a4fab4418 100644 --- a/tests/baselines/reference/typePredicatesInUnion_noMatch.types +++ b/tests/baselines/reference/typePredicatesInUnion_noMatch.types @@ -38,11 +38,11 @@ function f(o: Or, x: {}, y: {}) { >o.pred(x, y) : boolean > : ^^^^^^^ >o.pred : ((x: {}, y: {}) => x is boolean) | ((x: {}, y: {}) => y is string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >o : Or > : ^^ >pred : ((x: {}, y: {}) => x is boolean) | ((x: {}, y: {}) => y is string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >x : {} > : ^^ >y : {} diff --git a/tests/baselines/reference/typePredicatesOptionalChaining1.types b/tests/baselines/reference/typePredicatesOptionalChaining1.types index 2256cdd08c72a..fbaaef7607fbe 100644 --- a/tests/baselines/reference/typePredicatesOptionalChaining1.types +++ b/tests/baselines/reference/typePredicatesOptionalChaining1.types @@ -85,15 +85,15 @@ isNotNull(x?.y?.z) ? title(x.y.z) : null; // should not error >isNotNull(x?.y?.z) : boolean > : ^^^^^^^ >isNotNull : (x: A) => x is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x?.y?.z : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->x?.y : { z?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x?.y : { z?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >x : X > : ^ ->y : { z?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>y : { z?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : string | undefined > : ^^^^^^^^^^^^^^^^^^ >title(x.y.z) : string @@ -102,12 +102,12 @@ isNotNull(x?.y?.z) ? title(x.y.z) : null; // should not error > : ^ ^^ ^^^^^^^^^^^ >x.y.z : string > : ^^^^^^ ->x.y : { z?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.y : { z?: string; } +> : ^^^^^^ ^^^ >x : X > : ^ ->y : { z?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>y : { z?: string; } +> : ^^^^^^ ^^^ >z : string > : ^^^^^^ diff --git a/tests/baselines/reference/typePredicatesOptionalChaining2.types b/tests/baselines/reference/typePredicatesOptionalChaining2.types index 3cc9119dfd27d..5838a1ccd6a8b 100644 --- a/tests/baselines/reference/typePredicatesOptionalChaining2.types +++ b/tests/baselines/reference/typePredicatesOptionalChaining2.types @@ -73,7 +73,7 @@ const getName2 = (person?: Person): string => { >isString(person?.name) : boolean > : ^^^^^^^ >isString : (value: any) => value is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >person?.name : string | undefined > : ^^^^^^^^^^^^^^^^^^ >person : Person | undefined diff --git a/tests/baselines/reference/typePredicatesOptionalChaining3.types b/tests/baselines/reference/typePredicatesOptionalChaining3.types index 31d2d0f9d5951..4c53548c28ba9 100644 --- a/tests/baselines/reference/typePredicatesOptionalChaining3.types +++ b/tests/baselines/reference/typePredicatesOptionalChaining3.types @@ -68,8 +68,8 @@ function getBreedSizeWithFunction(animal: Animal): string | undefined { > : ^^^^^^^ >isNil(animal?.breed?.size) : boolean > : ^^^^^^^ ->isNil : (value: unknown) => value is null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isNil : (value: unknown) => value is undefined | null +> : ^ ^^ ^^^^^ >animal?.breed?.size : string | undefined > : ^^^^^^^^^^^^^^^^^^ >animal?.breed : Breed | undefined diff --git a/tests/baselines/reference/typeReferenceDirectives11.types b/tests/baselines/reference/typeReferenceDirectives11.types index 2010a0dcc8640..ed150bfb6ab83 100644 --- a/tests/baselines/reference/typeReferenceDirectives11.types +++ b/tests/baselines/reference/typeReferenceDirectives11.types @@ -3,7 +3,7 @@ === /mod2.ts === import {foo} from "./mod1"; >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = foo(); >bar : Lib @@ -11,7 +11,7 @@ export const bar = foo(); >foo() : Lib > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } diff --git a/tests/baselines/reference/typeReferenceDirectives12.types b/tests/baselines/reference/typeReferenceDirectives12.types index 61fcff511ad2b..b37d4c672e421 100644 --- a/tests/baselines/reference/typeReferenceDirectives12.types +++ b/tests/baselines/reference/typeReferenceDirectives12.types @@ -19,13 +19,13 @@ export const foo = new Cls().foo(); >new Cls().foo() : Lib > : ^^^ >new Cls().foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >new Cls() : Cls > : ^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = Cls.bar(); >bar : Lib @@ -33,11 +33,11 @@ export const bar = Cls.bar(); >Cls.bar() : Lib > : ^^^ >Cls.bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } @@ -65,7 +65,7 @@ Cls.prototype.foo = function() { return undefined; } >Cls.prototype.foo = function() { return undefined; } : () => any > : ^^^^^^^^^ >Cls.prototype.foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls.prototype : Cls > : ^^^ >Cls : typeof Cls @@ -73,7 +73,7 @@ Cls.prototype.foo = function() { return undefined; } >prototype : Cls > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >function() { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeReferenceDirectives13.types b/tests/baselines/reference/typeReferenceDirectives13.types index a1ae4b1679731..de01a5e6cc406 100644 --- a/tests/baselines/reference/typeReferenceDirectives13.types +++ b/tests/baselines/reference/typeReferenceDirectives13.types @@ -11,7 +11,7 @@ export interface A { >x : () => typeof $ > : ^^^^^^ >$ : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } === /ref.d.ts === diff --git a/tests/baselines/reference/typeReferenceDirectives5.types b/tests/baselines/reference/typeReferenceDirectives5.types index e48a27e966274..3e22fb4d984dc 100644 --- a/tests/baselines/reference/typeReferenceDirectives5.types +++ b/tests/baselines/reference/typeReferenceDirectives5.types @@ -9,9 +9,9 @@ import {$} from "./ref"; export interface A { x: typeof $; >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >$ : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } === /ref.d.ts === export interface $ { x } diff --git a/tests/baselines/reference/typeReferenceDirectives8.types b/tests/baselines/reference/typeReferenceDirectives8.types index bfce45067c6e5..f84010e0d9529 100644 --- a/tests/baselines/reference/typeReferenceDirectives8.types +++ b/tests/baselines/reference/typeReferenceDirectives8.types @@ -3,7 +3,7 @@ === /mod2.ts === import {foo} from "./mod1"; >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = foo(); >bar : Lib @@ -11,7 +11,7 @@ export const bar = foo(); >foo() : Lib > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } diff --git a/tests/baselines/reference/typeReferenceDirectives9.types b/tests/baselines/reference/typeReferenceDirectives9.types index 640b8d0e87f19..3baaa19c90a76 100644 --- a/tests/baselines/reference/typeReferenceDirectives9.types +++ b/tests/baselines/reference/typeReferenceDirectives9.types @@ -19,13 +19,13 @@ export const foo = new Cls().foo(); >new Cls().foo() : Lib > : ^^^ >new Cls().foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >new Cls() : Cls > : ^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = Cls.bar(); >bar : Lib @@ -33,11 +33,11 @@ export const bar = Cls.bar(); >Cls.bar() : Lib > : ^^^ >Cls.bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } @@ -63,7 +63,7 @@ Cls.prototype.foo = function() { return undefined; } >Cls.prototype.foo = function() { return undefined; } : () => any > : ^^^^^^^^^ >Cls.prototype.foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls.prototype : Cls > : ^^^ >Cls : typeof Cls @@ -71,7 +71,7 @@ Cls.prototype.foo = function() { return undefined; } >prototype : Cls > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >function() { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeSatisfaction.types b/tests/baselines/reference/typeSatisfaction.types index 7f036520876bb..bbdfeb5782bfb 100644 --- a/tests/baselines/reference/typeSatisfaction.types +++ b/tests/baselines/reference/typeSatisfaction.types @@ -84,11 +84,11 @@ const t5 = (m => m.substring(0)) satisfies T2; // Ok >m.substring(0) : string > : ^^^^^^ >m.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >m : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/typeSatisfaction_errorLocations1.types b/tests/baselines/reference/typeSatisfaction_errorLocations1.types index 28d786882c7ab..4a9abd2f9683c 100644 --- a/tests/baselines/reference/typeSatisfaction_errorLocations1.types +++ b/tests/baselines/reference/typeSatisfaction_errorLocations1.types @@ -119,7 +119,7 @@ function fn2(f: (...args: T) => void) { >f({ a: true } satisfies unknown) : void > : ^^^^ >f : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >{ a: true } satisfies unknown : { a: boolean; } > : ^^^^^^^^^^^^^^^ >{ a: true } : { a: boolean; } @@ -145,7 +145,7 @@ function fn2(f: (...args: T) => void) { >f(o satisfies unknown) : void > : ^^^^ >f : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >o satisfies unknown : { a: true; } > : ^^^^^^^^^^^^ >o : { a: true; } @@ -208,7 +208,7 @@ fn3(10, ...([10, "20"] satisfies number[])); >fn3(10, ...([10, "20"] satisfies number[])) : void > : ^^^^ >fn3 : (...args: unknown[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...([10, "20"] satisfies number[]) : string | number @@ -240,7 +240,7 @@ fn3(10, ...(tuple2 satisfies number[])); >fn3(10, ...(tuple2 satisfies number[])) : void > : ^^^^ >fn3 : (...args: unknown[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...(tuple2 satisfies number[]) : 10 | "20" @@ -262,7 +262,7 @@ fn4(10, ...(["10", "20"] satisfies readonly string[])); >fn4(10, ...(["10", "20"] satisfies readonly string[])) : void > : ^^^^ >fn4 : (...args: number[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...(["10", "20"] satisfies readonly string[]) : string @@ -294,7 +294,7 @@ fn4(10, ...(tuple3 satisfies readonly string[])); >fn4(10, ...(tuple3 satisfies readonly string[])) : void > : ^^^^ >fn4 : (...args: number[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...(tuple3 satisfies readonly string[]) : "20" | "10" diff --git a/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types b/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types index f2d68959ab4d3..d1cba38134431 100644 --- a/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types +++ b/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types @@ -27,15 +27,15 @@ console.log(a.x.toFixed()); >console.log(a.x.toFixed()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.x.toFixed() : string > : ^^^^^^ >a.x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.x : number > : ^^^^^^ >a : { x: number; } @@ -43,7 +43,7 @@ console.log(a.x.toFixed()); >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Should error let p = a.y; diff --git a/tests/baselines/reference/typeSatisfaction_propNameConstraining.types b/tests/baselines/reference/typeSatisfaction_propNameConstraining.types index fc4ba8e8592f3..614fdf09868ec 100644 --- a/tests/baselines/reference/typeSatisfaction_propNameConstraining.types +++ b/tests/baselines/reference/typeSatisfaction_propNameConstraining.types @@ -40,7 +40,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -48,7 +48,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -56,7 +56,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -64,7 +64,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types b/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types index be584cb45f1e7..a6e8c24f1a90c 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types +++ b/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types @@ -40,7 +40,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -48,7 +48,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -56,7 +56,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -64,7 +64,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types index a0ff32f9f8225..8a67022dffbd1 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -58,11 +58,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types index a0ff32f9f8225..8a67022dffbd1 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -58,11 +58,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types index 226900aa0a7ef..d5525daa88ec8 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -57,11 +57,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types index 226900aa0a7ef..d5525daa88ec8 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -57,11 +57,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types b/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types index adefa535b106a..34951c7ee95a4 100644 --- a/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types +++ b/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types @@ -20,7 +20,7 @@ inJs(1); // lints error. Why? >inJs(1) : 1 > : ^ >inJs : (m: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeTagOnPropertyAssignment.types b/tests/baselines/reference/typeTagOnPropertyAssignment.types index 6cb43b10aaf80..4e631da68bad1 100644 --- a/tests/baselines/reference/typeTagOnPropertyAssignment.types +++ b/tests/baselines/reference/typeTagOnPropertyAssignment.types @@ -30,15 +30,15 @@ o.a >o.a : "a" > : ^^^ >o : { a: "a"; n: () => "b"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : "a" > : ^^^ o.n >o.n : () => "b" -> : ^^^^^^^^^ +> : ^^^^^^ >o : { a: "a"; n: () => "b"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >n : () => "b" -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeTagWithGenericSignature.types b/tests/baselines/reference/typeTagWithGenericSignature.types index 0aeaa03973c59..e0b8c2e6e95cb 100644 --- a/tests/baselines/reference/typeTagWithGenericSignature.types +++ b/tests/baselines/reference/typeTagWithGenericSignature.types @@ -19,7 +19,7 @@ var n = typed(1); >typed(1) : 1 | undefined > : ^^^^^^^^^^^^^ >typed : (param?: T) => T | undefined -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeVariableConstraintIntersections.types b/tests/baselines/reference/typeVariableConstraintIntersections.types index 32e839d1fbe39..0bf67da2f7f16 100644 --- a/tests/baselines/reference/typeVariableConstraintIntersections.types +++ b/tests/baselines/reference/typeVariableConstraintIntersections.types @@ -154,7 +154,7 @@ function foo(x: K) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is "a" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ @@ -166,7 +166,7 @@ function foo(x: K) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is "b" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ @@ -178,7 +178,7 @@ function foo(x: K) { >isC(x) : boolean > : ^^^^^^^ >isC : (x: any) => x is "c" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ @@ -192,13 +192,13 @@ function foo(x: K) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is "a" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is "b" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "b" > : ^^^ @@ -216,13 +216,13 @@ function foo(x: K) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is "a" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is "b" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "b" > : ^^^ @@ -344,7 +344,7 @@ function handleOption(option: Options & { kind: K }): >option.kind : K > : ^ >option : Options & { kind: K; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >kind : K > : ^ @@ -364,7 +364,7 @@ function handleOption(option: Options & { kind: K }): >handler : OptionHandlers[K] > : ^^^^^^^^^^^^^^^^^ >option : Options & { kind: K; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ }; diff --git a/tests/baselines/reference/typeVariableTypeGuards.types b/tests/baselines/reference/typeVariableTypeGuards.types index fdb6f23951fe6..51faa8e79ad34 100644 --- a/tests/baselines/reference/typeVariableTypeGuards.types +++ b/tests/baselines/reference/typeVariableTypeGuards.types @@ -37,7 +37,7 @@ class A

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

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

    > { >props : Readonly

    > : ^^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } @@ -312,7 +312,7 @@ function f6 {})>(a: T) { >new a() : {} > : ^^ >a : new () => {} -> : ^^^^^^^^^^^^ +> : ^^^^^^^^^^ } } diff --git a/tests/baselines/reference/typedArrays-es5.types b/tests/baselines/reference/typedArrays-es5.types index f5bfaf5260c65..77ba207237e68 100644 --- a/tests/baselines/reference/typedArrays-es5.types +++ b/tests/baselines/reference/typedArrays-es5.types @@ -97,7 +97,7 @@ const nodeList = new NodeList(); >new NodeList() : NodeList > : ^^^^^^^^ >NodeList : { new (): NodeList; prototype: NodeList; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [...nodeList]; >[...nodeList] : any[] diff --git a/tests/baselines/reference/typedArrays-es6.types b/tests/baselines/reference/typedArrays-es6.types index 1c8da36e631e0..42ff5a80f01a6 100644 --- a/tests/baselines/reference/typedArrays-es6.types +++ b/tests/baselines/reference/typedArrays-es6.types @@ -97,7 +97,7 @@ const nodeList = new NodeList(); >new NodeList() : NodeList > : ^^^^^^^^ >NodeList : { new (): NodeList; prototype: NodeList; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [...nodeList]; >[...nodeList] : Node[] diff --git a/tests/baselines/reference/typedArrays.types b/tests/baselines/reference/typedArrays.types index 34c54dea8a543..ccf27a2d578e8 100644 --- a/tests/baselines/reference/typedArrays.types +++ b/tests/baselines/reference/typedArrays.types @@ -442,11 +442,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Int8Array.from(obj) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -461,11 +461,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint8Array.from(obj) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -480,11 +480,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Int16Array.from(obj) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -499,11 +499,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint16Array.from(obj) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -518,11 +518,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Int32Array.from(obj) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -537,11 +537,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint32Array.from(obj) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -556,11 +556,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Float32Array.from(obj) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -575,11 +575,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Float64Array.from(obj) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -594,11 +594,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint8ClampedArray.from(obj) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -630,11 +630,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Int8Array.from(obj) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -649,11 +649,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint8Array.from(obj) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -668,11 +668,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Int16Array.from(obj) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -687,11 +687,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint16Array.from(obj) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -706,11 +706,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Int32Array.from(obj) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -725,11 +725,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint32Array.from(obj) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -744,11 +744,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Float32Array.from(obj) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -763,11 +763,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Float64Array.from(obj) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -782,11 +782,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint8ClampedArray.from(obj) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -817,11 +817,11 @@ function CreateTypedArraysOf(obj) { >Int8Array.of(...obj) : Int8Array > : ^^^^^^^^^ >Int8Array.of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -836,11 +836,11 @@ function CreateTypedArraysOf(obj) { >Uint8Array.of(...obj) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -855,11 +855,11 @@ function CreateTypedArraysOf(obj) { >Int16Array.of(...obj) : Int16Array > : ^^^^^^^^^^ >Int16Array.of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -874,11 +874,11 @@ function CreateTypedArraysOf(obj) { >Uint16Array.of(...obj) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -893,11 +893,11 @@ function CreateTypedArraysOf(obj) { >Int32Array.of(...obj) : Int32Array > : ^^^^^^^^^^ >Int32Array.of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -912,11 +912,11 @@ function CreateTypedArraysOf(obj) { >Uint32Array.of(...obj) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -931,11 +931,11 @@ function CreateTypedArraysOf(obj) { >Float32Array.of(...obj) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -950,11 +950,11 @@ function CreateTypedArraysOf(obj) { >Float64Array.of(...obj) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -969,11 +969,11 @@ function CreateTypedArraysOf(obj) { >Uint8ClampedArray.of(...obj) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -1003,11 +1003,11 @@ function CreateTypedArraysOf2() { >Int8Array.of(1,2,3,4) : Int8Array > : ^^^^^^^^^ >Int8Array.of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1028,11 +1028,11 @@ function CreateTypedArraysOf2() { >Uint8Array.of(1,2,3,4) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1053,11 +1053,11 @@ function CreateTypedArraysOf2() { >Int16Array.of(1,2,3,4) : Int16Array > : ^^^^^^^^^^ >Int16Array.of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1078,11 +1078,11 @@ function CreateTypedArraysOf2() { >Uint16Array.of(1,2,3,4) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1103,11 +1103,11 @@ function CreateTypedArraysOf2() { >Int32Array.of(1,2,3,4) : Int32Array > : ^^^^^^^^^^ >Int32Array.of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1128,11 +1128,11 @@ function CreateTypedArraysOf2() { >Uint32Array.of(1,2,3,4) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1153,11 +1153,11 @@ function CreateTypedArraysOf2() { >Float32Array.of(1,2,3,4) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1178,11 +1178,11 @@ function CreateTypedArraysOf2() { >Float64Array.of(1,2,3,4) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1203,11 +1203,11 @@ function CreateTypedArraysOf2() { >Uint8ClampedArray.of(1,2,3,4) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1251,15 +1251,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Int8Array.from(obj, mapFn) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[1] = Uint8Array.from(obj, mapFn); >typedArrays[1] = Uint8Array.from(obj, mapFn) : Uint8Array @@ -1272,15 +1272,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint8Array.from(obj, mapFn) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[2] = Int16Array.from(obj, mapFn); >typedArrays[2] = Int16Array.from(obj, mapFn) : Int16Array @@ -1293,15 +1293,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Int16Array.from(obj, mapFn) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[3] = Uint16Array.from(obj, mapFn); >typedArrays[3] = Uint16Array.from(obj, mapFn) : Uint16Array @@ -1314,15 +1314,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint16Array.from(obj, mapFn) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[4] = Int32Array.from(obj, mapFn); >typedArrays[4] = Int32Array.from(obj, mapFn) : Int32Array @@ -1335,15 +1335,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Int32Array.from(obj, mapFn) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[5] = Uint32Array.from(obj, mapFn); >typedArrays[5] = Uint32Array.from(obj, mapFn) : Uint32Array @@ -1356,15 +1356,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint32Array.from(obj, mapFn) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[6] = Float32Array.from(obj, mapFn); >typedArrays[6] = Float32Array.from(obj, mapFn) : Float32Array @@ -1377,15 +1377,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Float32Array.from(obj, mapFn) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[7] = Float64Array.from(obj, mapFn); >typedArrays[7] = Float64Array.from(obj, mapFn) : Float64Array @@ -1398,15 +1398,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Float64Array.from(obj, mapFn) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[8] = Uint8ClampedArray.from(obj, mapFn); >typedArrays[8] = Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray @@ -1419,15 +1419,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return typedArrays; >typedArrays : any[] @@ -1463,15 +1463,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Int8Array.from(obj, mapFn) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[1] = Uint8Array.from(obj, mapFn); >typedArrays[1] = Uint8Array.from(obj, mapFn) : Uint8Array @@ -1484,15 +1484,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint8Array.from(obj, mapFn) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[2] = Int16Array.from(obj, mapFn); >typedArrays[2] = Int16Array.from(obj, mapFn) : Int16Array @@ -1505,15 +1505,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Int16Array.from(obj, mapFn) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[3] = Uint16Array.from(obj, mapFn); >typedArrays[3] = Uint16Array.from(obj, mapFn) : Uint16Array @@ -1526,15 +1526,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint16Array.from(obj, mapFn) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[4] = Int32Array.from(obj, mapFn); >typedArrays[4] = Int32Array.from(obj, mapFn) : Int32Array @@ -1547,15 +1547,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Int32Array.from(obj, mapFn) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[5] = Uint32Array.from(obj, mapFn); >typedArrays[5] = Uint32Array.from(obj, mapFn) : Uint32Array @@ -1568,15 +1568,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint32Array.from(obj, mapFn) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[6] = Float32Array.from(obj, mapFn); >typedArrays[6] = Float32Array.from(obj, mapFn) : Float32Array @@ -1589,15 +1589,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Float32Array.from(obj, mapFn) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[7] = Float64Array.from(obj, mapFn); >typedArrays[7] = Float64Array.from(obj, mapFn) : Float64Array @@ -1610,15 +1610,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Float64Array.from(obj, mapFn) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[8] = Uint8ClampedArray.from(obj, mapFn); >typedArrays[8] = Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray @@ -1631,15 +1631,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return typedArrays; >typedArrays : any[] @@ -1677,15 +1677,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Int8Array.from(obj, mapFn, thisArg) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1700,15 +1700,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint8Array.from(obj, mapFn, thisArg) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1723,15 +1723,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Int16Array.from(obj, mapFn, thisArg) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1746,15 +1746,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint16Array.from(obj, mapFn, thisArg) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1769,15 +1769,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Int32Array.from(obj, mapFn, thisArg) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1792,15 +1792,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint32Array.from(obj, mapFn, thisArg) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1815,15 +1815,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Float32Array.from(obj, mapFn, thisArg) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1838,15 +1838,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Float64Array.from(obj, mapFn, thisArg) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1861,15 +1861,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1909,15 +1909,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Int8Array.from(obj, mapFn, thisArg) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1932,15 +1932,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint8Array.from(obj, mapFn, thisArg) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1955,15 +1955,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Int16Array.from(obj, mapFn, thisArg) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1978,15 +1978,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint16Array.from(obj, mapFn, thisArg) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2001,15 +2001,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Int32Array.from(obj, mapFn, thisArg) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2024,15 +2024,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint32Array.from(obj, mapFn, thisArg) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2047,15 +2047,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Float32Array.from(obj, mapFn, thisArg) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2070,15 +2070,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Float64Array.from(obj, mapFn, thisArg) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2093,15 +2093,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ diff --git a/tests/baselines/reference/typedArraysSubarray.types b/tests/baselines/reference/typedArraysSubarray.types index d9401c76e2465..b89b96c9d167d 100644 --- a/tests/baselines/reference/typedArraysSubarray.types +++ b/tests/baselines/reference/typedArraysSubarray.types @@ -19,21 +19,21 @@ function int8ArraySubarray() { >arr.subarray() : Int8Array > : ^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int8Array > : ^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Int8Array > : ^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int8Array > : ^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -41,11 +41,11 @@ function int8ArraySubarray() { >arr.subarray(0, 10) : Int8Array > : ^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int8Array > : ^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -70,21 +70,21 @@ function uint8ArraySubarray() { >arr.subarray() : Uint8Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint8Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -92,11 +92,11 @@ function uint8ArraySubarray() { >arr.subarray(0, 10) : Uint8Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -121,21 +121,21 @@ function uint8ClampedArraySubarray() { >arr.subarray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -143,11 +143,11 @@ function uint8ClampedArraySubarray() { >arr.subarray(0, 10) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -172,21 +172,21 @@ function int16ArraySubarray() { >arr.subarray() : Int16Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int16Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Int16Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int16Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -194,11 +194,11 @@ function int16ArraySubarray() { >arr.subarray(0, 10) : Int16Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int16Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -223,21 +223,21 @@ function uint16ArraySubarray() { >arr.subarray() : Uint16Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint16Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint16Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint16Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -245,11 +245,11 @@ function uint16ArraySubarray() { >arr.subarray(0, 10) : Uint16Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint16Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -274,21 +274,21 @@ function int32ArraySubarray() { >arr.subarray() : Int32Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int32Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Int32Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int32Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -296,11 +296,11 @@ function int32ArraySubarray() { >arr.subarray(0, 10) : Int32Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int32Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -325,21 +325,21 @@ function uint32ArraySubarray() { >arr.subarray() : Uint32Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint32Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint32Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint32Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -347,11 +347,11 @@ function uint32ArraySubarray() { >arr.subarray(0, 10) : Uint32Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint32Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -376,21 +376,21 @@ function float32ArraySubarray() { >arr.subarray() : Float32Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float32Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Float32Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float32Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -398,11 +398,11 @@ function float32ArraySubarray() { >arr.subarray(0, 10) : Float32Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float32Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -427,21 +427,21 @@ function float64ArraySubarray() { >arr.subarray() : Float64Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float64Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Float64Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float64Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -449,11 +449,11 @@ function float64ArraySubarray() { >arr.subarray(0, 10) : Float64Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float64Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/typedefMultipleTypeParameters.types b/tests/baselines/reference/typedefMultipleTypeParameters.types index d6bdffb5d7abe..bde3ca598caf7 100644 --- a/tests/baselines/reference/typedefMultipleTypeParameters.types +++ b/tests/baselines/reference/typedefMultipleTypeParameters.types @@ -12,12 +12,12 @@ /** @type {Everything<{ a: number, b: 'hi', c: never }, undefined, { c: true, d: 1 }, number, string>} */ var tuvwx; >tuvwx : Everything<{ a: number; b: "hi"; c: never; }, undefined, { c: true; d: 1; }, number, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ /** @type {Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>} */ var wrong; >wrong : Everything<{ a: number; }, undefined, { c: 1; d: 1; }, number, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ /** @type {Everything<{ a: number }>} */ var insufficient; diff --git a/tests/baselines/reference/typedefOnStatements.types b/tests/baselines/reference/typedefOnStatements.types index 61e668b901279..fff1989136f75 100644 --- a/tests/baselines/reference/typedefOnStatements.types +++ b/tests/baselines/reference/typedefOnStatements.types @@ -153,11 +153,11 @@ function proof (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) { >console.log(a.a, b.b, c.c, d.d, e.e, f.f, g.g, h.h, i.i, j.j, k.k, l.l, m.m, n.n, o.o, p.p, q.q) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.a : string > : ^^^^^^ >a : A @@ -264,7 +264,7 @@ function proof (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) { /** @type {Alpha} */ var alpha = { alpha: "aleph" } >alpha : { alpha: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ alpha: "aleph" } : { alpha: string; } > : ^^^^^^^^^^^^^^^^^^ >alpha : string diff --git a/tests/baselines/reference/typeofInterface.types b/tests/baselines/reference/typeofInterface.types index fe9be3bfc84ac..0e9b2467cb05c 100644 --- a/tests/baselines/reference/typeofInterface.types +++ b/tests/baselines/reference/typeofInterface.types @@ -14,9 +14,9 @@ interface I { foo: typeof I; >foo : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >I : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } var k: I; @@ -25,13 +25,13 @@ var k: I; var j: typeof k.foo = { a: "hello" }; >j : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >k.foo : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >k : I > : ^ >foo : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: "hello" } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/typeofObjectInference.types b/tests/baselines/reference/typeofObjectInference.types index 74c07cb3fc669..084a5b89befd3 100644 --- a/tests/baselines/reference/typeofObjectInference.types +++ b/tests/baselines/reference/typeofObjectInference.types @@ -25,7 +25,7 @@ function decorateA(fn: (first: {value: typeof val}) => O) { >fn({value: val}) : O > : ^ >fn : (first: { value: typeof val; }) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >{value: val} : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -39,9 +39,9 @@ let a = decorateA(({value}) => 5) >decorateA(({value}) => 5) : () => number > : ^^^^^^^^^^^^ >decorateA : (fn: (first: { value: typeof val; }) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->({value}) => 5 : ({ value }: { value: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>({value}) => 5 : ({ value }: { value: typeof val; }) => number +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ >value : number > : ^^^^^^ >5 : 5 @@ -63,7 +63,7 @@ function decorateB(fn: (first: typeof val) => O) { >fn(val) : O > : ^ >fn : (first: typeof val) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >val : number > : ^^^^^^ } @@ -73,7 +73,7 @@ let b = decorateB((value) => 5) >decorateB((value) => 5) : () => number > : ^^^^^^^^^^^^ >decorateB : (fn: (first: typeof val) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >(value) => 5 : (value: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >value : number @@ -97,7 +97,7 @@ function decorateC(fn: (first: {value: number}) => O) { >fn({value: val}) : O > : ^ >fn : (first: { value: number; }) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >{value: val} : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -111,9 +111,9 @@ let c = decorateC(({value}) => 5) >decorateC(({value}) => 5) : () => number > : ^^^^^^^^^^^^ >decorateC : (fn: (first: { value: number; }) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >({value}) => 5 : ({ value }: { value: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ >value : number > : ^^^^^^ >5 : 5 @@ -141,7 +141,7 @@ function decorateD(fn: (first: First) => O) { >fn({value: val}) : O > : ^ >fn : (first: First) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >{value: val} : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -155,7 +155,7 @@ let d = decorateD(({value}) => 5) >decorateD(({value}) => 5) : () => number > : ^^^^^^^^^^^^ >decorateD : (fn: (first: First) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >({value}) => 5 : ({ value }: First) => number > : ^ ^^^^^^^^^^^^^^^^^^ >value : number diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.types b/tests/baselines/reference/typeofOperatorWithAnyOtherType.types index 06b67da3efa44..1a1186d4972d6 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsString5 = typeof obj; >typeof obj : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsString6 = typeof obj1; >ResultIsString6 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -217,7 +217,7 @@ var ResultIsString14 = typeof foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsString15 = typeof A.foo(); >ResultIsString15 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -416,7 +416,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ z: typeof objA.a; >z : any diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.types b/tests/baselines/reference/typeofOperatorWithBooleanType.types index 831d4f9715a5c..7a523bce04bbe 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.types +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsString6 = typeof foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsString7 = typeof A.foo(); >ResultIsString7 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -156,7 +156,7 @@ typeof foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ typeof true, false; >typeof true, false : false @@ -215,7 +215,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var y = { a: true, b: false}; >y : { a: boolean; b: boolean; } diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.types b/tests/baselines/reference/typeofOperatorWithNumberType.types index ab515de4de3c7..a519d58e0ac58 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.types +++ b/tests/baselines/reference/typeofOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsString9 = typeof foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsString10 = typeof A.foo(); >ResultIsString10 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -244,7 +244,7 @@ typeof foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ typeof objA.a; >typeof objA.a : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -315,7 +315,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var y = { a: 1, b: 2 }; >y : { a: number; b: number; } diff --git a/tests/baselines/reference/typeofOperatorWithStringType.types b/tests/baselines/reference/typeofOperatorWithStringType.types index be24f95938d33..c40a3499d2564 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.types +++ b/tests/baselines/reference/typeofOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsString9 = typeof foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsString10 = typeof A.foo(); >ResultIsString10 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -198,11 +198,11 @@ var ResultIsString12 = typeof STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -260,7 +260,7 @@ typeof foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ typeof objA.a, M.n; >typeof objA.a, M.n : string @@ -315,7 +315,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var y = { a: "", b: "" }; >y : { a: string; b: string; } diff --git a/tests/baselines/reference/typeofSimple.types b/tests/baselines/reference/typeofSimple.types index 1dd8a5e4c45cf..d5091946e6ffc 100644 --- a/tests/baselines/reference/typeofSimple.types +++ b/tests/baselines/reference/typeofSimple.types @@ -49,5 +49,5 @@ numberI = fun(); >fun() : I > : ^^^^^^^^^ >fun : () => I -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeofThis.types b/tests/baselines/reference/typeofThis.types index 38125a2358e55..5087396249b2a 100644 --- a/tests/baselines/reference/typeofThis.types +++ b/tests/baselines/reference/typeofThis.types @@ -143,7 +143,7 @@ function Test3(this: { no: number }) { >this.no : number > : ^^^^^^ >this : { no: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >no : number > : ^^^^^^ >1 : 1 @@ -164,7 +164,7 @@ function Test4(this: { no: number } | undefined) { >this.no : number > : ^^^^^^ >this : { no: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >no : number > : ^^^^^^ >1 : 1 @@ -441,36 +441,36 @@ class Test10 { > : ^^^^^^^^^^ let a: typeof this.a = undefined as any; ->a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>this.a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >undefined as any : any > : ^^^ >undefined : undefined > : ^^^^^^^^^ if (this.a) { ->this.a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ let a: typeof this.a = undefined as any; // should narrow to { b?: string } ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >undefined as any : any > : ^^^ >undefined : undefined @@ -481,12 +481,12 @@ class Test10 { > : ^^^^^^^^^^^^^^^^^^ >this.a.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined as any : any @@ -497,12 +497,12 @@ class Test10 { if (this.a.b) { >this.a.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -511,12 +511,12 @@ class Test10 { > : ^^^^^^ >this.a.b : string > : ^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >b : string > : ^^^^^^ >undefined as any : any @@ -549,34 +549,34 @@ class Test11 { > : ^^^^ let bar: typeof o.this = {}; ->bar : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o.this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o.this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ if (o.this && o.this.x) { >o.this && o.this.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->o.this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o.this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >o.this.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->o.this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o.this : { x?: string; } +> : ^^^^^^ ^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } +> : ^^^^^^ ^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -585,12 +585,12 @@ class Test11 { > : ^^^^^^ >o.this.x : string > : ^^^^^^ ->o.this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o.this : { x?: string; } +> : ^^^^^^ ^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } +> : ^^^^^^ ^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeofThisInMethodSignature.types b/tests/baselines/reference/typeofThisInMethodSignature.types index 5381afbfc72be..811d58c5be72f 100644 --- a/tests/baselines/reference/typeofThisInMethodSignature.types +++ b/tests/baselines/reference/typeofThisInMethodSignature.types @@ -32,13 +32,13 @@ const a = new A().a(1); >new A().a(1) : void > : ^^^^ >new A().a : (x: typeof this.x) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A() : A > : ^ >A : typeof A > : ^^^^^^^^ >a : (x: typeof this.x) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.1.types b/tests/baselines/reference/types.asyncGenerators.es2018.1.types index a9ced94c664da..2a9d1eb54db4d 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.1.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.1.types @@ -30,11 +30,11 @@ async function * inferReturnType4() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -52,11 +52,11 @@ async function * inferReturnType5() { >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ } @@ -84,11 +84,11 @@ async function * inferReturnType7() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -134,11 +134,11 @@ const assignability2: () => AsyncIterableIterator = async function * () >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -172,11 +172,11 @@ const assignability4: () => AsyncIterableIterator = async function * () >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -227,11 +227,11 @@ const assignability7: () => AsyncIterable = async function * () { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -265,11 +265,11 @@ const assignability9: () => AsyncIterable = async function * () { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -320,11 +320,11 @@ const assignability12: () => AsyncIterator = async function * () { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -358,11 +358,11 @@ const assignability14: () => AsyncIterator = async function * () { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -408,11 +408,11 @@ async function * explicitReturnType2(): AsyncIterableIterator { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -440,11 +440,11 @@ async function * explicitReturnType4(): AsyncIterableIterator { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -486,11 +486,11 @@ async function * explicitReturnType7(): AsyncIterable { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -518,11 +518,11 @@ async function * explicitReturnType9(): AsyncIterable { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -564,11 +564,11 @@ async function * explicitReturnType12(): AsyncIterator { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -596,11 +596,11 @@ async function * explicitReturnType14(): AsyncIterator { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -655,11 +655,11 @@ async function * awaitedType2() { >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.types b/tests/baselines/reference/types.asyncGenerators.es2018.2.types index 3f9900ce79f55..41275777ea664 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.types @@ -33,11 +33,11 @@ async function * inferReturnType3() { >Promise.resolve([1, 2]) : Promise > : ^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types index 13c6e9602d191..9bc4f10673d1f 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types @@ -3,11 +3,11 @@ === main.ts === import { fa } from "ext"; >fa : () => import("ext").A -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^ import { fb } from "ext/other"; >fb : () => import("ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^ ^ export const va = fa(); >va : import("ext").A @@ -15,7 +15,7 @@ export const va = fa(); >fa() : import("ext").A > : ^^^^^^^^^^^^^^^ >fa : () => import("ext").A -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^ export const vb = fb(); >vb : import("ext/other").B @@ -23,7 +23,7 @@ export const vb = fb(); >fb() : import("ext/other").B > : ^^^^^^^^^^^^^^^^^^^^^ >fb : () => import("ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^ ^ === node_modules/ext/ts3.1/index.d.ts === declare module "ext" { diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types index 60e660ae93725..fe1ec3249cee4 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types @@ -3,11 +3,11 @@ === main.ts === import { fa } from "ext"; >fa : () => import("node_modules/ext/ts3.1/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ import { fb } from "ext/other"; >fb : () => import("node_modules/ext/ts3.1/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const va = fa(); >va : import("node_modules/ext/ts3.1/index").A @@ -15,7 +15,7 @@ export const va = fa(); >fa() : import("node_modules/ext/ts3.1/index").A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fa : () => import("node_modules/ext/ts3.1/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const vb = fb(); >vb : import("node_modules/ext/ts3.1/other").B @@ -23,7 +23,7 @@ export const vb = fb(); >fb() : import("node_modules/ext/ts3.1/other").B > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fb : () => import("node_modules/ext/ts3.1/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === node_modules/ext/ts3.1/index.d.ts === export interface A {} diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types index 9945770946a29..5d5a51a60835e 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types @@ -7,7 +7,7 @@ import { fa } from "ext"; import { fb } from "ext/other"; >fb : () => import("node_modules/ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const va = fa(); >va : any @@ -23,7 +23,7 @@ export const vb = fb(); >fb() : import("node_modules/ext/other").B > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fb : () => import("node_modules/ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === node_modules/ext/other.d.ts === export interface B {} diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types index c634e9a25f442..3ab55b36525b5 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types @@ -3,13 +3,13 @@ === main.ts === import { fa } from "ext"; >fa : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ import { fa as fa2 } from "ext/other"; >fa : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ >fa2 : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ export const va = fa(); >va : import("node_modules/ext/other").A2 @@ -17,7 +17,7 @@ export const va = fa(); >fa() : import("node_modules/ext/other").A2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fa : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ export const va2 = fa2(); >va2 : import("node_modules/ext/other").A2 @@ -25,7 +25,7 @@ export const va2 = fa2(); >fa2() : import("node_modules/ext/other").A2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fa2 : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ === node_modules/ext/other.d.ts === export interface A2 {} diff --git a/tests/baselines/reference/typesWithOptionalProperty.types b/tests/baselines/reference/typesWithOptionalProperty.types index d2973e1a2d73c..e7e420b2f57a0 100644 --- a/tests/baselines/reference/typesWithOptionalProperty.types +++ b/tests/baselines/reference/typesWithOptionalProperty.types @@ -111,7 +111,7 @@ a = b; >a = b : { foo: string; } > : ^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >b : { foo: string; } > : ^^^^^^^^^^^^^^^^ @@ -119,7 +119,7 @@ a = c; >a = c : { foo: string; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >c : { foo: string; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -127,23 +127,23 @@ a = d; >a = d : { foo: string; bar: number; baz: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >d : { foo: string; bar: number; baz: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ i = a; >i = a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >i : I > : ^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ a = i; >a = i : I > : ^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/typesWithSpecializedCallSignatures.types b/tests/baselines/reference/typesWithSpecializedCallSignatures.types index 8cd1ad2508199..43f4a57540b46 100644 --- a/tests/baselines/reference/typesWithSpecializedCallSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedCallSignatures.types @@ -31,25 +31,25 @@ class C { foo(x: 'hi'): Derived1; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ foo(x: 'bye'): Derived2; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ foo(x: string): Base; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x) { >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any return x; @@ -67,19 +67,19 @@ var c = new C(); interface I { foo(x: 'hi'): Derived1; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ foo(x: 'bye'): Derived2; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ foo(x: string): Base; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -93,19 +93,19 @@ var a: { foo(x: 'hi'): Derived1; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ foo(x: 'bye'): Derived2; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ foo(x: string): Base; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -121,11 +121,11 @@ c = i; c = a; >c = a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ i = c; >i = c : C @@ -137,17 +137,17 @@ i = c; i = a; >i = a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ a = c; >a = c : C > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >c : C > : ^ @@ -155,7 +155,7 @@ a = i; >a = i : I > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ @@ -165,11 +165,11 @@ var r1: Derived1 = c.foo('hi'); >c.foo('hi') : Derived1 > : ^^^^^^^^ >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'hi' : "hi" > : ^^^^ @@ -179,11 +179,11 @@ var r2: Derived2 = c.foo('bye'); >c.foo('bye') : Derived2 > : ^^^^^^^^ >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'bye' : "bye" > : ^^^^^ @@ -193,11 +193,11 @@ var r3: Base = c.foo('hm'); >c.foo('hm') : Base > : ^^^^ >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types index 2aad7752365e7..567c0dd4d86ec 100644 --- a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types @@ -103,25 +103,25 @@ c = i; c = a; >c = a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ i = a; >i = a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ a = i; >a = i : I > : ^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ @@ -151,7 +151,7 @@ var r3: Base = new a('hm'); >new a('hm') : Base > : ^^^^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/typingsLookup1.types b/tests/baselines/reference/typingsLookup1.types index 9e94d74415cf3..b8b908ff9ada1 100644 --- a/tests/baselines/reference/typingsLookup1.types +++ b/tests/baselines/reference/typingsLookup1.types @@ -5,7 +5,7 @@ $.x; >$.x : any >$ : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/typingsLookup3.types b/tests/baselines/reference/typingsLookup3.types index 98bcced62d7e6..378cdda8fa6c4 100644 --- a/tests/baselines/reference/typingsLookup3.types +++ b/tests/baselines/reference/typingsLookup3.types @@ -6,7 +6,7 @@ $.x; >$.x : any > : ^^^ >$ : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/umd-augmentation-1.types b/tests/baselines/reference/umd-augmentation-1.types index a97a465db8453..c7f9c95e8f010 100644 --- a/tests/baselines/reference/umd-augmentation-1.types +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -28,11 +28,11 @@ let magnitude = m.getLength(v); >m.getLength(v) : number > : ^^^^^^ >m.getLength : (p: m.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >m : typeof m > : ^^^^^^^^ >getLength : (p: m.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >v : m.Vector > : ^^^^^^^^ diff --git a/tests/baselines/reference/umd-augmentation-2.types b/tests/baselines/reference/umd-augmentation-2.types index e016bd2563d4d..6d5c3dde26b88 100644 --- a/tests/baselines/reference/umd-augmentation-2.types +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -25,11 +25,11 @@ let magnitude = Math2d.getLength(v); >Math2d.getLength(v) : number > : ^^^^^^ >Math2d.getLength : (p: Math2d.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >Math2d : typeof Math2d > : ^^^^^^^^^^^^^ >getLength : (p: Math2d.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >v : Math2d.Vector > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/umd-augmentation-3.types b/tests/baselines/reference/umd-augmentation-3.types index 2d7cbbd8cd1c3..2a8dbeeb7463a 100644 --- a/tests/baselines/reference/umd-augmentation-3.types +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -28,11 +28,11 @@ let magnitude = m.getLength(v); >m.getLength(v) : number > : ^^^^^^ >m.getLength : (p: m.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >m : typeof m > : ^^^^^^^^ >getLength : (p: m.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >v : m.Vector > : ^^^^^^^^ diff --git a/tests/baselines/reference/umd-augmentation-4.types b/tests/baselines/reference/umd-augmentation-4.types index 130e99294c97b..5d1217759b6e8 100644 --- a/tests/baselines/reference/umd-augmentation-4.types +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -25,11 +25,11 @@ let magnitude = Math2d.getLength(v); >Math2d.getLength(v) : number > : ^^^^^^ >Math2d.getLength : (p: Math2d.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >Math2d : typeof Math2d > : ^^^^^^^^^^^^^ >getLength : (p: Math2d.Vector) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >v : Math2d.Vector > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/umd1.types b/tests/baselines/reference/umd1.types index 2072a53db07a6..0e70696ace697 100644 --- a/tests/baselines/reference/umd1.types +++ b/tests/baselines/reference/umd1.types @@ -6,11 +6,11 @@ Foo.fn(); >Foo.fn() : void > : ^^^^ >Foo.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Foo.Thing; >x : Foo.Thing diff --git a/tests/baselines/reference/umd3.types b/tests/baselines/reference/umd3.types index b3d6368669488..07305f9a50edf 100644 --- a/tests/baselines/reference/umd3.types +++ b/tests/baselines/reference/umd3.types @@ -9,11 +9,11 @@ Foo.fn(); >Foo.fn() : void > : ^^^^ >Foo.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Foo.Thing; >x : Foo.Thing diff --git a/tests/baselines/reference/umd4.types b/tests/baselines/reference/umd4.types index 745fd350f43c5..c3795593ed4c8 100644 --- a/tests/baselines/reference/umd4.types +++ b/tests/baselines/reference/umd4.types @@ -9,11 +9,11 @@ Bar.fn(); >Bar.fn() : void > : ^^^^ >Bar.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Bar : typeof Bar > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Bar.Thing; >x : Bar.Thing diff --git a/tests/baselines/reference/umd5.types b/tests/baselines/reference/umd5.types index e54fdf0e83668..9add60c8b8c81 100644 --- a/tests/baselines/reference/umd5.types +++ b/tests/baselines/reference/umd5.types @@ -9,11 +9,11 @@ Bar.fn(); >Bar.fn() : void > : ^^^^ >Bar.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Bar : typeof Bar > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Bar.Thing; >x : Bar.Thing diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types index 418abbee1e264..cf6db7e9b4456 100644 --- a/tests/baselines/reference/umd6.types +++ b/tests/baselines/reference/umd6.types @@ -8,11 +8,11 @@ let y: number = Foo.fn(); >Foo.fn() : number > : ^^^^^^ >Foo.fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ === foo.d.ts === declare namespace Thing { diff --git a/tests/baselines/reference/umd7.types b/tests/baselines/reference/umd7.types index a7b530ceb5808..570362b0e1a96 100644 --- a/tests/baselines/reference/umd7.types +++ b/tests/baselines/reference/umd7.types @@ -8,7 +8,7 @@ let y: number = Foo(); >Foo() : number > : ^^^^^^ >Foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ === foo.d.ts === declare function Thing(): number; @@ -17,9 +17,9 @@ declare function Thing(): number; export = Thing; >Thing : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export as namespace Foo; >Foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/umd8.types b/tests/baselines/reference/umd8.types index 9010b7da94162..180d98358b78d 100644 --- a/tests/baselines/reference/umd8.types +++ b/tests/baselines/reference/umd8.types @@ -14,11 +14,11 @@ y.foo(); >y.foo() : number > : ^^^^^^ >y.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >y : ff > : ^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let z: Foo.SubThing; // OK in ns position >z : ff.SubThing diff --git a/tests/baselines/reference/umdGlobalAugmentationNoCrash.types b/tests/baselines/reference/umdGlobalAugmentationNoCrash.types index b38ebfee9710f..473a90510e738 100644 --- a/tests/baselines/reference/umdGlobalAugmentationNoCrash.types +++ b/tests/baselines/reference/umdGlobalAugmentationNoCrash.types @@ -24,30 +24,30 @@ export function foo(): string; export {} React.foo; >React.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >React : typeof import("module") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === emits.ts === console.log("hello"); >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ React.foo; >React.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >React : typeof import("module") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types index f6a9bf5cd0a5a..0d557d01cd0ff 100644 --- a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types +++ b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types @@ -34,30 +34,30 @@ declare namespace React { export { }; React.createRef; >React.createRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >React : typeof React > : ^^^^^^^^^^^^ >createRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === emits.ts === console.log("hello"); >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ React.createRef; >React.createRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >React : typeof React > : ^^^^^^^^^^^^ >createRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/uncalledFunctionChecksInConditional.types b/tests/baselines/reference/uncalledFunctionChecksInConditional.types index b9f874c7f4603..473972b5bdaa1 100644 --- a/tests/baselines/reference/uncalledFunctionChecksInConditional.types +++ b/tests/baselines/reference/uncalledFunctionChecksInConditional.types @@ -15,44 +15,44 @@ declare const isUndefinedFoo: (() => boolean) | undefined; if (isFoo) { >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (isFoo || isBar) { >isFoo || isBar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isBar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo, isBar } if (isFoo || isFoo()) { >isFoo || isFoo() : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (isUndefinedFoo || isFoo()) { >isUndefinedFoo || isFoo() : boolean | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^ >isUndefinedFoo : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // no error } @@ -61,11 +61,11 @@ if (isFoo && isFoo()) { >isFoo && isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // no error } @@ -96,20 +96,20 @@ declare const uz: (() => boolean) | undefined; if (x || isFoo) { >x || isFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (isFoo || x) { >isFoo || x : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ @@ -118,7 +118,7 @@ if (isFoo || x) { if (x || y || z() || isFoo) { >x || y || z() || isFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x || y || z() : boolean > : ^^^^^^^ >x || y : boolean @@ -130,18 +130,18 @@ if (x || y || z() || isFoo) { >z() : boolean > : ^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (x || uy || z || isUndefinedFoo) { >x || uy || z || isUndefinedFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x || uy || z : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x || uy : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >x : boolean @@ -149,18 +149,18 @@ if (x || uy || z || isUndefinedFoo) { >uy : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isUndefinedFoo : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ // error on z } if (ux || y || uz || isFoo) { >ux || y || uz || isFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >ux || y || uz : true | (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >ux || y : boolean > : ^^^^^^^ >ux : boolean | undefined @@ -168,25 +168,25 @@ if (ux || y || uz || isFoo) { >y : boolean > : ^^^^^^^ >uz : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (x && z) { >x && z : false | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^ >x : boolean > : ^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // no error z(); >z() : boolean > : ^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/uncalledFunctionChecksInConditional2.types b/tests/baselines/reference/uncalledFunctionChecksInConditional2.types index a07092059ae66..9895a5d755d82 100644 --- a/tests/baselines/reference/uncalledFunctionChecksInConditional2.types +++ b/tests/baselines/reference/uncalledFunctionChecksInConditional2.types @@ -19,48 +19,48 @@ Type Count: 1,000 if ( perf && >perf && perf.measure && perf.clearMarks && perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf && perf.measure && perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ perf.measure && >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ perf.clearMarks && >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ perf.clearMeasures >perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ) { perf.measure(""); >perf.measure("") : PerformanceMeasure > : ^^^^^^^^^^^^^^^^^^ >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"" : "" > : ^^ @@ -68,11 +68,11 @@ Type Count: 1,000 >perf.clearMarks("") : void > : ^^^^ >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ @@ -80,11 +80,11 @@ Type Count: 1,000 >perf.clearMeasures("") : void > : ^^^^ >perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -93,29 +93,29 @@ Type Count: 1,000 if ( perf && >perf && perf.mark && perf.measure || !!true : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf && perf.mark && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf && perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ perf.mark && >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ perf.measure || !!true >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >!!true : true > : ^^^^ >!true : false @@ -128,11 +128,11 @@ Type Count: 1,000 >perf.mark("") : PerformanceMark > : ^^^^^^^^^^^^^^^ >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -141,33 +141,33 @@ Type Count: 1,000 if ( ( >( perf && perf.mark && perf.measure ) ?? !!true : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >( perf && perf.mark && perf.measure ) : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ perf && >perf && perf.mark && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf && perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ perf.mark && >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ perf.measure >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ) ?? !!true >!!true : true @@ -182,11 +182,11 @@ Type Count: 1,000 >perf.mark("") : PerformanceMark > : ^^^^^^^^^^^^^^^ >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -223,47 +223,47 @@ declare let inBrowser: boolean; if ( perf && >perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures : false | ((measureName?: string) => void) -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^ ^ >perf && perf.mark && perf.measure && perf.clearMarks : false | ((markName?: string) => void) -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^ ^ >perf && perf.mark && perf.measure : false | ((measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure) -> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^ >perf && perf.mark : false | ((markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark) -> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^ >perf : false | Performance > : ^^^^^^^^^^^^^^^^^^^ perf.mark && >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ perf.measure && >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ perf.clearMarks && >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ perf.clearMeasures >perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ) { mark = (tag) => perf.mark(tag) @@ -278,11 +278,11 @@ declare let inBrowser: boolean; >perf.mark(tag) : PerformanceMark > : ^^^^^^^^^^^^^^^ >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >tag : any > : ^^^ @@ -304,11 +304,11 @@ declare let inBrowser: boolean; >perf.measure(name, startTag, endTag) : PerformanceMeasure > : ^^^^^^^^^^^^^^^^^^ >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >name : any > : ^^^ >startTag : any @@ -320,11 +320,11 @@ declare let inBrowser: boolean; >perf.clearMarks(startTag) : void > : ^^^^ >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >startTag : any > : ^^^ @@ -332,11 +332,11 @@ declare let inBrowser: boolean; >perf.clearMarks(endTag) : void > : ^^^^ >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >endTag : any > : ^^^ @@ -369,7 +369,7 @@ function isMobile() { >typeof window !== 'undefined' && window.matchMedia && // no error window.matchMedia('(max-device-width: 680px)') : false | MediaQueryList > : ^^^^^^^^^^^^^^^^^^^^^^ >typeof window !== 'undefined' && window.matchMedia : false | (((query: string) => MediaQueryList) & ((query: string) => MediaQueryList)) -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^ >typeof window !== 'undefined' : boolean > : ^^^^^^^ >typeof window : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -381,21 +381,21 @@ function isMobile() { window.matchMedia && // no error >window.matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ window.matchMedia('(max-device-width: 680px)'); >window.matchMedia('(max-device-width: 680px)') : MediaQueryList > : ^^^^^^^^^^^^^^ >window.matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >'(max-device-width: 680px)' : "(max-device-width: 680px)" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/undeclaredModuleError.types b/tests/baselines/reference/undeclaredModuleError.types index 23ad58241ce3a..da0d54d795717 100644 --- a/tests/baselines/reference/undeclaredModuleError.types +++ b/tests/baselines/reference/undeclaredModuleError.types @@ -83,11 +83,11 @@ function instrumentFile(covFileDir: string, covFileName: string, originalFilePat >files.forEach((file) => { var fullPath = join(IDoNotExist); } ) : void > : ^^^^ >files.forEach : (callbackfn: (value: {}, index: number, array: {}[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^ >files : {}[] > : ^^^^ >forEach : (callbackfn: (value: {}, index: number, array: {}[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(file) => { var fullPath = join(IDoNotExist); } : (file: {}) => void > : ^ ^^^^^^^^^^^^^ >file : {} diff --git a/tests/baselines/reference/undefinedArgumentInference.types b/tests/baselines/reference/undefinedArgumentInference.types index 452830ea84999..67f3b980b006b 100644 --- a/tests/baselines/reference/undefinedArgumentInference.types +++ b/tests/baselines/reference/undefinedArgumentInference.types @@ -21,7 +21,7 @@ var z1 = foo1({ x: undefined, y: undefined }); >z1 : any >foo1({ x: undefined, y: undefined }) : any >foo1 : (f1: { x: T; y: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ x: undefined, y: undefined } : { x: undefined; y: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : undefined diff --git a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types index 5a4563f78a892..4d788cb55640e 100644 --- a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types +++ b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types @@ -45,10 +45,10 @@ if (s.value !== undefined) { s; >s : { type: "string"; value: string; } | { type: "number"; value: number; } | { type: "unknown"; value: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ } else { s; >s : { type: "unknown"; value: unknown; } | { value: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/undefinedInferentialTyping.types b/tests/baselines/reference/undefinedInferentialTyping.types index 63b4753d44eae..793968e5dd5ca 100644 --- a/tests/baselines/reference/undefinedInferentialTyping.types +++ b/tests/baselines/reference/undefinedInferentialTyping.types @@ -18,7 +18,7 @@ var a = f([], 3); // should be number >f([], 3) : 3 > : ^ >f : (arr: T[], elemnt: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >3 : 3 diff --git a/tests/baselines/reference/undefinedTypeArgument2.types b/tests/baselines/reference/undefinedTypeArgument2.types index 91478f5b5058d..38e5cb0ec84b8 100644 --- a/tests/baselines/reference/undefinedTypeArgument2.types +++ b/tests/baselines/reference/undefinedTypeArgument2.types @@ -5,7 +5,7 @@ interface Query { selectMany(selector: (item: T) => U[]): Query; >selectMany : { (selector: (item: T) => U[]): Query; (arraySelector: (item: T) => U_1[], resultSelector: (outer: T, inner: U_1) => R): Query; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >selector : (item: T) => U[] > : ^ ^^ ^^^^^ >item : T @@ -13,7 +13,7 @@ interface Query { selectMany(arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; >selectMany : { (selector: (item: T) => U_1[]): Query; (arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >arraySelector : (item: T) => U[] > : ^ ^^ ^^^^^ >item : T diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index f68fbda3f1b27..ed76e069050a6 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -121,11 +121,11 @@ class MyView extends View { >_.pluck(data, "series") : any[] > : ^^^^^ >_.pluck : (list: _.Collection, propertyName: string) => any[] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ >_ : typeof _ > : ^^^^^^^^ >pluck : (list: _.Collection, propertyName: string) => any[] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ >data : IData[] > : ^^^^^^^ >"series" : "series" @@ -135,19 +135,19 @@ class MyView extends View { >_.map(allSeries, _.first) : ISeries[] > : ^^^^^^^^^ >_.map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : typeof _ > : ^^^^^^^^ >map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >allSeries : ISeries[][] > : ^^^^^^^^^^^ >_.first : (array: _.List) => T -> : ^ ^^ ^^^^^^^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ >_ : typeof _ > : ^^^^^^^^ >first : (array: _.List) => T -> : ^ ^^ ^^^^^^^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ } } diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index b6aab53703021..7cd9b7565117f 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -12,7 +12,7 @@ declare var $; declare function alert(x: string): void; >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -20,11 +20,11 @@ _.each([1, 2, 3], (num) => alert(num.toString())); >_.each([1, 2, 3], (num) => alert(num.toString())) : void > : ^^^^ >_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -40,25 +40,25 @@ _.each([1, 2, 3], (num) => alert(num.toString())); >alert(num.toString()) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())); >_.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())) : void > : ^^^^ >_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -82,25 +82,25 @@ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(valu >alert(value.toString()) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >value.toString() : string > : ^^^^^^ >value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ _.map([1, 2, 3], (num) => num * 3); >_.map([1, 2, 3], (num) => num * 3) : number[] > : ^^^^^^^^ >_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -124,11 +124,11 @@ _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); >_.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3) : number[] > : ^^^^^^^^ >_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -162,11 +162,11 @@ var sum = _.reduce([1, 2, 3], (memo, num) => memo + num, 0); >_.reduce([1, 2, 3], (memo, num) => memo + num, 0) : number > : ^^^^^^ >_.reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -220,11 +220,11 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >_.reduceRight(list, (a, b) => a.concat(b), []) : number[] > : ^^^^^^^^ >_.reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >list : number[][] > : ^^^^^^^^^^ >(a, b) => a.concat(b) : (a: number[], b: number[]) => number[] @@ -236,11 +236,11 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >a.concat(b) : number[] > : ^^^^^^^^ >a.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : number[] > : ^^^^^^^^ >[] : undefined[] @@ -252,11 +252,11 @@ var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >_.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number > : ^^^^^^ >_.find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -292,11 +292,11 @@ var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >_.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] > : ^^^^^^^^ >_.filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -378,11 +378,11 @@ _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); >_.where(listOfPlays, { author: "Shakespeare", year: 1611 }) : { title: string; author: string; year: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >listOfPlays : { title: string; author: string; year: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ author: "Shakespeare", year: 1611 } : { author: string; year: number; } @@ -402,11 +402,11 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >_.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] > : ^^^^^^^^ >_.reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -440,11 +440,11 @@ _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean > : ^^^^^^^ >_.all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >[true, 1, null, 'yes'] : (string | number | true)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -454,21 +454,21 @@ _.all([true, 1, null, 'yes'], _.identity); >'yes' : "yes" > : ^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ _.any([null, 0, 'yes', false]); >_.any([null, 0, 'yes', false]) : boolean > : ^^^^^^^ >_.any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >[null, 0, 'yes', false] : (string | number | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -482,11 +482,11 @@ _.contains([1, 2, 3], 3); >_.contains([1, 2, 3], 3) : boolean > : ^^^^^^^ >_.contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -502,11 +502,11 @@ _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); >_.invoke([[5, 1, 7], [3, 2, 1]], 'sort') : any[] > : ^^^^^ >_.invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >[[5, 1, 7], [3, 2, 1]] : number[][] > : ^^^^^^^^^^ >[5, 1, 7] : number[] @@ -568,11 +568,11 @@ _.pluck(stooges, 'name'); >_.pluck(stooges, 'name') : any[] > : ^^^^^ >_.pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stooges : { name: string; age: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'name' : "name" @@ -582,11 +582,11 @@ _.max(stooges, (stooge) => stooge.age); >_.max(stooges, (stooge) => stooge.age) : { name: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >stooges : { name: string; age: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(stooge) => stooge.age : (stooge: { name: string; age: number; }) => number @@ -620,11 +620,11 @@ _.min(numbers); >_.min(numbers) : number > : ^^^^^^ >_.min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >numbers : number[] > : ^^^^^^^^ @@ -632,11 +632,11 @@ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >_.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)) : number[] > : ^^^^^^^^ >_.sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -658,11 +658,11 @@ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >Math.sin(num) : number > : ^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >num : number > : ^^^^^^ @@ -672,7 +672,7 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >_([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floor(e)) : Dictionary > : ^^^^^^^^^^^^^^^^^^^^ >_([1.3, 2.1, 2.4]).groupBy : { (iterator?: Iterator_, context?: any): Dictionary; (propertyName: string): Dictionary; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^ ^^^ >_([1.3, 2.1, 2.4]) : Underscore.WrappedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_ : Underscore.Static @@ -686,7 +686,7 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >2.4 : 2.4 > : ^^^ >groupBy : { (iterator?: Iterator_, context?: any): Dictionary; (propertyName: string): Dictionary; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^ ^^^ >(e: number, i?: number, list?: number[]) => Math.floor(e) : (e: number, i?: number, list?: number[]) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >e : number @@ -698,11 +698,11 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >Math.floor(e) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : number > : ^^^^^^ @@ -710,11 +710,11 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >_.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)) : Dictionary > : ^^^^^^^^^^^^^^^^^^^^ >_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1.3, 2.1, 2.4] : number[] > : ^^^^^^^^ >1.3 : 1.3 @@ -730,11 +730,11 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >Math.floor(num) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >num : number > : ^^^^^^ @@ -742,11 +742,11 @@ _.groupBy(['one', 'two', 'three'], 'length'); >_.groupBy(['one', 'two', 'three'], 'length') : Dictionary > : ^^^^^^^^^^^^^^^^^^^^ >_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >['one', 'two', 'three'] : string[] > : ^^^^^^^^ >'one' : "one" @@ -762,11 +762,11 @@ _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >_.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd') : Dictionary > : ^^^^^^^^^^^^^^^^^^ >_.countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3, 4, 5] : number[] > : ^^^^^^^^ >1 : 1 @@ -804,11 +804,11 @@ _.shuffle([1, 2, 3, 4, 5, 6]); >_.shuffle([1, 2, 3, 4, 5, 6]) : number[] > : ^^^^^^^^ >_.shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -830,11 +830,11 @@ _.size({ one: 1, two: 2, three: 3 }); >_.size({ one: 1, two: 2, three: 3 }) : number > : ^^^^^^ >_.size : { (list: T[]): number; (list: Dictionary): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >size : { (list: T[]): number; (list: Dictionary): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -856,11 +856,11 @@ _.first([5, 4, 3, 2, 1]); >_.first([5, 4, 3, 2, 1]) : number > : ^^^^^^ >_.first : { (list: T[]): T; (list: T[], count: number): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >first : { (list: T[]): T; (list: T[], count: number): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -878,11 +878,11 @@ _.initial([5, 4, 3, 2, 1]); >_.initial([5, 4, 3, 2, 1]) : number > : ^^^^^^ >_.initial : { (list: T[]): T; (list: T[], count: number): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >initial : { (list: T[]): T; (list: T[], count: number): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -900,11 +900,11 @@ _.last([5, 4, 3, 2, 1]); >_.last([5, 4, 3, 2, 1]) : number > : ^^^^^^ >_.last : { (list: T[]): T; (list: T[], count: number): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >last : { (list: T[]): T; (list: T[], count: number): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -922,11 +922,11 @@ _.rest([5, 4, 3, 2, 1]); >_.rest([5, 4, 3, 2, 1]) : number[] > : ^^^^^^^^ >_.rest : (list: T[], index?: number) => T[] -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >rest : (list: T[], index?: number) => T[] -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -944,11 +944,11 @@ _.compact([0, 1, false, 2, '', 3]); >_.compact([0, 1, false, 2, '', 3]) : (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.compact : (list: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >compact : (list: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[0, 1, false, 2, '', 3] : (string | number | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -968,11 +968,11 @@ _.flatten([1, 2, 3, 4]); >_.flatten([1, 2, 3, 4]) : unknown[] > : ^^^^^^^^^ >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -988,11 +988,11 @@ _.flatten([1, [2]]); >_.flatten([1, [2]]) : unknown[] > : ^^^^^^^^^ >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, [2]] : (number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -1007,11 +1007,11 @@ _.flatten([1, [2], [3, [[4]]]]); >_.flatten([1, [2], [3, [[4]]]]) : unknown[] > : ^^^^^^^^^ >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -1035,11 +1035,11 @@ _.flatten([1, [2], [3, [[4]]]], true); >_.flatten([1, [2], [3, [[4]]]], true) : unknown[] > : ^^^^^^^^^ >_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -1065,11 +1065,11 @@ _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); >_.without([1, 2, 1, 0, 3, 1, 4], 0, 1) : number[] > : ^^^^^^^^ >_.without : (list: T[], ...values: T[]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >without : (list: T[], ...values: T[]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >[1, 2, 1, 0, 3, 1, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -1095,11 +1095,11 @@ _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.union([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] > : ^^^^^^^^ >_.union : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >union : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1129,11 +1129,11 @@ _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] > : ^^^^^^^^ >_.intersection : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >intersection : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1163,11 +1163,11 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]); >_.difference([1, 2, 3, 4, 5], [5, 2, 10]) : number[] > : ^^^^^^^^ >_.difference : (list: T[], ...others: T[][]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >difference : (list: T[], ...others: T[][]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >[1, 2, 3, 4, 5] : number[] > : ^^^^^^^^ >1 : 1 @@ -1193,11 +1193,11 @@ _.uniq([1, 2, 1, 3, 1, 4]); >_.uniq([1, 2, 1, 3, 1, 4]) : number[] > : ^^^^^^^^ >_.uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 1, 3, 1, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -1217,11 +1217,11 @@ _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); >_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]) : Tuple3[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >['moe', 'larry', 'curly'] : string[] > : ^^^^^^^^ >'moe' : "moe" @@ -1251,11 +1251,11 @@ _.object(['moe', 'larry', 'curly'], [30, 40, 50]); >_.object(['moe', 'larry', 'curly'], [30, 40, 50]) : any > : ^^^ >_.object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >['moe', 'larry', 'curly'] : string[] > : ^^^^^^^^ >'moe' : "moe" @@ -1277,11 +1277,11 @@ _.object([['moe', 30], ['larry', 40], ['curly', 50]]); >_.object([['moe', 30], ['larry', 40], ['curly', 50]]) : any > : ^^^ >_.object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[['moe', 30], ['larry', 40], ['curly', 50]] : (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^ >['moe', 30] : (string | number)[] @@ -1307,11 +1307,11 @@ _.indexOf([1, 2, 3], 2); >_.indexOf([1, 2, 3], 2) : number > : ^^^^^^ >_.indexOf : (list: T[], value: T, isSorted?: boolean) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >indexOf : (list: T[], value: T, isSorted?: boolean) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1327,11 +1327,11 @@ _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); >_.lastIndexOf([1, 2, 3, 1, 2, 3], 2) : number > : ^^^^^^ >_.lastIndexOf : (list: T[], value: T, fromIndex?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >lastIndexOf : (list: T[], value: T, fromIndex?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >[1, 2, 3, 1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1353,11 +1353,11 @@ _.sortedIndex([10, 20, 30, 40, 50], 35); >_.sortedIndex([10, 20, 30, 40, 50], 35) : number > : ^^^^^^ >_.sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >[10, 20, 30, 40, 50] : number[] > : ^^^^^^^^ >10 : 10 @@ -1377,11 +1377,11 @@ _.range(10); >_.range(10) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >10 : 10 > : ^^ @@ -1389,11 +1389,11 @@ _.range(1, 11); >_.range(1, 11) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >11 : 11 @@ -1403,11 +1403,11 @@ _.range(0, 30, 5); >_.range(0, 30, 5) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >0 : 0 > : ^ >30 : 30 @@ -1419,11 +1419,11 @@ _.range(0, 30, 5); >_.range(0, 30, 5) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >0 : 0 > : ^ >30 : 30 @@ -1435,11 +1435,11 @@ _.range(0); >_.range(0) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >0 : 0 > : ^ @@ -1475,11 +1475,11 @@ var func2 = _.bind(func, { name: 'moe' }, 'hi'); >_.bind(func, { name: 'moe' }, 'hi') : Function > : ^^^^^^^^ >_.bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >func : (greeting: any) => string > : ^ ^^^^^^^^^^^^^^^^ >{ name: 'moe' } : { name: string; } @@ -1517,7 +1517,7 @@ var buttonView = { >alert('clicked: ' + this.label) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'clicked: ' + this.label : string > : ^^^^^^ >'clicked: ' : "clicked: " @@ -1537,7 +1537,7 @@ var buttonView = { >alert('hovering: ' + this.label) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'hovering: ' + this.label : string > : ^^^^^^ >'hovering: ' : "hovering: " @@ -1554,11 +1554,11 @@ _.bindAll(buttonView); >_.bindAll(buttonView) : { label: string; onClick: () => void; onHover: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.bindAll : (object: T, ...methodNames: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >bindAll : (object: T, ...methodNames: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >buttonView : { label: string; onClick: () => void; onHover: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1590,11 +1590,11 @@ var fibonacci = _.memoize(function (n) { >_.memoize(function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);}) : (n: any) => any > : ^ ^^^^^^^^^^^^^ >_.memoize : (func: T, hashFunction?: Function) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >memoize : (func: T, hashFunction?: Function) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);} : (n: any) => any > : ^ ^^^^^^^^^^^^^ >n : any @@ -1642,11 +1642,11 @@ var log = _.bind((message?: string, ...rest: string[]) => { }, Date); >_.bind((message?: string, ...rest: string[]) => { }, Date) : (message?: string, ...rest: string[]) => void > : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >_.bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >(message?: string, ...rest: string[]) => { } : (message?: string, ...rest: string[]) => void > : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >message : string @@ -1660,11 +1660,11 @@ _.delay(log, 1000, 'logged later'); >_.delay(log, 1000, 'logged later') : number > : ^^^^^^ >_.delay : (func: Function, wait: number, ...args: any[]) => number -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >delay : (func: Function, wait: number, ...args: any[]) => number -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >log : (message?: string, ...rest: string[]) => void > : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >1000 : 1000 @@ -1676,17 +1676,17 @@ _.defer(function () { alert('deferred'); }); >_.defer(function () { alert('deferred'); }) : number > : ^^^^^^ >_.defer : (func: Function, ...args: any[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >defer : (func: Function, ...args: any[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >function () { alert('deferred'); } : () => void > : ^^^^^^^^^^ >alert('deferred') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'deferred' : "deferred" > : ^^^^^^^^^^ @@ -1698,7 +1698,7 @@ var updatePosition = () => alert('updating position...'); >alert('updating position...') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'updating position...' : "updating position..." > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -1708,11 +1708,11 @@ var throttled = _.throttle(updatePosition, 100); >_.throttle(updatePosition, 100) : () => void > : ^^^^^^^^^^ >_.throttle : (func: T, wait: number) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >throttle : (func: T, wait: number) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >updatePosition : () => void > : ^^^^^^^^^^ >100 : 100 @@ -1740,7 +1740,7 @@ var calculateLayout = () => alert('calculating layout...'); >alert('calculating layout...') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'calculating layout...' : "calculating layout..." > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -1750,11 +1750,11 @@ var lazyLayout = _.debounce(calculateLayout, 300); >_.debounce(calculateLayout, 300) : () => void > : ^^^^^^^^^^ >_.debounce : (func: T, wait: number, immediate?: boolean) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >debounce : (func: T, wait: number, immediate?: boolean) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >calculateLayout : () => void > : ^^^^^^^^^^ >300 : 300 @@ -1782,7 +1782,7 @@ var createApplication = () => alert('creating application...'); >alert('creating application...') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'creating application...' : "creating application..." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1792,11 +1792,11 @@ var initialize = _.once(createApplication); >_.once(createApplication) : () => void > : ^^^^^^^^^^ >_.once : (func: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >once : (func: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >createApplication : () => void > : ^^^^^^^^^^ @@ -1824,7 +1824,7 @@ var render = () => alert("rendering..."); >alert("rendering...") : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >"rendering..." : "rendering..." > : ^^^^^^^^^^^^^^ @@ -1834,11 +1834,11 @@ var renderNotes = _.after(notes.length, render); >_.after(notes.length, render) : () => void > : ^^^^^^^^^^ >_.after : (count: number, func: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >after : (count: number, func: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >notes.length : number > : ^^^^^^ >notes : any[] @@ -1852,11 +1852,11 @@ _.each(notes, (note) => note.asyncSave({ success: renderNotes })); >_.each(notes, (note) => note.asyncSave({ success: renderNotes })) : void > : ^^^^ >_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >notes : any[] > : ^^^^^ >(note) => note.asyncSave({ success: renderNotes }) : (note: any) => any @@ -1900,11 +1900,11 @@ hello = _.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after" >_.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after"; }) : (name: any) => string > : ^ ^^^^^^^^^^^^^^^^ >_.wrap : (func: T, wrapper: (func: T, ...args: any[]) => any) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >wrap : (func: T, wrapper: (func: T, ...args: any[]) => any) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >hello : (name: any) => string > : ^ ^^^^^^^^^^^^^^^^ >(func, arg) => { return "before, " + func(arg) + ", after"; } : (func: (name: any) => string, arg: any) => string @@ -1970,11 +1970,11 @@ var welcome = _.compose(exclaim, greet); >_.compose(exclaim, greet) : Function > : ^^^^^^^^ >_.compose : (...funcs: Function[]) => Function -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >compose : (...funcs: Function[]) => Function -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >exclaim : (statement: any) => string > : ^ ^^^^^^^^^^^^^^^^ >greet : (name: any) => string @@ -1994,11 +1994,11 @@ _.keys({ one: 1, two: 2, three: 3 }); >_.keys({ one: 1, two: 2, three: 3 }) : string[] > : ^^^^^^^^ >_.keys : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >keys : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -2018,11 +2018,11 @@ _.values({ one: 1, two: 2, three: 3 }); >_.values({ one: 1, two: 2, three: 3 }) : any[] > : ^^^^^ >_.values : (object: any) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >values : (object: any) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -2042,11 +2042,11 @@ _.pairs({ one: 1, two: 2, three: 3 }); >_.pairs({ one: 1, two: 2, three: 3 }) : any[][] > : ^^^^^^^ >_.pairs : (object: any) => any[][] -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >pairs : (object: any) => any[][] -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -2066,11 +2066,11 @@ _.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }); >_.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }) : any > : ^^^ >_.invert : (object: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >invert : (object: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ Moe: "Moses", Larry: "Louis", Curly: "Jerome" } : { Moe: string; Larry: string; Curly: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Moe : string @@ -2090,11 +2090,11 @@ _.functions(_); >_.functions(_) : string[] > : ^^^^^^^^ >_.functions : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >functions : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ @@ -2102,11 +2102,11 @@ _.extend({ name: 'moe' }, { age: 50 }); >_.extend({ name: 'moe' }, { age: 50 }) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >_.extend : (destination: T, ...sources: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >extend : (destination: T, ...sources: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >{ name: 'moe' } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -2124,11 +2124,11 @@ _.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age'); >_.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age') : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.pick : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >pick : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -2152,11 +2152,11 @@ _.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid'); >_.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid') : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.omit : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >omit : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -2188,11 +2188,11 @@ _.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }); >_.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }) : { flavor: string; } > : ^^^^^^^^^^^^^^^^^^^ >_.defaults : (object: T, ...defaults: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >defaults : (object: T, ...defaults: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >iceCream : { flavor: string; } > : ^^^^^^^^^^^^^^^^^^^ >{ flavor: "vanilla", sprinkles: "lots" } : { flavor: string; sprinkles: string; } @@ -2210,11 +2210,11 @@ _.clone({ name: 'moe' }); >_.clone({ name: 'moe' }) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >_.clone : (object: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >clone : (object: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ name: 'moe' } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -2230,23 +2230,23 @@ _.chain([1, 2, 3, 200]) >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map(function (num) { return num * num }) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain([1, 2, 3, 200]) .filter : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >_.chain([1, 2, 3, 200]) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 200] : number[] > : ^^^^^^^^ >1 : 1 @@ -2260,7 +2260,7 @@ _.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) >filter : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >function (num) { return num % 2 == 0; } : (num: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >num : number @@ -2278,15 +2278,15 @@ _.chain([1, 2, 3, 200]) .tap(alert) >tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >alert : any > : ^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ .map(function (num) { return num * num }) >map : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >function (num) { return num * num } : (num: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -2306,11 +2306,11 @@ _.has({ a: 1, b: 2, c: 3 }, "b"); >_.has({ a: 1, b: 2, c: 3 }, "b") : boolean > : ^^^^^^^ >_.has : (object: any, key: string) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >has : (object: any, key: string) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: 2, c: 3 } : { a: number; b: number; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -2380,11 +2380,11 @@ _.isEqual(moe, clone); >_.isEqual(moe, clone) : boolean > : ^^^^^^^ >_.isEqual : (object: T, other: T) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isEqual : (object: T, other: T) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >moe : { name: string; luckyNumbers: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >clone : { name: string; luckyNumbers: number[]; } @@ -2394,11 +2394,11 @@ _.isEmpty([1, 2, 3]); >_.isEmpty([1, 2, 3]) : boolean > : ^^^^^^^ >_.isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -2412,11 +2412,11 @@ _.isEmpty({}); >_.isEmpty({}) : boolean > : ^^^^^^^ >_.isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -2424,11 +2424,11 @@ _.isElement($('body')[0]); >_.isElement($('body')[0]) : boolean > : ^^^^^^^ >_.isElement : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isElement : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >$('body')[0] : any > : ^^^ >$('body') : any @@ -2450,11 +2450,11 @@ _.isElement($('body')[0]); >_.isArray(arguments) : boolean > : ^^^^^^^ >_.isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arguments : IArguments > : ^^^^^^^^^^ @@ -2462,11 +2462,11 @@ _.isArray([1, 2, 3]); >_.isArray([1, 2, 3]) : boolean > : ^^^^^^^ >_.isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -2480,11 +2480,11 @@ _.isObject({}); >_.isObject({}) : boolean > : ^^^^^^^ >_.isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -2492,11 +2492,11 @@ _.isObject(1); >_.isObject(1) : boolean > : ^^^^^^^ >_.isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -2506,11 +2506,11 @@ _.isArguments([1, 2, 3]); >_.isArguments([1, 2, 3]) : boolean > : ^^^^^^^ >_.isArguments : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isArguments : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -2524,23 +2524,23 @@ _.isFunction(alert); >_.isFunction(alert) : boolean > : ^^^^^^^ >_.isFunction : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isFunction : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ _.isString("moe"); >_.isString("moe") : boolean > : ^^^^^^^ >_.isString : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isString : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"moe" : "moe" > : ^^^^^ @@ -2548,11 +2548,11 @@ _.isNumber(8.4 * 5); >_.isNumber(8.4 * 5) : boolean > : ^^^^^^^ >_.isNumber : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNumber : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >8.4 * 5 : number > : ^^^^^^ >8.4 : 8.4 @@ -2564,11 +2564,11 @@ _.isFinite(-101); >_.isFinite(-101) : boolean > : ^^^^^^^ >_.isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-101 : -101 > : ^^^^ >101 : 101 @@ -2578,11 +2578,11 @@ _.isFinite(-Infinity); >_.isFinite(-Infinity) : boolean > : ^^^^^^^ >_.isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-Infinity : number > : ^^^^^^ >Infinity : number @@ -2592,21 +2592,21 @@ _.isBoolean(null); >_.isBoolean(null) : boolean > : ^^^^^^^ >_.isBoolean : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isBoolean : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ _.isDate(new Date()); >_.isDate(new Date()) : boolean > : ^^^^^^^ >_.isDate : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isDate : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor @@ -2616,11 +2616,11 @@ _.isRegExp(/moe/); >_.isRegExp(/moe/) : boolean > : ^^^^^^^ >_.isRegExp : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isRegExp : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/moe/ : RegExp > : ^^^^^^ @@ -2628,11 +2628,11 @@ _.isNaN(NaN); >_.isNaN(NaN) : boolean > : ^^^^^^^ >_.isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >NaN : number > : ^^^^^^ @@ -2640,7 +2640,7 @@ isNaN(undefined); >isNaN(undefined) : boolean > : ^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -2648,11 +2648,11 @@ _.isNaN(undefined); >_.isNaN(undefined) : boolean > : ^^^^^^^ >_.isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -2660,21 +2660,21 @@ _.isNull(null); >_.isNull(null) : boolean > : ^^^^^^^ >_.isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ _.isNull(undefined); >_.isNull(undefined) : boolean > : ^^^^^^^ >_.isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -2682,11 +2682,11 @@ _.isUndefined((null).missingVariable); >_.isUndefined((null).missingVariable) : boolean > : ^^^^^^^ >_.isUndefined : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isUndefined : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(null).missingVariable : any > : ^^^ >(null) : any @@ -2728,11 +2728,11 @@ moe2 === _.identity(moe); >_.identity(moe) : { name: string; luckyNumbers: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >moe : { name: string; luckyNumbers: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2744,11 +2744,11 @@ _.times(3, function (n) { genie.grantWishNumber(n); }); >_.times(3, function (n) { genie.grantWishNumber(n); }) : void[] > : ^^^^^^ >_.times : (n: number, iterator: Iterator_, context?: any) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >times : (n: number, iterator: Iterator_, context?: any) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >3 : 3 > : ^ >function (n) { genie.grantWishNumber(n); } : (n: number) => void @@ -2770,11 +2770,11 @@ _.random(0, 100); >_.random(0, 100) : number > : ^^^^^^ >_.random : { (max: number): number; (min: number, max: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >random : { (max: number): number; (min: number, max: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >100 : 100 @@ -2784,11 +2784,11 @@ _.mixin({ >_.mixin({ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }}) : void > : ^^^^ >_.mixin : (object: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >mixin : (object: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }} : { capitalize: (string: any) => any; } > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ @@ -2859,11 +2859,11 @@ _.uniqueId('contact_'); >_.uniqueId('contact_') : string > : ^^^^^^ >_.uniqueId : { (): number; (prefix: string): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >uniqueId : { (): number; (prefix: string): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >'contact_' : "contact_" > : ^^^^^^^^^^ @@ -2871,11 +2871,11 @@ _.escape('Curly, Larry & Moe'); >_.escape('Curly, Larry & Moe') : string > : ^^^^^^ >_.escape : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >escape : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'Curly, Larry & Moe' : "Curly, Larry & Moe" > : ^^^^^^^^^^^^^^^^^^^^ @@ -2899,11 +2899,11 @@ _.result(object, 'cheese'); >_.result(object, 'cheese') : any > : ^^^ >_.result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >object : { cheese: string; stuff: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'cheese' : "cheese" @@ -2913,11 +2913,11 @@ _.result(object, 'stuff'); >_.result(object, 'stuff') : any > : ^^^ >_.result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >object : { cheese: string; stuff: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'stuff' : "stuff" @@ -2925,15 +2925,15 @@ _.result(object, 'stuff'); var compiled = _.template("hello: <%= name %>"); >compiled : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_.template("hello: <%= name %>") : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"hello: <%= name %>" : "hello: <%= name %>" > : ^^^^^^^^^^^^^^^^^^^^ @@ -2941,7 +2941,7 @@ compiled({ name: 'moe' }); >compiled({ name: 'moe' }) : string > : ^^^^^^ >compiled : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ name: 'moe' } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -2959,11 +2959,11 @@ _.template(list2, { people: ['moe', 'curly', 'larry'] }); >_.template(list2, { people: ['moe', 'curly', 'larry'] }) : string > : ^^^^^^ >_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >list2 : string > : ^^^^^^ >{ people: ['moe', 'curly', 'larry'] } : { people: string[]; } @@ -2981,15 +2981,15 @@ _.template(list2, { people: ['moe', 'curly', 'larry'] }); var template = _.template("<%- value %>"); >template : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_.template("<%- value %>") : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"<%- value %>" : "<%- value %>" > : ^^^^^^^^^^^^^^^^^^^^^ @@ -2997,7 +2997,7 @@ template({ value: '

    , child: P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >InferFunctionTypes : typeof InferFunctionTypes > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >[(foo) => "" + foo] : ((foo: number) => string)[] @@ -460,7 +460,7 @@ passContentsToFunc(outerBoxOfString, box => box.value); >passContentsToFunc(outerBoxOfString, box => box.value) : void > : ^^^^ >passContentsToFunc : (outerBox: T, consumer: BoxConsumerFromOuterBox) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >outerBoxOfString : OuterBox > : ^^^^^^^^^^^^^^^^ >box => box.value : (box: InnerBox) => string @@ -494,17 +494,17 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; } : () => "SOMETHING" | "ELSE" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -536,17 +536,17 @@ class Interesting { >Promise.resolve().then(() => { return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { return 'ELSE'; } : () => "ELSE" > : ^^^^^^^^^^^^ @@ -566,17 +566,17 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; }) : Promise<"SOMETHING" | "ELSE"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; } : () => "SOMETHING" > : ^^^^^^^^^^^^^^^^^ @@ -614,7 +614,7 @@ let xx: 0 | 1 | 2 = invoke(() => 1); >invoke(() => 1) : 1 > : ^ >invoke : (f: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => 1 : () => 1 > : ^^^^^^^ >1 : 1 @@ -647,7 +647,7 @@ assignPartial(obj, { foo(...args) {} }); // args has type [string] >assignPartial(obj, { foo(...args) {} }) : { foo(bar: string): void; } > : ^^^^^^ ^^ ^^^^^^^^^^ >assignPartial : (target: T, partial: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { foo(bar: string): void; } > : ^^^^^^ ^^ ^^^^^^^^^^ >{ foo(...args) {} } : { foo(bar: string): void; } diff --git a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types index ebdd380a94240..19a7e52635da2 100644 --- a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types +++ b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types @@ -31,11 +31,11 @@ $.each(lines, function(dit) { >$.each(lines, function(dit) { return dit.charAt(0) + this.charAt(1);}) : string[] > : ^^^^^^^^ >$.each : (collection: T[], callback: (this: T, dit: T) => T) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >$ : JQuery > : ^^^^^^ >each : (collection: T[], callback: (this: T, dit: T) => T) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >lines : string[] > : ^^^^^^^^ >function(dit) { return dit.charAt(0) + this.charAt(1);} : (this: string, dit: string) => string @@ -49,21 +49,21 @@ $.each(lines, function(dit) { >dit.charAt(0) : string > : ^^^^^^ >dit.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >dit : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >this.charAt(1) : string > : ^^^^^^ >this.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/instantiateCrossFileMerge.types b/tests/baselines/reference/instantiateCrossFileMerge.types index c06c0c75addfb..73b16139e6da9 100644 --- a/tests/baselines/reference/instantiateCrossFileMerge.types +++ b/tests/baselines/reference/instantiateCrossFileMerge.types @@ -22,13 +22,13 @@ new P(r => { r('foo') }); >P : typeof P > : ^^^^^^^^ >r => { r('foo') } : (r: (value: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ >r : (value: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >r('foo') : void > : ^^^^ >r : (value: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types index 41855d7e169a1..122bffd2bd563 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types @@ -31,7 +31,7 @@ var r = new Foo(); >new Foo() : any > : ^^^ >Foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var f: { (): void }; >f : () => void @@ -43,7 +43,7 @@ var r2 = new f(); >new f() : any > : ^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var a: any; >a : any diff --git a/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types b/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types index 0e7d295264c20..9022c7af1e90e 100644 --- a/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types +++ b/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types @@ -8,9 +8,9 @@ */ const seq = a => b => b; >seq : (a: T) => (b: T) => T -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a => b => b : (a: T) => (b: T) => T -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : T > : ^ >b => b : (b: T) => T @@ -41,7 +41,7 @@ var text3 = seq(text1)(text2); >seq(text1) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >seq : (a: T) => (b: T) => T -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >text1 : "hello" > : ^^^^^^^ >text2 : "world" diff --git a/tests/baselines/reference/instantiatedModule.types b/tests/baselines/reference/instantiatedModule.types index b8567423b7b7e..ac3ccdbe4841b 100644 --- a/tests/baselines/reference/instantiatedModule.types +++ b/tests/baselines/reference/instantiatedModule.types @@ -67,7 +67,7 @@ var p1: { x: number; y: number; } var p1: M.Point; >p1 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M : any > : ^^^ @@ -175,13 +175,13 @@ var p2: { x: number; y: number } var p2: M2.Point; >p2 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M2 : any > : ^^^ var p2 = new m2.Point(); >p2 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new m2.Point() : M2.Point > : ^^^^^^^^ >m2.Point : typeof M2.Point @@ -193,7 +193,7 @@ var p2 = new m2.Point(); var p2 = new M2.Point(); >p2 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new M2.Point() : M2.Point > : ^^^^^^^^ >M2.Point : typeof M2.Point diff --git a/tests/baselines/reference/instantiatedTypeAliasDisplay.types b/tests/baselines/reference/instantiatedTypeAliasDisplay.types index af7374e09779f..8873ef7752193 100644 --- a/tests/baselines/reference/instantiatedTypeAliasDisplay.types +++ b/tests/baselines/reference/instantiatedTypeAliasDisplay.types @@ -39,7 +39,7 @@ const x1 = f1(); // Z >f1() : Z > : ^^^^^^^^^^^^^^^^^ >f1 : () => Z -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ const x2 = f2({}, {}, {}, {}); // Z<{}, string[]> >x2 : Z<{}, string[]> @@ -47,7 +47,7 @@ const x2 = f2({}, {}, {}, {}); // Z<{}, string[]> >f2({}, {}, {}, {}) : Z<{}, string[]> > : ^^^^^^^^^^^^^^^ >f2 : (a: A, b: B, c: C, d: D) => Z -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >{} : {} diff --git a/tests/baselines/reference/instantiationExpressionErrors.types b/tests/baselines/reference/instantiationExpressionErrors.types index d94f5a7cad158..4e3f48011433c 100644 --- a/tests/baselines/reference/instantiationExpressionErrors.types +++ b/tests/baselines/reference/instantiationExpressionErrors.types @@ -11,11 +11,11 @@ declare let f: { (): T, g(): U }; const a1 = f; // { (): number; g(): U; } >a1 : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const a2 = f.g; // () => number >a2 : () => number @@ -23,23 +23,23 @@ const a2 = f.g; // () => number >f.g : () => number > : ^^^^^^^^^^^^ >f.g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const a3 = f.g; // () => U >a3 : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f.g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const a4 = f.g; // () => number >a4 : () => number @@ -47,13 +47,13 @@ const a4 = f.g; // () => number >f.g : () => number > : ^^^^^^^^^^^^ >f.g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const a5 = f['g']; // () => number >a5 : () => number @@ -61,9 +61,9 @@ const a5 = f['g']; // () => number >f['g'] : () => number > : ^^^^^^^^^^^^ >f['g'] : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >'g' : "g" > : ^^^ @@ -77,7 +77,7 @@ const a6 = f['g']; // Error >f : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >number : any > : ^^^ >['g'] : string[] @@ -87,15 +87,15 @@ const a6 = f['g']; // Error const a7 = (f)['g']; >a7 : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(f)['g'] : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(f) : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >'g' : "g" > : ^^^ @@ -109,7 +109,7 @@ const a8 = f; // Relational operator error >f : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >number : any > : ^^^ > : number @@ -119,15 +119,15 @@ const a8 = f; // Relational operator error const a9 = (f); // Error, no applicable signatures >a9 : { g(): U; } -> : ^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^ ^^^ >(f) : { g(): U; } -> : ^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^ ^^^ >(f) : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ // Type arguments with `?.` token @@ -137,7 +137,7 @@ const b1 = f?.; // Error, `(` expected >f?. : number > : ^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const b2 = f?.(); >b2 : number @@ -145,7 +145,7 @@ const b2 = f?.(); >f?.() : number > : ^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const b3 = f?.(); >b3 : number @@ -153,9 +153,9 @@ const b3 = f?.(); >f?.() : number > : ^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const b4 = f?.(); // Error, expected no type arguments >b4 : number @@ -163,9 +163,9 @@ const b4 = f?.(); // Error, expected no type arguments >f?.() : number > : ^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ // Instantiation expression and binary operators @@ -183,7 +183,7 @@ const c1 = g || ((x: string) => x); >g : ((x: string) => string) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : ((x: T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >(x: string) => x : (x: string) => string @@ -201,7 +201,7 @@ const c2 = g ?? ((x: string) => x); >g : ((x: string) => string) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : ((x: T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >(x: string) => x : (x: string) => string @@ -219,7 +219,7 @@ const c3 = g && ((x: string) => x); >g : ((x: string) => string) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : ((x: T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >(x: string) => x : (x: string) => string @@ -237,7 +237,7 @@ const x1 = f >f(true) : true > : ^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -255,7 +255,7 @@ const r1 = f < true > true; >f < true : boolean > : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ >true : true @@ -269,7 +269,7 @@ const r2 = f < true > +1; >f < true : boolean > : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ >+1 : 1 @@ -285,7 +285,7 @@ const r3 = f < true > -1; >f < true : boolean > : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ >-1 : -1 @@ -297,11 +297,11 @@ const r3 = f < true > -1; const x2 = f >x2 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -311,11 +311,11 @@ true; const x3 = f; >x3 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -325,11 +325,11 @@ true; const x4 = f >x4 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -339,11 +339,11 @@ if (true) {} const x5 = f >x5 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -355,11 +355,11 @@ let yy = 0; const x6 = f >x6 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -367,11 +367,11 @@ interface I {} let x10 = f >x10 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -387,11 +387,11 @@ this.bar() let x11 = f >x11 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -401,11 +401,11 @@ function bar() {} let x12 = f >x12 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -415,11 +415,11 @@ class C {} let x13 = f >x13 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -431,11 +431,11 @@ bar() let x14 = f >x14 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -453,11 +453,11 @@ class C1 { static specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ static bar = 123 >bar : number @@ -472,11 +472,11 @@ class C2 { public specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ public bar = 123 >bar : number @@ -491,11 +491,11 @@ class C3 { private specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ private bar = 123 >bar : number @@ -510,11 +510,11 @@ class C4 { protected specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ protected bar = 123 >bar : number diff --git a/tests/baselines/reference/instantiationExpressions.types b/tests/baselines/reference/instantiationExpressions.types index ca01d150e5020..42a9c0119da2a 100644 --- a/tests/baselines/reference/instantiationExpressions.types +++ b/tests/baselines/reference/instantiationExpressions.types @@ -3,13 +3,13 @@ === instantiationExpressions.ts === declare function fx(x: T): T; >fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_1, U]): [T_1, U]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function fx(x: T, n: number): T; >fx : { (x: T_1): T_1; (x: T, n: number): T; (t: [T_1, U]): [T_1, U]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >n : number @@ -17,7 +17,7 @@ declare function fx(x: T, n: number): T; declare function fx(t: [T, U]): [T, U]; >fx : { (x: T_1): T_1; (x: T_1, n: number): T_1; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >t : [T, U] > : ^^^^^^ @@ -27,11 +27,11 @@ function f1() { let f0 = fx<>; // Error >f0 : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fx<> : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let f1 = fx; // { (x: string): string; (x: string, n: number): string; } >f1 : { (x: string): string; (x: string, n: number): string; } @@ -39,15 +39,15 @@ function f1() { >fx : { (x: string): string; (x: string, n: number): string; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let f2 = fx; // (t: [string, number]) => [string, number] >f2 : (t: [string, number]) => [string, number] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >fx : (t: [string, number]) => [string, number] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let f3 = fx; // Error >f3 : {} @@ -55,32 +55,32 @@ function f1() { >fx : {} > : ^^ >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } type T10 = typeof fx<>; // Error >T10 : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ type T11 = typeof fx; // { (x: string): string; (x: string, n: number): string; } >T11 : typeof fx > : >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ type T12 = typeof fx; // (t: [string, number]) => [string, number] >T12 : typeof fx > : >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ type T13 = typeof fx; // Error >T13 : typeof fx > : >fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ function f2() { >f2 : () => void @@ -96,17 +96,17 @@ function f2() { const A1 = Array; // new (...) => string[] >A1 : { (arrayLength: number): string[]; (...items: string[]): string[]; new (arrayLength: number): string[]; new (...items: string[]): string[]; isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : { (arrayLength: number): string[]; (...items: string[]): string[]; new (arrayLength: number): string[]; new (...items: string[]): string[]; isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ const A2 = Array; // Error >A2 : { isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : { isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ } @@ -150,23 +150,23 @@ function f3() { let c1 = C; // { new (x: string): C; f(x: U): T[]; prototype: C; } >c1 : { new (x: string): C; prototype: C; f(x: U): U[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ >C : { new (x: string): C; prototype: C; f(x: U): U[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ let f1 = C.f; // (x: string) => string[] >f1 : (x: string) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >C.f : (x: string) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >C.f : (x: U) => U[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >f : (x: U) => U[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } function f10(f: { (a: T): T, (a: U, b: number): U[] }) { @@ -183,11 +183,11 @@ function f10(f: { (a: T): T, (a: U, b: number): U[] }) { let fs = f; // { (a: string): string; (a: string, b: number): string[]; } >fs : { (a: string): string; (a: string, b: number): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { (a: string): string; (a: string, b: number): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { (a: T): T; (a: U, b: number): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ } function f11(f: { (a: T): T, (a: string, b: number): string[] }) { @@ -208,7 +208,7 @@ function f11(f: { (a: T): T, (a: string, b: number): string[] }) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : { (a: T): T; (a: string, b: number): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } function f12(f: { (a: T): T, x: string }) { @@ -223,11 +223,11 @@ function f12(f: { (a: T): T, x: string }) { let fs = f; // { (a: string): string; x: string; } >fs : { (a: string): string; x: string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : { (a: string): string; x: string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : { (a: T): T; x: string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^^ } function f13(f: { x: string, y: string }) { @@ -242,11 +242,11 @@ function f13(f: { x: string, y: string }) { let fs = f; // Error, no applicable signatures >fs : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f14(f: { new (a: T): T, new (a: U, b: number): U[] }) { @@ -263,11 +263,11 @@ function f14(f: { new (a: T): T, new (a: U, b: number): U[] }) { let fs = f; // { new (a: string): string; new (a: string, b: number): string[]; } >fs : { new (a: string): string; new (a: string, b: number): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { new (a: string): string; new (a: string, b: number): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { new (a: T): T; new (a: U, b: number): U[]; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ } function f15(f: { new (a: T): T, (a: U, b: number): U[] }) { @@ -284,11 +284,11 @@ function f15(f: { new (a: T): T, (a: U, b: number): U[] }) { let fs = f; // { new (a: string): string; (a: string, b: number): string[]; } >fs : { (a: string, b: number): string[]; new (a: string): string; } -> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { (a: string, b: number): string[]; new (a: string): string; } -> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { (a: U, b: number): U[]; new (a: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } function f16(f: { new (a: T): T, (a: string, b: number): string[] }) { @@ -309,7 +309,7 @@ function f16(f: { new (a: T): T, (a: string, b: number): string[] }) { >f : new (a: string) => string > : ^^^^^ ^^^^^^^^^^^^^^^^^^^ >f : { (a: string, b: number): string[]; new (a: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } function f17(f: { (a: T): T, new (a: string, b: number): string[] }) { @@ -330,7 +330,7 @@ function f17(f: { (a: T): T, new (a: string, b: number): string[] }) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : { (a: T): T; new (a: string, b: number): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ } function f20(f: ((a: T) => T) & ((a: U, b: number) => U[])) { @@ -347,11 +347,11 @@ function f20(f: ((a: T) => T) & ((a: U, b: number) => U[])) { let fs = f; // ((a: string) => string) & ((a: string, b: number) => string[]]) >fs : ((a: string) => string) & ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: string) => string) & ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: T) => T) & ((a: U, b: number) => U[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f21(f: ((a: T) => T) & ((a: string, b: number) => string[])) { @@ -372,7 +372,7 @@ function f21(f: ((a: T) => T) & ((a: string, b: number) => string[])) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) & ((a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f22(f: ((a: T) => T) & { x: string }) { @@ -387,11 +387,11 @@ function f22(f: ((a: T) => T) & { x: string }) { let fs = f; // ((a: string) => string) & { x: string } >fs : ((a: string) => string) & { x: string; } -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : ((a: string) => string) & { x: string; } -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : ((a: T) => T) & { x: string; } -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ } function f23(f: { x: string } & { y: string }) { @@ -406,11 +406,11 @@ function f23(f: { x: string } & { y: string }) { let fs = f; // Error, no applicable signatures >fs : { x: string; } & { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } & { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } & { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } function f24(f: (new (a: T) => T) & (new (a: U, b: number) => U[])) { @@ -427,11 +427,11 @@ function f24(f: (new (a: T) => T) & (new (a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) & ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) & (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) & (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) & (new (a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f25(f: (new (a: T) => T) & ((a: U, b: number) => U[])) { @@ -448,11 +448,11 @@ function f25(f: (new (a: T) => T) & ((a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) & ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) & ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) & ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) & ((a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f26(f: (new (a: T) => T) & ((a: string, b: number) => string[])) { @@ -473,7 +473,7 @@ function f26(f: (new (a: T) => T) & ((a: string, b: number) => string[])) { >f : new (a: string) => string > : ^^^^^ ^^^^^^^^^^^^^^^^^^^ >f : (new (a: T) => T) & ((a: string, b: number) => string[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f27(f: ((a: T) => T) & (new (a: string, b: number) => string[])) { @@ -494,7 +494,7 @@ function f27(f: ((a: T) => T) & (new (a: string, b: number) => string[])) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) & (new (a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f30(f: ((a: T) => T) | ((a: U, b: number) => U[])) { @@ -511,11 +511,11 @@ function f30(f: ((a: T) => T) | ((a: U, b: number) => U[])) { let fs = f; // ((a: string) => string) | ((a: string, b: number) => string[]]) >fs : ((a: string) => string) | ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: string) => string) | ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: T) => T) | ((a: U, b: number) => U[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f31(f: ((a: T) => T) | ((a: string, b: number) => string[])) { @@ -536,7 +536,7 @@ function f31(f: ((a: T) => T) | ((a: string, b: number) => string[])) { >f : ((a: string) => string) | {} > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) | ((a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f32(f: ((a: T) => T) | { x: string }) { @@ -551,11 +551,11 @@ function f32(f: ((a: T) => T) | { x: string }) { let fs = f; // ((a: string) => string) | { x: string } >fs : { x: string; } | ((a: string) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { x: string; } | ((a: string) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { x: string; } | ((a: T) => T) -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^ ^^ ^^^^^ ^ } function f33(f: { x: string } | { y: string }) { @@ -570,11 +570,11 @@ function f33(f: { x: string } | { y: string }) { let fs = f; // Error, no applicable signatures >fs : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } function f34(f: (new (a: T) => T) | (new (a: U, b: number) => U[])) { @@ -591,11 +591,11 @@ function f34(f: (new (a: T) => T) | (new (a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) | ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) | (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) | (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) | (new (a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f35(f: (new (a: T) => T) | ((a: U, b: number) => U[])) { @@ -612,11 +612,11 @@ function f35(f: (new (a: T) => T) | ((a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) | ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) | ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) | ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) | ((a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f36(f: (new (a: T) => T) | ((a: string, b: number) => string[])) { @@ -637,7 +637,7 @@ function f36(f: (new (a: T) => T) | ((a: string, b: number) => string[])) { >f : (new (a: string) => string) | {} > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (new (a: T) => T) | ((a: string, b: number) => string[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f37(f: ((a: T) => T) | (new (a: string, b: number) => string[])) { @@ -658,7 +658,7 @@ function f37(f: ((a: T) => T) | (new (a: string, b: number) => string[])) { >f : ((a: string) => string) | {} > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) | (new (a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f38(x: A) => A) | ((x: B) => B[]), U>(f: T | U | ((x: C) => C[][])) { @@ -675,11 +675,11 @@ function f38(x: A) => A) | ((x: B) => B[]), U>(f: T | U | ( let fs = f; // U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) >fs : U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >f : U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >f : T | U | ((x: C) => C[][]) -> : ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^^^ ^ } function makeBox(value: T) { @@ -742,7 +742,7 @@ type T30 = typeof g1; // { (a: V) => { a: V }; new (b: V) => { b: V }; } >T30 : typeof g1 > : >g1 : { (a: T): { a: T; }; new (b: U): { b: U; }; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ type T31 = ReturnType>; // { a: A } >T31 : { a: A; } @@ -769,13 +769,13 @@ type T40 = typeof g2; // Error >T40 : typeof g2 > : >g2 : { (a: T): T; new (b: T): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ type T41 = typeof g2; // Error >T41 : typeof g2 > : >g2 : { (a: T): T; new (b: T): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ declare const g3: { >g3 : { (a: T): T; new (b: T): T; } @@ -794,11 +794,11 @@ type T50 = typeof g3; // (a: U) => U >T50 : typeof g3 > : >g3 : { (a: T): T; new (b: T): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ type T51 = typeof g3; // (b: U) => U >T51 : typeof g3 > : >g3 : { (a: T): T; new (b: T): T; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/intTypeCheck.types b/tests/baselines/reference/intTypeCheck.types index 8a9850b52d8d5..cf1d1dc400001 100644 --- a/tests/baselines/reference/intTypeCheck.types +++ b/tests/baselines/reference/intTypeCheck.types @@ -245,7 +245,7 @@ interface i11 { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -253,7 +253,7 @@ interface i11 { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any diff --git a/tests/baselines/reference/interMixingModulesInterfaces4.types b/tests/baselines/reference/interMixingModulesInterfaces4.types index 0c3b2cf4bb281..48a23496ae57f 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces4.types +++ b/tests/baselines/reference/interMixingModulesInterfaces4.types @@ -34,7 +34,7 @@ var x : number = A.B.createB(); >A.B.createB() : number > : ^^^^^^ >A.B.createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A.B : typeof A.B > : ^^^^^^^^^^ >A : typeof A @@ -42,5 +42,5 @@ var x : number = A.B.createB(); >B : typeof A.B > : ^^^^^^^^^^ >createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/interMixingModulesInterfaces5.types b/tests/baselines/reference/interMixingModulesInterfaces5.types index 221b446a20a6e..bbfc404c42fcf 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces5.types +++ b/tests/baselines/reference/interMixingModulesInterfaces5.types @@ -34,7 +34,7 @@ var x: number = A.B.createB(); >A.B.createB() : number > : ^^^^^^ >A.B.createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A.B : typeof A.B > : ^^^^^^^^^^ >A : typeof A @@ -42,5 +42,5 @@ var x: number = A.B.createB(); >B : typeof A.B > : ^^^^^^^^^^ >createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/interfaceAssignmentCompat.types b/tests/baselines/reference/interfaceAssignmentCompat.types index 820aaa68c29db..f235305b6f434 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.types +++ b/tests/baselines/reference/interfaceAssignmentCompat.types @@ -168,13 +168,13 @@ module M { >x.sort(CompareYeux) : IEye[] > : ^^^^^^ >x.sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >x : IEye[] > : ^^^^^^ >sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >CompareYeux : (a: IFrenchEye, b: IFrenchEye) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // type of z inferred from specialized array type var z=x.sort(CompareEyes); // ok @@ -183,13 +183,13 @@ module M { >x.sort(CompareEyes) : IEye[] > : ^^^^^^ >x.sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >x : IEye[] > : ^^^^^^ >sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >CompareEyes : (a: IEye, b: IEye) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ for (var i=0,len=z.length;ii : number diff --git a/tests/baselines/reference/interfaceClassMerging.types b/tests/baselines/reference/interfaceClassMerging.types index c9a31535633d8..fec7f4f3108bb 100644 --- a/tests/baselines/reference/interfaceClassMerging.types +++ b/tests/baselines/reference/interfaceClassMerging.types @@ -41,11 +41,11 @@ class Foo { >this.method(0) : string > : ^^^^^^ >this.method : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >method : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } @@ -98,11 +98,11 @@ bar.optionalMethod(1); >bar.optionalMethod(1) : string > : ^^^^^^ >bar.optionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : Bar > : ^^^ >optionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -134,11 +134,11 @@ bar.additionalMethod(2); >bar.additionalMethod(2) : string > : ^^^^^^ >bar.additionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : Bar > : ^^^ >additionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ @@ -170,17 +170,17 @@ var obj: { bar = obj; >bar = obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >bar : Bar > : ^^^ >obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ obj = bar; >obj = bar : Bar > : ^^^ >obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >bar : Bar > : ^^^ diff --git a/tests/baselines/reference/interfaceDeclaration6.types b/tests/baselines/reference/interfaceDeclaration6.types index ed19972eea559..a3f6ac8d3287a 100644 --- a/tests/baselines/reference/interfaceDeclaration6.types +++ b/tests/baselines/reference/interfaceDeclaration6.types @@ -16,9 +16,9 @@ interface i3 extends i1 { foo: string; }; interface i4 { bar():any; >bar : { (): any; (): any; } -> : ^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ bar():any; >bar : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ } diff --git a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types index 5ae7b346f8495..4651189d08ab7 100644 --- a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types +++ b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types @@ -19,11 +19,11 @@ if (typeof x !== "string") { >x.push("") : number > : ^^^^^^ >x.push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >x : StringTreeArray > : ^^^^^^^^^^^^^^^ >push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >"" : "" > : ^^ @@ -31,11 +31,11 @@ if (typeof x !== "string") { >x.push([""]) : number > : ^^^^^^ >x.push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >x : StringTreeArray > : ^^^^^^^^^^^^^^^ >push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >[""] : string[] > : ^^^^^^^^ >"" : "" diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersection.types b/tests/baselines/reference/interfaceExtendsObjectIntersection.types index 1165ff1431843..f5ed7d6f05007 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersection.types +++ b/tests/baselines/reference/interfaceExtendsObjectIntersection.types @@ -77,7 +77,7 @@ class C1 extends Constructor() { x: string } >Constructor() : I1 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -87,7 +87,7 @@ class C2 extends Constructor() { x: string } >Constructor() : I2 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -97,7 +97,7 @@ class C3 extends Constructor() { x: string } >Constructor() : I3 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -107,7 +107,7 @@ class C4 extends Constructor() { x: string } >Constructor() : I4 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -117,7 +117,7 @@ class C5 extends Constructor() { x: string } >Constructor() : I5 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -127,7 +127,7 @@ class C6 extends Constructor() { x: string } >Constructor() : I6 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -137,7 +137,7 @@ class C7 extends Constructor() { x: string } >Constructor() : I7 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -173,9 +173,9 @@ declare namespace NX { export const a = 1 } type T10 = typeof fx; >T10 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fx : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type T11 = typeof CX; >T11 : typeof CX @@ -241,7 +241,7 @@ class C20 extends Constructor>() { x: string } >Constructor>() : Partial > : ^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -251,7 +251,7 @@ class C21 extends Constructor>() { x: string } >Constructor>() : Readonly > : ^^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -261,7 +261,7 @@ class C22 extends Constructor>() { x: string } >Constructor>() : Identifiable > : ^^^^^^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -271,7 +271,7 @@ class C23 extends Constructor>() { x: string } >Constructor>() : Identifiable > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : number > : ^^^^^^ >x : string diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types index 09ebedf2351a3..046676deafcfb 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types +++ b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types @@ -59,7 +59,7 @@ class C1 extends Constructor() { a: string } >Constructor() : T1 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : string > : ^^^^^^ @@ -69,7 +69,7 @@ class C2 extends Constructor() { b: string } >Constructor() : T2 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : string > : ^^^^^^ @@ -79,7 +79,7 @@ class C3 extends Constructor() { length: string } >Constructor() : number[] > : ^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >length : string > : ^^^^^^ @@ -89,7 +89,7 @@ class C4 extends Constructor() { 0: number } >Constructor() : [string, number] > : ^^^^^^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >0 : number > : ^^^^^^ @@ -99,7 +99,7 @@ class C5 extends Constructor() { c: number } >Constructor() : T5 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >c : number > : ^^^^^^ diff --git a/tests/baselines/reference/interfaceMemberValidation.types b/tests/baselines/reference/interfaceMemberValidation.types index 4ef81fb9dbf4f..1ce1b002f9c3e 100644 --- a/tests/baselines/reference/interfaceMemberValidation.types +++ b/tests/baselines/reference/interfaceMemberValidation.types @@ -14,11 +14,11 @@ interface i2 extends i1 { name: number; yo: string; } interface foo { bar():any; >bar : { (): any; (): any; } -> : ^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ bar():any; >bar : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ new():void; new():void; diff --git a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types index 585218e4a071e..2b7ed56dccff1 100644 --- a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types +++ b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types @@ -21,9 +21,9 @@ var d: Derived; var r = d(); >r : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >d() : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types index 210f570ea55d5..5743031ddaf3d 100644 --- a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types +++ b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types @@ -21,9 +21,9 @@ var d: Derived; var r = d(); >r : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d() : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types index c3cf84765100f..f9bc23675e6a4 100644 --- a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types +++ b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types @@ -21,9 +21,9 @@ var d: Derived; var r = new d(); >r : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new d() : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types index a391ccd1e844f..58710fd42a922 100644 --- a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types +++ b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types @@ -21,9 +21,9 @@ var d: Derived; var r = new d(); >r : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >new d() : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/intersectionAsWeakTypeSource.types b/tests/baselines/reference/intersectionAsWeakTypeSource.types index 780a0b5961808..4d1f97cfc83c9 100644 --- a/tests/baselines/reference/intersectionAsWeakTypeSource.types +++ b/tests/baselines/reference/intersectionAsWeakTypeSource.types @@ -67,7 +67,7 @@ const wrapped = create({ first: { view: 0, styleMedia: "???" } }); >create({ first: { view: 0, styleMedia: "???" } }) : { first: Brand<{ view: number; styleMedia: string; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (styles: T) => { [P in keyof T]: Brand; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ first: { view: 0, styleMedia: "???" } } : { first: { view: number; styleMedia: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >first : { view: number; styleMedia: string; } diff --git a/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types b/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types index 8362cf9916a0d..06624e4bebd8b 100644 --- a/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types +++ b/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types @@ -20,8 +20,8 @@ declare const source: Test1; const target: Test2 = { ...source }; >target : Test2 > : ^^^^^ ->{ ...source } : { toString: "string" | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ ...source } : { toString: null | "string"; } +> : ^^^^^^^^^^^^ ^^^ >source : Test1 > : ^^^^^ @@ -37,13 +37,13 @@ const toString = target.toString; const hasOwn = target.hasOwnProperty; // not an own member but it should still be accessible >hasOwn : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >target.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >target : Test2 > : ^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export {} diff --git a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types index b87578d417b80..cf04be3a3e2b0 100644 --- a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types +++ b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types @@ -19,7 +19,7 @@ type Ex = T extends U ? T : never; declare let x: Ex >x : { kind?: "A"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >kind : "A" > : ^^^ @@ -27,7 +27,7 @@ x.a >x.a : string > : ^^^^^^ >x : { kind?: "A"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types b/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types index 498cbd9d454b4..6e835bebcffbc 100644 --- a/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types +++ b/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types @@ -14,5 +14,5 @@ declare let x: {foo: undefined} & {new(...args: any[]): any}; new x(); >new x() : any >x : { foo: undefined; } & (new (...args: any[]) => any) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types index b27b63d00d5b8..0f050e66c3a5e 100644 --- a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types +++ b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types @@ -29,23 +29,23 @@ f({ >f({ props: { children: (({ x }) => { }) }}) : void > : ^^^^ >f : (i: Component) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ props: { children: (({ x }) => { }) }} : { props: { children: ({ x }: { x: number; }) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ props: { >props : { children: ({ x }: { x: number; }) => void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >{ children: (({ x }) => { }) } : { children: ({ x }: { x: number; }) => void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ children: (({ x }) => { }) >children : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >(({ x }) => { }) : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >({ x }) => { } : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/intersectionOfUnionNarrowing.types b/tests/baselines/reference/intersectionOfUnionNarrowing.types index f503a6a3c002d..fdbbccefe153b 100644 --- a/tests/baselines/reference/intersectionOfUnionNarrowing.types +++ b/tests/baselines/reference/intersectionOfUnionNarrowing.types @@ -34,11 +34,11 @@ if (q.a !== undefined) { >q.a !== undefined : boolean > : ^^^^^^^ >q.a : ({ aProp: string; } & object) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >q : X & AorB > : ^^^^^^^^ >a : ({ aProp: string; } & object) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -46,11 +46,11 @@ if (q.a !== undefined) { >q.a.aProp : string > : ^^^^^^ >q.a : { aProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >q : X & { a: object; b: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >a : { aProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >aProp : string > : ^^^^^^ @@ -60,11 +60,11 @@ if (q.a !== undefined) { >q.b.bProp : string > : ^^^^^^ >q.b : { bProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >q : X & { a: undefined; b: object; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >b : { bProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >bProp : string > : ^^^^^^ } diff --git a/tests/baselines/reference/intersectionPropertyCheck.types b/tests/baselines/reference/intersectionPropertyCheck.types index a3ac7a750c672..556b332d60374 100644 --- a/tests/baselines/reference/intersectionPropertyCheck.types +++ b/tests/baselines/reference/intersectionPropertyCheck.types @@ -47,7 +47,7 @@ let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak objec >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >wrong : { a: { y: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ function foo(x: { a?: string }, y: T & { a: boolean }) { >foo : (x: { a?: string; }, y: T & { a: boolean; }) => void @@ -63,11 +63,11 @@ function foo(x: { a?: string }, y: T & { a: boolean }) { x = y; // Mismatched property in source intersection >x = y : T & { a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ >y : T & { a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } // Repro from #36637 diff --git a/tests/baselines/reference/intersectionReduction.types b/tests/baselines/reference/intersectionReduction.types index 50c952850c0c4..b6ca4e9036281 100644 --- a/tests/baselines/reference/intersectionReduction.types +++ b/tests/baselines/reference/intersectionReduction.types @@ -287,7 +287,7 @@ let r1 = f10(a1); // unknown >f10(a1) : unknown > : ^^^^^^^ >f10 : (x: { foo: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a1 : A | D > : ^^^^^ @@ -297,7 +297,7 @@ let r2 = f10(a2); // string >f10(a2) : string > : ^^^^^^ >f10 : (x: { foo: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : A > : ^ diff --git a/tests/baselines/reference/intersectionSatisfiesConstraint.types b/tests/baselines/reference/intersectionSatisfiesConstraint.types index 4636d6bee116f..e717f28d38203 100644 --- a/tests/baselines/reference/intersectionSatisfiesConstraint.types +++ b/tests/baselines/reference/intersectionSatisfiesConstraint.types @@ -29,11 +29,11 @@ const myFirstFunction = (param1: T) >Object.assign(param1, { otherProperty: 3 }) : T & { otherProperty: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >param1 : T > : ^ >{ otherProperty: 3 } : { otherProperty: number; } @@ -45,11 +45,11 @@ const myFirstFunction = (param1: T) mySecondFunction(newParam) >mySecondFunction(newParam) : { commonProperty: number; otherProperty: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >mySecondFunction : (newParam: T_1) => T_1 > : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >newParam : (FirstInterface | SecondInterface) & { otherProperty: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } const mySecondFunction = (newParam: T) => { diff --git a/tests/baselines/reference/intersectionThisTypes.types b/tests/baselines/reference/intersectionThisTypes.types index 2326eb7c8d9cd..002b31db03e41 100644 --- a/tests/baselines/reference/intersectionThisTypes.types +++ b/tests/baselines/reference/intersectionThisTypes.types @@ -154,24 +154,24 @@ function test(label: Label) { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >label.extend({ id: 67 }).extend({ tag: "hello" }) : Label & { id: number; } & { tag: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->label.extend({ id: 67 }).extend : (props: T) => Label & { id: number; } & T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>label.extend({ id: 67 }).extend : (props: T) => (Label & { id: number; }) & T +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >label.extend({ id: 67 }) : Label & { id: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >label.extend : (props: T) => Label & T -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^ >label : Label > : ^^^^^ >extend : (props: T) => Label & T -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^ >{ id: 67 } : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number > : ^^^^^^ >67 : 67 > : ^^ ->extend : (props: T) => Label & { id: number; } & T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>extend : (props: T) => (Label & { id: number; }) & T +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >{ tag: "hello" } : { tag: string; } > : ^^^^^^^^^^^^^^^^ >tag : string diff --git a/tests/baselines/reference/intersectionTypeAssignment.types b/tests/baselines/reference/intersectionTypeAssignment.types index fdb618e8491e9..6c58a8e4a5ba5 100644 --- a/tests/baselines/reference/intersectionTypeAssignment.types +++ b/tests/baselines/reference/intersectionTypeAssignment.types @@ -31,81 +31,81 @@ var y: { a: string } & { b: string }; a = x; >a = x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ a = y; >a = y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x = a; // Error >x = a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ y = a; // Error >y = a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ b = x; >b = x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ b = y; >b = y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x = b; // Error >x = b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ y = b; // Error >y = b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x = y; >x = y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ y = x; >y = x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/intersectionTypeInference.types b/tests/baselines/reference/intersectionTypeInference.types index d90cb32aca336..6b946847277f2 100644 --- a/tests/baselines/reference/intersectionTypeInference.types +++ b/tests/baselines/reference/intersectionTypeInference.types @@ -56,7 +56,7 @@ var x = extend({ a: "hello" }, { b: 42 }); >extend({ a: "hello" }, { b: 42 }) : { a: string; } & { b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extend : (obj1: T, obj2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: "hello" } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string @@ -119,7 +119,7 @@ var z = foo({ a: "hello", b: 42 }); >foo({ a: "hello", b: 42 }) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: A & B) => T | U -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ a: "hello", b: 42 } : { a: string; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/intersectionTypeInference1.types b/tests/baselines/reference/intersectionTypeInference1.types index 9a925c38e5199..63f9439e7f208 100644 --- a/tests/baselines/reference/intersectionTypeInference1.types +++ b/tests/baselines/reference/intersectionTypeInference1.types @@ -25,7 +25,7 @@ const parameterFn = (props:{store:string}) => alert(props.store) >props.store : string > : ^^^^^^ >props : { store: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >store : string > : ^^^^^^ @@ -49,11 +49,11 @@ const brokenFunction = (f: (p: {dispatch: number} & OwnProps) => void) export const Form3 = brokenFunction(parameterFn)({store: "hello"}) >Form3 : { store: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >brokenFunction(parameterFn)({store: "hello"}) : { store: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >brokenFunction(parameterFn) : (o: { store: string; }) => { store: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >brokenFunction : (f: (p: { dispatch: number; } & OwnProps) => void) => (o: OwnProps) => OwnProps > : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ >parameterFn : (props: { store: string; }) => void diff --git a/tests/baselines/reference/intersectionTypeInference2.types b/tests/baselines/reference/intersectionTypeInference2.types index 93b8f75da5c08..d191520890ce3 100644 --- a/tests/baselines/reference/intersectionTypeInference2.types +++ b/tests/baselines/reference/intersectionTypeInference2.types @@ -27,17 +27,17 @@ f(a); // never >f(a) : never > : ^^^^^ >f : (x: { prop: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : { prop: string; } & { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ f(b); // never >f(b) : never > : ^^^^^ >f : (x: { prop: T; }) => T -> : ^ ^^ ^^ ^^^^^^ ->b : { prop: never; } -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b : { prop: string & number; } +> : ^^^^^^^^ ^^^ // Repro from #18354 @@ -61,9 +61,9 @@ f2(obj, 'a'); >f2(obj, 'a') : string > : ^^^^^^ >f2 : (obj: { [K in keyof T]: T[K]; }, key: Key) => T[Key] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >'a' : "a" > : ^^^ @@ -71,9 +71,9 @@ f2(obj, 'b'); >f2(obj, 'b') : string > : ^^^^^^ >f2 : (obj: { [K in keyof T]: T[K]; }, key: Key) => T[Key] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >'b' : "b" > : ^^^ diff --git a/tests/baselines/reference/intersectionTypeInference3.types b/tests/baselines/reference/intersectionTypeInference3.types index 8031f145369bd..7d1a6c2a650d4 100644 --- a/tests/baselines/reference/intersectionTypeInference3.types +++ b/tests/baselines/reference/intersectionTypeInference3.types @@ -37,27 +37,27 @@ const c1 = Array.from(a).concat(Array.from(b)); >Array.from(a).concat(Array.from(b)) : A[] > : ^^^ >Array.from(a).concat : { (...items: ConcatArray[]): A[]; (...items: (A | ConcatArray)[]): A[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array.from(a) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : Set > : ^^^^^^ >concat : { (...items: ConcatArray[]): A[]; (...items: (A | ConcatArray)[]): A[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array.from(b) : A[] > : ^^^ >Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >b : Set > : ^^^^^^ @@ -73,5 +73,5 @@ const c2: ReadonlyArray = from(); >from() : A[] > : ^^^ >from : () => T[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/intersectionTypeNormalization.types b/tests/baselines/reference/intersectionTypeNormalization.types index 3aa375df6a06d..6c057bd977a62 100644 --- a/tests/baselines/reference/intersectionTypeNormalization.types +++ b/tests/baselines/reference/intersectionTypeNormalization.types @@ -185,7 +185,7 @@ function getValueAsString(value: IntersectionFail): string { >value.num : number > : ^^^^^^ >value : { kind: "int"; num: number; } & ToString -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ >num : number > : ^^^^^^ } @@ -193,7 +193,7 @@ function getValueAsString(value: IntersectionFail): string { >value.str : string > : ^^^^^^ >value : { kind: "string"; str: string; } & ToString -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ >str : string > : ^^^^^^ } diff --git a/tests/baselines/reference/intersectionType_useDefineForClassFields.types b/tests/baselines/reference/intersectionType_useDefineForClassFields.types index 7b66a5e1ecd5e..5a189ee69cd41 100644 --- a/tests/baselines/reference/intersectionType_useDefineForClassFields.types +++ b/tests/baselines/reference/intersectionType_useDefineForClassFields.types @@ -23,8 +23,8 @@ class Baz extends bar({ x: 1 }) { > : ^^^ >bar({ x: 1 }) : Foo<{ x: number; }> > : ^^^^^^^^^^^^^^^^^^^ ->bar : (_p: T) => new () => Foo -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>bar : (_p: T) => { new (): Foo; } +> : ^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/intersectionWithConflictingPrivates.types b/tests/baselines/reference/intersectionWithConflictingPrivates.types index f4329a0fb747a..811ac618efe45 100644 --- a/tests/baselines/reference/intersectionWithConflictingPrivates.types +++ b/tests/baselines/reference/intersectionWithConflictingPrivates.types @@ -221,11 +221,11 @@ class Foo { >Promise.resolve(undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/intersectionWithIndexSignatures.types b/tests/baselines/reference/intersectionWithIndexSignatures.types index 469787253bbf4..b95345006db0f 100644 --- a/tests/baselines/reference/intersectionWithIndexSignatures.types +++ b/tests/baselines/reference/intersectionWithIndexSignatures.types @@ -43,35 +43,35 @@ declare let ta2: { [key: string]: A } & { [key: string]: B }; ta1 = sa1; >ta1 = sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >ta1 : { [key: string]: A & B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ta1 = sa2; >ta1 = sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >ta1 : { [key: string]: A & B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ ta2 = sa1; >ta2 = sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >ta2 : { [key: string]: A; } & { [key: string]: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ta2 = sa2; >ta2 = sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >ta2 : { [key: string]: A; } & { [key: string]: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ declare let sb1: { x: A } & { y: B }; >sb1 : { x: A; } & { y: B; } @@ -89,11 +89,11 @@ declare let tb1: { [key: string]: A }; tb1 = sb1; // Error >tb1 = sb1 : { x: A; } & { y: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >tb1 : { [key: string]: A; } > : ^^^^^^^^^^^^^^^^^^^^^ >sb1 : { x: A; } & { y: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ // Repro from #32484 @@ -117,11 +117,11 @@ q["asd"].a.substr(1); >q["asd"].a.substr(1) : string > : ^^^^^^ >q["asd"].a.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >q["asd"].a : string > : ^^^^^^ >q["asd"] : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >q : s > : ^ >"asd" : "asd" @@ -129,7 +129,7 @@ q["asd"].a.substr(1); >a : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -137,7 +137,7 @@ q["asd"].b; // Error >q["asd"].b : any > : ^^^ >q["asd"] : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >q : s > : ^ >"asd" : "asd" @@ -175,9 +175,9 @@ declare let tt: { [key: string]: string }; tt = ss; // Error >tt = ss : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >tt : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ss : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/intersectionsAndEmptyObjects.types b/tests/baselines/reference/intersectionsAndEmptyObjects.types index a189725be6487..79436aeb13b56 100644 --- a/tests/baselines/reference/intersectionsAndEmptyObjects.types +++ b/tests/baselines/reference/intersectionsAndEmptyObjects.types @@ -105,11 +105,11 @@ const intersectDictionaries = ( >Object.assign({}, d1, d2) : {} & F1 & F2 > : ^^^^^^^^^^^^ >Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >d1 : F1 @@ -145,7 +145,7 @@ const d2 = intersectDictionaries(d1, d1); >intersectDictionaries(d1, d1) : {} > : ^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d1 : {} > : ^^ >d1 : {} @@ -186,7 +186,7 @@ const d4 = intersectDictionaries(d1, d3); >intersectDictionaries(d1, d3) : { s: string; } > : ^^^^^^^^^^^^^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d1 : {} > : ^^ >d3 : { s: string; } @@ -206,7 +206,7 @@ const d5 = intersectDictionaries(d3, d1); >intersectDictionaries(d3, d1) : { s: string; } > : ^^^^^^^^^^^^^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d3 : { s: string; } > : ^^^^^^^^^^^^^^ >d1 : {} @@ -226,7 +226,7 @@ const d6 = intersectDictionaries(d3, d3); >intersectDictionaries(d3, d3) : { s: string; } > : ^^^^^^^^^^^^^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d3 : { s: string; } > : ^^^^^^^^^^^^^^ >d3 : { s: string; } @@ -279,11 +279,11 @@ type IUnknownChoiceList = {}; var defaultChoices: choices<{}>; >defaultChoices : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ var defaultChoicesAndEmpty: choices<{} & {}>; >defaultChoicesAndEmpty : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ var myChoices: choices; >myChoices : choices @@ -295,11 +295,11 @@ var myChoicesAndEmpty: choices; var unknownChoices: choices; >unknownChoices : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ var unknownChoicesAndEmpty: choices; >unknownChoicesAndEmpty : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ // Repro from #38672 @@ -329,7 +329,7 @@ mock(import('./ex')) >mock(import('./ex')) : {} > : ^^ >mock : (_: Promise) => {} & M -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >import('./ex') : Promise<{ default: typeof import("ex"); }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'./ex' : "./ex" diff --git a/tests/baselines/reference/intersectionsAndOptionalProperties.types b/tests/baselines/reference/intersectionsAndOptionalProperties.types index 33a75d8e9b47c..2b551b8f54de5 100644 --- a/tests/baselines/reference/intersectionsAndOptionalProperties.types +++ b/tests/baselines/reference/intersectionsAndOptionalProperties.types @@ -27,19 +27,19 @@ declare let z: { a: null } & { b: string }; x = y; // Error >x = y : { a: null; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ +>x : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ >y : { a: null; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ x = z; // Error >x = z : { a: null; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ +>x : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ >z : { a: null; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ // Repro from #36604 diff --git a/tests/baselines/reference/intersectionsOfLargeUnions.types b/tests/baselines/reference/intersectionsOfLargeUnions.types index 7001e52f23d03..676db1b32915d 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions.types @@ -53,7 +53,7 @@ export function assertNodeTagName< >assertIsElement(node) : boolean > : ^^^^^^^ >assertIsElement : (node: Node | null) => node is Element -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ @@ -63,7 +63,7 @@ export function assertNodeTagName< >node.tagName.toLowerCase() : string > : ^^^^^^ >node.tagName.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >node.tagName : string > : ^^^^^^ >node : Element @@ -71,7 +71,7 @@ export function assertNodeTagName< >tagName : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return nodeTagName === tagName; >nodeTagName === tagName : boolean @@ -106,7 +106,7 @@ export function assertNodeProperty< >assertNodeTagName(node, tagName) : boolean > : ^^^^^^^ >assertNodeTagName : (node: Node | null, tagName: T_1) => node is U -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ >tagName : T diff --git a/tests/baselines/reference/intersectionsOfLargeUnions2.types b/tests/baselines/reference/intersectionsOfLargeUnions2.types index 0e8164fdbf316..fe2c3a63f1935 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions2.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions2.types @@ -70,7 +70,7 @@ export function assertNodeTagName< >assertIsElement(node) : boolean > : ^^^^^^^ >assertIsElement : (node: Node | null) => node is Element -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ @@ -80,7 +80,7 @@ export function assertNodeTagName< >node.tagName.toLowerCase() : string > : ^^^^^^ >node.tagName.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >node.tagName : string > : ^^^^^^ >node : Element @@ -88,7 +88,7 @@ export function assertNodeTagName< >tagName : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return nodeTagName === tagName; >nodeTagName === tagName : boolean @@ -123,7 +123,7 @@ export function assertNodeProperty< >assertNodeTagName(node, tagName) : boolean > : ^^^^^^^ >assertNodeTagName : (node: Node | null, tagName: T_1) => node is U -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ >tagName : T diff --git a/tests/baselines/reference/intlDateTimeFormatRangeES2021.types b/tests/baselines/reference/intlDateTimeFormatRangeES2021.types index 1ca9195f381c2..b1901106592c0 100644 --- a/tests/baselines/reference/intlDateTimeFormatRangeES2021.types +++ b/tests/baselines/reference/intlDateTimeFormatRangeES2021.types @@ -5,7 +5,7 @@ new Intl.DateTimeFormat().formatRange(new Date(0), new Date()); >new Intl.DateTimeFormat().formatRange(new Date(0), new Date()) : string > : ^^^^^^ >new Intl.DateTimeFormat().formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new Intl.DateTimeFormat() : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -15,7 +15,7 @@ new Intl.DateTimeFormat().formatRange(new Date(0), new Date()); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new Date(0) : Date > : ^^^^ >Date : DateConstructor @@ -33,7 +33,7 @@ const [ part ] = new Intl.DateTimeFormat().formatRangeToParts(1000, 1000000000); >new Intl.DateTimeFormat().formatRangeToParts(1000, 1000000000) : Intl.DateTimeRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat().formatRangeToParts : (startDate: Date | number | bigint, endDate: Date | number | bigint) => Intl.DateTimeRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat() : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -43,7 +43,7 @@ const [ part ] = new Intl.DateTimeFormat().formatRangeToParts(1000, 1000000000); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatRangeToParts : (startDate: Date | number | bigint, endDate: Date | number | bigint) => Intl.DateTimeRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1000 : 1000 > : ^^^^ >1000000000 : 1000000000 diff --git a/tests/baselines/reference/intlNumberFormatES2023.types b/tests/baselines/reference/intlNumberFormatES2023.types index aa2f9d2499221..4063a0dcbec95 100644 --- a/tests/baselines/reference/intlNumberFormatES2023.types +++ b/tests/baselines/reference/intlNumberFormatES2023.types @@ -159,7 +159,7 @@ new Intl.NumberFormat('en-GB').formatRange(10, 100); >new Intl.NumberFormat('en-GB').formatRange(10, 100) : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -171,7 +171,7 @@ new Intl.NumberFormat('en-GB').formatRange(10, 100); >'en-GB' : "en-GB" > : ^^^^^^^ >formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10 : 10 > : ^^ >100 : 100 @@ -181,7 +181,7 @@ new Intl.NumberFormat('en-GB').formatRange(10n, 1000n); >new Intl.NumberFormat('en-GB').formatRange(10n, 1000n) : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -193,7 +193,7 @@ new Intl.NumberFormat('en-GB').formatRange(10n, 1000n); >'en-GB' : "en-GB" > : ^^^^^^^ >formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10n : 10n > : ^^^ >1000n : 1000n @@ -205,7 +205,7 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000)[0]; >new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000) : Intl.NumberRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -217,7 +217,7 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000)[0]; >'en-GB' : "en-GB" > : ^^^^^^^ >formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10 : 10 > : ^^ >1000 : 1000 @@ -231,7 +231,7 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n)[0]; >new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n) : Intl.NumberRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -243,7 +243,7 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n)[0]; >'en-GB' : "en-GB" > : ^^^^^^^ >formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10n : 10n > : ^^^ >1000n : 1000n @@ -256,7 +256,7 @@ new Intl.NumberFormat('en-GB').format('-12.3E-4'); >new Intl.NumberFormat('en-GB').format('-12.3E-4') : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -268,7 +268,7 @@ new Intl.NumberFormat('en-GB').format('-12.3E-4'); >'en-GB' : "en-GB" > : ^^^^^^^ >format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'-12.3E-4' : "-12.3E-4" > : ^^^^^^^^^^ @@ -276,7 +276,7 @@ new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8'); >new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8') : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -288,7 +288,7 @@ new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8'); >'en-GB' : "en-GB" > : ^^^^^^^ >formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'123.4' : "123.4" > : ^^^^^^^ >'567.8' : "567.8" @@ -298,7 +298,7 @@ new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8'); >new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8') : Intl.NumberRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -310,7 +310,7 @@ new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8'); >'en-GB' : "en-GB" > : ^^^^^^^ >formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'123E-4' : "123E-4" > : ^^^^^^^^ >'567E8' : "567E8" @@ -320,7 +320,7 @@ new Intl.NumberFormat('en-GB').format('Infinity'); >new Intl.NumberFormat('en-GB').format('Infinity') : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -332,7 +332,7 @@ new Intl.NumberFormat('en-GB').format('Infinity'); >'en-GB' : "en-GB" > : ^^^^^^^ >format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'Infinity' : "Infinity" > : ^^^^^^^^^^ @@ -340,7 +340,7 @@ new Intl.NumberFormat('en-GB').format('-Infinity'); >new Intl.NumberFormat('en-GB').format('-Infinity') : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -352,7 +352,7 @@ new Intl.NumberFormat('en-GB').format('-Infinity'); >'en-GB' : "en-GB" > : ^^^^^^^ >format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'-Infinity' : "-Infinity" > : ^^^^^^^^^^^ @@ -360,7 +360,7 @@ new Intl.NumberFormat('en-GB').format('+Infinity'); >new Intl.NumberFormat('en-GB').format('+Infinity') : string > : ^^^^^^ >new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -372,7 +372,7 @@ new Intl.NumberFormat('en-GB').format('+Infinity'); >'en-GB' : "en-GB" > : ^^^^^^^ >format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'+Infinity' : "+Infinity" > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/intraExpressionInferences.types b/tests/baselines/reference/intraExpressionInferences.types index 208396c072854..7078c2603beb4 100644 --- a/tests/baselines/reference/intraExpressionInferences.types +++ b/tests/baselines/reference/intraExpressionInferences.types @@ -27,7 +27,7 @@ callIt({ >callIt({ produce: () => 0, consume: n => n.toFixed()}) : void > : ^^^^ >callIt : (obj: { produce: (n: number) => T; consume: (x: T) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ produce: () => 0, consume: n => n.toFixed()} : { produce: () => number; consume: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -49,11 +49,11 @@ callIt({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -61,7 +61,7 @@ callIt({ >callIt({ produce: _a => 0, consume: n => n.toFixed(),}) : void > : ^^^^ >callIt : (obj: { produce: (n: number) => T; consume: (x: T) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ produce: _a => 0, consume: n => n.toFixed(),} : { produce: (_a: number) => number; consume: (n: number) => string; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -85,11 +85,11 @@ callIt({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -97,7 +97,7 @@ callIt({ >callIt({ produce() { return 0; }, consume: n => n.toFixed()}) : void > : ^^^^ >callIt : (obj: { produce: (n: number) => T; consume: (x: T) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ produce() { return 0; }, consume: n => n.toFixed()} : { produce(): number; consume: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -120,11 +120,11 @@ callIt({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -142,7 +142,7 @@ callItT([() => 0, n => n.toFixed()]); >callItT([() => 0, n => n.toFixed()]) : void > : ^^^^ >callItT : (obj: [(n: number) => T, (x: T) => void]) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[() => 0, n => n.toFixed()] : [() => number, (n: number) => string] > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >() => 0 : () => number @@ -156,17 +156,17 @@ callItT([() => 0, n => n.toFixed()]); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ callItT([_a => 0, n => n.toFixed()]); >callItT([_a => 0, n => n.toFixed()]) : void > : ^^^^ >callItT : (obj: [(n: number) => T, (x: T) => void]) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[_a => 0, n => n.toFixed()] : [(_a: number) => number, (n: number) => string] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >_a => 0 : (_a: number) => number @@ -182,11 +182,11 @@ callItT([_a => 0, n => n.toFixed()]); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Repro from #25092 @@ -244,11 +244,11 @@ const myGeneric = inferTypeFn({ >generic.toFixed() : string > : ^^^^^^ >generic.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >generic : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -321,7 +321,7 @@ foo({ >foo({ a: () => { return 42 }, b(a) {},}) : void > : ^^^^ >foo : (options: { a: A; b: (a: A) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: () => { return 42 }, b(a) {},} : { a: () => 42; b(a: () => 42): void; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -345,7 +345,7 @@ foo({ >foo({ a: function () { return 42 }, b(a) {},}) : void > : ^^^^ >foo : (options: { a: A; b: (a: A) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: function () { return 42 }, b(a) {},} : { a: () => 42; b(a: () => 42): void; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -369,7 +369,7 @@ foo({ >foo({ a() { return 42 }, b(a) {},}) : void > : ^^^^ >foo : (options: { a: A; b: (a: A) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a() { return 42 }, b(a) {},} : { a(): 42; b(a: () => 42): void; } > : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -553,7 +553,7 @@ createMappingComponent({ >createMappingComponent({ setup() { return { inputs: { num: new Wrapper(), str: new Wrapper() }, outputs: { bool: new Wrapper(), str: new Wrapper() } }; }, map(inputs) { return { bool: inputs.nonexistent, str: inputs.num, // Causes error } }}) : void > : ^^^^ >createMappingComponent : (def: MappingComponent) => void -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ setup() { return { inputs: { num: new Wrapper(), str: new Wrapper() }, outputs: { bool: new Wrapper(), str: new Wrapper() } }; }, map(inputs) { return { bool: inputs.nonexistent, str: inputs.num, // Causes error } }} : { setup(): { inputs: { num: Wrapper; str: Wrapper; }; outputs: { bool: Wrapper; str: Wrapper; }; }; map(inputs: Unwrap<{ num: Wrapper; str: Wrapper; }>): { bool: any; str: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -707,11 +707,11 @@ simplified({ generator: () => 123, receiver: (t) => console.log(t + 2) }) >console.log(t + 2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >t + 2 : number > : ^^^^^^ >t : number @@ -749,11 +749,11 @@ whatIWant({ generator: (bob) => bob ? 1 : 2, receiver: (t) => console.log(t + 2) >console.log(t + 2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >t + 2 : number > : ^^^^^^ >t : 2 | 1 @@ -785,11 +785,11 @@ nonObject((bob) => bob ? 1 : 2, (t) => console.log(t + 2)) >console.log(t + 2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >t + 2 : number > : ^^^^^^ >t : 2 | 1 @@ -1001,7 +1001,7 @@ branch({ >branch({ test: x, if: (t): t is "a" => t === "a", then: u => { let test1: "a" = u }}) : void > : ^^^^ >branch : (_: { test: T; if: (t: T) => t is U; then: (u: U) => void; }) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ test: x, if: (t): t is "a" => t === "a", then: u => { let test1: "a" = u }} : { test: "a" | "b"; if: (t: "a" | "b") => t is "a"; then: (u: "a") => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ @@ -1065,7 +1065,7 @@ Foo({ >Foo({ ...{ a: (x) => 10, b: (arg) => { arg.toString(); }, },}) : null > : ^^^^ >Foo : (props: Props) => null -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ ...{ a: (x) => 10, b: (arg) => { arg.toString(); }, },} : { a: (x: string) => number; b: (arg: number) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -1095,11 +1095,11 @@ Foo({ >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }, }, @@ -1136,7 +1136,7 @@ const resNested = nested({ >nested({ prop: { produce: (a) => [a], consume: (arg) => arg.join(","), },}) : number[] > : ^^^^^^^^ >nested : (arg: { prop: { produce: (arg1: number) => T; consume: (arg2: T) => void; }; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ prop: { produce: (a) => [a], consume: (arg) => arg.join(","), },} : { prop: { produce: (a: number) => number[]; consume: (arg: number[]) => string; }; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1168,11 +1168,11 @@ const resNested = nested({ >arg.join(",") : string > : ^^^^^^ >arg.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"," : "," > : ^^^ @@ -1211,7 +1211,7 @@ const resTwoConsumers = twoConsumers({ >twoConsumers({ a: (arg) => [arg], consume1: (arg1) => {}, consume2: (arg2) => {},}) : string[] > : ^^^^^^^^ >twoConsumers : (arg: { a: (arg: string) => T; consume1: (arg1: T) => void; consume2: (arg2: T) => void; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], consume1: (arg1) => {}, consume2: (arg2) => {},} : { a: (arg: string) => string[]; consume1: (arg1: string[]) => void; consume2: (arg2: string[]) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -1283,7 +1283,7 @@ const resMultipleProducersBeforeConsumers = multipleProducersBeforeConsumers({ >multipleProducersBeforeConsumers({ a: (arg) => [arg], b: (arg) => Number(arg), consume1: (arg1) => {}, consume2: (arg2) => {},}) : [string[], number] > : ^^^^^^^^^^^^^^^^^^ >multipleProducersBeforeConsumers : (arg: { a: (arg: string) => T; b: (arg: string) => T2; consume1: (arg1: T) => void; consume2: (arg2: T2) => void; }) => [T, T2] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], b: (arg) => Number(arg), consume1: (arg1) => {}, consume2: (arg2) => {},} : { a: (arg: string) => string[]; b: (arg: string) => number; consume1: (arg1: string[]) => void; consume2: (arg2: number) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -1363,7 +1363,7 @@ const resWithConditionalExpression = withConditionalExpression({ >withConditionalExpression({ a: (arg) => [arg], b: Math.random() ? (arg) => "first" as const : (arg) => "two" as const, c: (arg) => Boolean(arg),}) : [string[], "first" | "two", boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >withConditionalExpression : (arg: { a: (arg1: string) => T; b: (arg2: T) => T2; c: (arg2: T2) => T3; }) => [T, T2, T3] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], b: Math.random() ? (arg) => "first" as const : (arg) => "two" as const, c: (arg) => Boolean(arg),} : { a: (arg: string) => string[]; b: ((arg: string[]) => "first") | ((arg: string[]) => "two"); c: (arg: "first" | "two") => boolean; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1387,11 +1387,11 @@ const resWithConditionalExpression = withConditionalExpression({ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(arg) => "first" as const : (arg: string[]) => "first" > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >arg : string[] @@ -1467,7 +1467,7 @@ const resOnion = onion({ >onion({ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), nested2: { c: (arg) => Boolean(arg), }, },}) : [string[], string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onion : (arg: { a: (arg1: string) => T; nested: { b: (arg2: T) => T2; nested2: { c: (arg2: T2) => T3; }; }; }) => [T, T2, T3] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), nested2: { c: (arg) => Boolean(arg), }, },} : { a: (arg: string) => string[]; nested: { b: (arg: string[]) => string; nested2: { c: (arg: string) => boolean; }; }; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1499,11 +1499,11 @@ const resOnion = onion({ >arg.join(",") : string > : ^^^^^^ >arg.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"," : "," > : ^^^ @@ -1579,7 +1579,7 @@ const resOnion2 = onion2({ >onion2({ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), c: (arg) => Number(arg), nested2: { d: (arg) => Boolean(arg), }, },}) : [string[], string, number, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onion2 : (arg: { a: (arg1: string) => T; nested: { b: (arg2: T) => T2; c: (arg3: T) => T3; nested2: { d: (arg4: T3) => T4; }; }; }) => [T, T2, T3, T4] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), c: (arg) => Number(arg), nested2: { d: (arg) => Boolean(arg), }, },} : { a: (arg: string) => string[]; nested: { b: (arg: string[]) => string; c: (arg: string[]) => number; nested2: { d: (arg: number) => boolean; }; }; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1611,11 +1611,11 @@ const resOnion2 = onion2({ >arg.join(",") : string > : ^^^^^^ >arg.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"," : "," > : ^^^ @@ -1698,7 +1698,7 @@ const distantRes = distant({ >distant({ foo: { bar: { baz: { producer: (arg) => 1, }, }, }, consumer: (val) => {},}) : number > : ^^^^^^ >distant : (args: { foo: { bar: { baz: { producer: (arg: string) => T; }; }; }; consumer: (val: T) => unknown; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { bar: { baz: { producer: (arg) => 1, }, }, }, consumer: (val) => {},} : { foo: { bar: { baz: { producer: (arg: string) => number; }; }; }; consumer: (val: number) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/intraExpressionInferencesJsx.types b/tests/baselines/reference/intraExpressionInferencesJsx.types index 39fed796ca777..194a4452b0040 100644 --- a/tests/baselines/reference/intraExpressionInferencesJsx.types +++ b/tests/baselines/reference/intraExpressionInferencesJsx.types @@ -104,7 +104,7 @@ const Component = ({ style, >style : (animationsValues: StyleParam) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ }: AnimatedViewProps) => <>; ><> : JSX.Element @@ -354,11 +354,11 @@ function Foo(props: Props) { >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ />; @@ -388,11 +388,11 @@ function Foo(props: Props) { >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ />; @@ -424,11 +424,11 @@ function Foo(props: Props) { >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }} />; diff --git a/tests/baselines/reference/intrinsicTypes.types b/tests/baselines/reference/intrinsicTypes.types index ee51b4cf92a3c..9d681b643e808 100644 --- a/tests/baselines/reference/intrinsicTypes.types +++ b/tests/baselines/reference/intrinsicTypes.types @@ -209,7 +209,7 @@ function foo4(x: Uppercase) { >foo3(x) : U > : ^ >foo3 : (x: Uppercase) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : Uppercase > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/invalidMultipleVariableDeclarations.types b/tests/baselines/reference/invalidMultipleVariableDeclarations.types index e2020f6880b38..cfd5df0fbf49d 100644 --- a/tests/baselines/reference/invalidMultipleVariableDeclarations.types +++ b/tests/baselines/reference/invalidMultipleVariableDeclarations.types @@ -77,11 +77,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // all of these are errors @@ -145,13 +145,13 @@ var b = new C2(); var f = F; >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var f = (x: number) => ''; >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => '' : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/invalidSplice.types b/tests/baselines/reference/invalidSplice.types index 7d436e88051fe..ff4aae7acd41b 100644 --- a/tests/baselines/reference/invalidSplice.types +++ b/tests/baselines/reference/invalidSplice.types @@ -7,11 +7,11 @@ var arr = [].splice(0,3,4,5); >[].splice(0,3,4,5) : any[] > : ^^^^^ >[].splice : { (start: number, deleteCount?: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >splice : { (start: number, deleteCount?: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >0 : 0 > : ^ >3 : 3 diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types index 12cc9d27e4a61..500e4685d3f9f 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types @@ -20,7 +20,7 @@ const a = tag`123` >tag`123` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123` : "123" > : ^^^^^ @@ -30,7 +30,7 @@ const b = tag`123 ${100}` >tag`123 ${100}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123 ${100}` : string > : ^^^^^^ >100 : 100 @@ -42,7 +42,7 @@ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uwor >tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : string > : ^^^^^^ >100 : 100 @@ -70,7 +70,7 @@ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tag >tag`\u{hello} \xtraordinary wonderful \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} \xtraordinary wonderful \uworld` : "\\u{hello} \\xtraordinary wonderful \\uworld" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ const a1 = tag`${ 100 }\0` // \0 >tag`${ 100 }\0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\0` : string > : ^^^^^^ >100 : 100 @@ -92,7 +92,7 @@ const a2 = tag`${ 100 }\00` // \\00 >tag`${ 100 }\00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\00` : string > : ^^^^^^ >100 : 100 @@ -104,7 +104,7 @@ const a3 = tag`${ 100 }\u` // \\u >tag`${ 100 }\u` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u` : string > : ^^^^^^ >100 : 100 @@ -116,7 +116,7 @@ const a4 = tag`${ 100 }\u0` // \\u0 >tag`${ 100 }\u0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0` : string > : ^^^^^^ >100 : 100 @@ -128,7 +128,7 @@ const a5 = tag`${ 100 }\u00` // \\u00 >tag`${ 100 }\u00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u00` : string > : ^^^^^^ >100 : 100 @@ -140,7 +140,7 @@ const a6 = tag`${ 100 }\u000` // \\u000 >tag`${ 100 }\u000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u000` : string > : ^^^^^^ >100 : 100 @@ -152,7 +152,7 @@ const a7 = tag`${ 100 }\u0000` // \u0000 >tag`${ 100 }\u0000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0000` : string > : ^^^^^^ >100 : 100 @@ -164,7 +164,7 @@ const a8 = tag`${ 100 }\u{` // \\u{ >tag`${ 100 }\u{` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{` : string > : ^^^^^^ >100 : 100 @@ -176,7 +176,7 @@ const a9 = tag`${ 100 }\u{10FFFF}` // \\u{10FFFF >tag`${ 100 }\u{10FFFF}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{10FFFF}` : string > : ^^^^^^ >100 : 100 @@ -188,7 +188,7 @@ const a10 = tag`${ 100 }\u{1f622` // \\u{1f622 >tag`${ 100 }\u{1f622` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622` : string > : ^^^^^^ >100 : 100 @@ -200,7 +200,7 @@ const a11 = tag`${ 100 }\u{1f622}` // \u{1f622} >tag`${ 100 }\u{1f622}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622}` : string > : ^^^^^^ >100 : 100 @@ -212,7 +212,7 @@ const a12 = tag`${ 100 }\x` // \\x >tag`${ 100 }\x` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x` : string > : ^^^^^^ >100 : 100 @@ -224,7 +224,7 @@ const a13 = tag`${ 100 }\x0` // \\x0 >tag`${ 100 }\x0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x0` : string > : ^^^^^^ >100 : 100 @@ -236,7 +236,7 @@ const a14 = tag`${ 100 }\x00` // \x00 >tag`${ 100 }\x00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x00` : string > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types index 12cc9d27e4a61..500e4685d3f9f 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types @@ -20,7 +20,7 @@ const a = tag`123` >tag`123` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123` : "123" > : ^^^^^ @@ -30,7 +30,7 @@ const b = tag`123 ${100}` >tag`123 ${100}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123 ${100}` : string > : ^^^^^^ >100 : 100 @@ -42,7 +42,7 @@ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uwor >tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : string > : ^^^^^^ >100 : 100 @@ -70,7 +70,7 @@ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tag >tag`\u{hello} \xtraordinary wonderful \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} \xtraordinary wonderful \uworld` : "\\u{hello} \\xtraordinary wonderful \\uworld" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ const a1 = tag`${ 100 }\0` // \0 >tag`${ 100 }\0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\0` : string > : ^^^^^^ >100 : 100 @@ -92,7 +92,7 @@ const a2 = tag`${ 100 }\00` // \\00 >tag`${ 100 }\00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\00` : string > : ^^^^^^ >100 : 100 @@ -104,7 +104,7 @@ const a3 = tag`${ 100 }\u` // \\u >tag`${ 100 }\u` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u` : string > : ^^^^^^ >100 : 100 @@ -116,7 +116,7 @@ const a4 = tag`${ 100 }\u0` // \\u0 >tag`${ 100 }\u0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0` : string > : ^^^^^^ >100 : 100 @@ -128,7 +128,7 @@ const a5 = tag`${ 100 }\u00` // \\u00 >tag`${ 100 }\u00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u00` : string > : ^^^^^^ >100 : 100 @@ -140,7 +140,7 @@ const a6 = tag`${ 100 }\u000` // \\u000 >tag`${ 100 }\u000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u000` : string > : ^^^^^^ >100 : 100 @@ -152,7 +152,7 @@ const a7 = tag`${ 100 }\u0000` // \u0000 >tag`${ 100 }\u0000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0000` : string > : ^^^^^^ >100 : 100 @@ -164,7 +164,7 @@ const a8 = tag`${ 100 }\u{` // \\u{ >tag`${ 100 }\u{` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{` : string > : ^^^^^^ >100 : 100 @@ -176,7 +176,7 @@ const a9 = tag`${ 100 }\u{10FFFF}` // \\u{10FFFF >tag`${ 100 }\u{10FFFF}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{10FFFF}` : string > : ^^^^^^ >100 : 100 @@ -188,7 +188,7 @@ const a10 = tag`${ 100 }\u{1f622` // \\u{1f622 >tag`${ 100 }\u{1f622` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622` : string > : ^^^^^^ >100 : 100 @@ -200,7 +200,7 @@ const a11 = tag`${ 100 }\u{1f622}` // \u{1f622} >tag`${ 100 }\u{1f622}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622}` : string > : ^^^^^^ >100 : 100 @@ -212,7 +212,7 @@ const a12 = tag`${ 100 }\x` // \\x >tag`${ 100 }\x` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x` : string > : ^^^^^^ >100 : 100 @@ -224,7 +224,7 @@ const a13 = tag`${ 100 }\x0` // \\x0 >tag`${ 100 }\x0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x0` : string > : ^^^^^^ >100 : 100 @@ -236,7 +236,7 @@ const a14 = tag`${ 100 }\x00` // \x00 >tag`${ 100 }\x00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x00` : string > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types index 12cc9d27e4a61..500e4685d3f9f 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types @@ -20,7 +20,7 @@ const a = tag`123` >tag`123` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123` : "123" > : ^^^^^ @@ -30,7 +30,7 @@ const b = tag`123 ${100}` >tag`123 ${100}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123 ${100}` : string > : ^^^^^^ >100 : 100 @@ -42,7 +42,7 @@ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uwor >tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : string > : ^^^^^^ >100 : 100 @@ -70,7 +70,7 @@ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tag >tag`\u{hello} \xtraordinary wonderful \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} \xtraordinary wonderful \uworld` : "\\u{hello} \\xtraordinary wonderful \\uworld" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ const a1 = tag`${ 100 }\0` // \0 >tag`${ 100 }\0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\0` : string > : ^^^^^^ >100 : 100 @@ -92,7 +92,7 @@ const a2 = tag`${ 100 }\00` // \\00 >tag`${ 100 }\00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\00` : string > : ^^^^^^ >100 : 100 @@ -104,7 +104,7 @@ const a3 = tag`${ 100 }\u` // \\u >tag`${ 100 }\u` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u` : string > : ^^^^^^ >100 : 100 @@ -116,7 +116,7 @@ const a4 = tag`${ 100 }\u0` // \\u0 >tag`${ 100 }\u0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0` : string > : ^^^^^^ >100 : 100 @@ -128,7 +128,7 @@ const a5 = tag`${ 100 }\u00` // \\u00 >tag`${ 100 }\u00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u00` : string > : ^^^^^^ >100 : 100 @@ -140,7 +140,7 @@ const a6 = tag`${ 100 }\u000` // \\u000 >tag`${ 100 }\u000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u000` : string > : ^^^^^^ >100 : 100 @@ -152,7 +152,7 @@ const a7 = tag`${ 100 }\u0000` // \u0000 >tag`${ 100 }\u0000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0000` : string > : ^^^^^^ >100 : 100 @@ -164,7 +164,7 @@ const a8 = tag`${ 100 }\u{` // \\u{ >tag`${ 100 }\u{` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{` : string > : ^^^^^^ >100 : 100 @@ -176,7 +176,7 @@ const a9 = tag`${ 100 }\u{10FFFF}` // \\u{10FFFF >tag`${ 100 }\u{10FFFF}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{10FFFF}` : string > : ^^^^^^ >100 : 100 @@ -188,7 +188,7 @@ const a10 = tag`${ 100 }\u{1f622` // \\u{1f622 >tag`${ 100 }\u{1f622` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622` : string > : ^^^^^^ >100 : 100 @@ -200,7 +200,7 @@ const a11 = tag`${ 100 }\u{1f622}` // \u{1f622} >tag`${ 100 }\u{1f622}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622}` : string > : ^^^^^^ >100 : 100 @@ -212,7 +212,7 @@ const a12 = tag`${ 100 }\x` // \\x >tag`${ 100 }\x` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x` : string > : ^^^^^^ >100 : 100 @@ -224,7 +224,7 @@ const a13 = tag`${ 100 }\x0` // \\x0 >tag`${ 100 }\x0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x0` : string > : ^^^^^^ >100 : 100 @@ -236,7 +236,7 @@ const a14 = tag`${ 100 }\x00` // \x00 >tag`${ 100 }\x00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x00` : string > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.types b/tests/baselines/reference/invariantGenericErrorElaboration.types index 1c2f2ec6f9812..fb17ecd2d4b44 100644 --- a/tests/baselines/reference/invariantGenericErrorElaboration.types +++ b/tests/baselines/reference/invariantGenericErrorElaboration.types @@ -15,7 +15,7 @@ const Foo = Obj({ foo: Num }) >Obj({ foo: Num }) : Obj<{ [_: string]: Runtype; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Obj : ; }>(fields: O) => Obj -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: Num } : { foo: Num; } > : ^^^^^^^^^^^^^ >foo : Num diff --git a/tests/baselines/reference/ipromise2.types b/tests/baselines/reference/ipromise2.types index ed9559a004794..6e220c7a5577b 100644 --- a/tests/baselines/reference/ipromise2.types +++ b/tests/baselines/reference/ipromise2.types @@ -4,8 +4,8 @@ declare module Windows.Foundation { export interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -22,8 +22,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -40,8 +40,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -58,8 +58,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -109,11 +109,11 @@ var p2 = p.then(function (s) { >p.then(function (s) { return 34;} ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (s) { return 34;} : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/ipromise3.types b/tests/baselines/reference/ipromise3.types index 8c4253f1d616c..dff6b03c5010e 100644 --- a/tests/baselines/reference/ipromise3.types +++ b/tests/baselines/reference/ipromise3.types @@ -4,7 +4,7 @@ interface IPromise3 { then(success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; >then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise3 > : ^ ^^ ^^^^^ >value : T @@ -18,7 +18,7 @@ interface IPromise3 { then(success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; >then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise3 > : ^ ^^ ^^^^^ >value : T @@ -32,7 +32,7 @@ interface IPromise3 { then(success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; >then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -46,7 +46,7 @@ interface IPromise3 { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; >then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -82,11 +82,11 @@ var p2: IPromise3 = p1.then(function (x) { >p1.then(function (x) { return x;}) : IPromise3 > : ^^^^^^^^^^^^^^^^^ >p1.then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p1 : IPromise3 > : ^^^^^^^^^^^^^^^^^ >then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { return x;} : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/ipromise4.types b/tests/baselines/reference/ipromise4.types index d56632ffd721c..30b7bb4f4ce5c 100644 --- a/tests/baselines/reference/ipromise4.types +++ b/tests/baselines/reference/ipromise4.types @@ -4,8 +4,8 @@ declare module Windows.Foundation { export interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -22,8 +22,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -40,8 +40,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -58,8 +58,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -103,11 +103,11 @@ p.then(function (x) { } ); // should not error >p.then(function (x) { } ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { } : (x: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : number @@ -117,15 +117,15 @@ p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // s >p.then(function (x) { return "hello"; } ).then(function (x) { return x } ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p.then(function (x) { return "hello"; } ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { return "hello"; } : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -133,7 +133,7 @@ p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // s >"hello" : "hello" > : ^^^^^^^ >then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { return x } : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/isArray.types b/tests/baselines/reference/isArray.types index 98915642bd7a6..711b042b43206 100644 --- a/tests/baselines/reference/isArray.types +++ b/tests/baselines/reference/isArray.types @@ -10,11 +10,11 @@ if (Array.isArray(maybeArray)) { >Array.isArray(maybeArray) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >maybeArray : number | number[] > : ^^^^^^^^^^^^^^^^^ @@ -31,9 +31,9 @@ else { >maybeArray.toFixed() : string > : ^^^^^^ >maybeArray.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >maybeArray : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/isolatedDeclarationErrors.types b/tests/baselines/reference/isolatedDeclarationErrors.types index 905c66e84121a..d311928409fc7 100644 --- a/tests/baselines/reference/isolatedDeclarationErrors.types +++ b/tests/baselines/reference/isolatedDeclarationErrors.types @@ -29,7 +29,7 @@ errorOnAssignmentBelow.a = ""; >errorOnAssignmentBelow.a : string > : ^^^^^^ >errorOnAssignmentBelow : { (): void; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >"" : "" diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types index 4fe3abdda1db9..a8186114cc0ca 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types @@ -30,11 +30,11 @@ export function child1(prototype: ParentThing) { >prototype.add = (a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >prototype.add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prototype : ParentThing > : ^^^^^^^^^^^ >add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/isolatedDeclarationErrorsEnums.types b/tests/baselines/reference/isolatedDeclarationErrorsEnums.types index 4876ce00b96be..26fbe48b81579 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsEnums.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsEnums.types @@ -17,7 +17,7 @@ enum E { >computed(0) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,7 +27,7 @@ enum E { >computed(1) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -37,7 +37,7 @@ enum E { >computed(2) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ @@ -47,7 +47,7 @@ enum E { >computed(3) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ } diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types index 0346c6b0a19d4..0a32e4b747eb9 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types @@ -27,11 +27,11 @@ export const numberConstBad2 = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export const numberConstBad3 = numberConst; >numberConstBad3 : 1 @@ -61,7 +61,7 @@ export const bigIntConstBad2 = time(); >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ export const bigIntConstBad3 = bigIntConst; >bigIntConstBad3 : 1n @@ -162,11 +162,11 @@ export let numberLetBad2 = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export let numberLetBad3 = numberLet; >numberLetBad3 : number @@ -196,7 +196,7 @@ export let bigIntLetBad2 = time(); >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ export let bigIntLetBad3 = bigIntLet; >bigIntLetBad3 : bigint @@ -416,11 +416,11 @@ export class Exported { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ public numberLetBad3 = numberLet; >numberLetBad3 : number @@ -450,7 +450,7 @@ export class Exported { >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ public bigIntLetBad3 = bigIntLet; >bigIntLetBad3 : bigint @@ -543,11 +543,11 @@ export class Exported { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ readonly numberConstBad3 = numberConst; >numberConstBad3 : 1 @@ -577,7 +577,7 @@ export class Exported { >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ readonly bigIntConstBad3 = bigIntConst; >bigIntConstBad3 : 1n @@ -755,19 +755,19 @@ export function numberParamBad2(p = Math.random()): void { } >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export function numberParamBad3(p = numberParam): void { } >numberParamBad3 : (p?: (p?: number) => void) => void -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^ ^^^^^ >p : (p?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >numberParam : (p?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ export function bigIntParam(p = 1n): void { } >bigIntParam : (p?: bigint) => void @@ -797,15 +797,15 @@ export function bigIntParamBad2(p = time()): void { } >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ export function bigIntParamBad3(p = bigIntParam): void { } >bigIntParamBad3 : (p?: (p?: bigint) => void) => void -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^ ^^^^^ >p : (p?: bigint) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >bigIntParam : (p?: bigint) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ export function stringParam(p = "s"): void { } >stringParam : (p?: string) => void diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.types b/tests/baselines/reference/isolatedDeclarationErrorsObjects.types index d18df7690c852..5eff377c54ebe 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsObjects.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.types @@ -32,11 +32,11 @@ export let oBad = { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } export const V = 1; >V : 1 @@ -62,11 +62,11 @@ export let oBad2 = { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ }, c: { @@ -284,7 +284,7 @@ export const oWithComputedProperties = { >prop(2) : 2 > : ^ >prop : (v: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >2 : 2 > : ^ >2 : 2 diff --git a/tests/baselines/reference/isolatedDeclarationOutFile.types b/tests/baselines/reference/isolatedDeclarationOutFile.types index 57109875a53d5..e614a00a4b678 100644 --- a/tests/baselines/reference/isolatedDeclarationOutFile.types +++ b/tests/baselines/reference/isolatedDeclarationOutFile.types @@ -15,11 +15,11 @@ export class A { >msg.toUpperCase() : string > : ^^^^^^ >msg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >msg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -44,11 +44,11 @@ export class B extends A { >n.toFixed(6) : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >6 : 6 > : ^ } diff --git a/tests/baselines/reference/isolatedModulesImportConstEnum.types b/tests/baselines/reference/isolatedModulesImportConstEnum.types index 97742e055536a..7052665a0080e 100644 --- a/tests/baselines/reference/isolatedModulesImportConstEnum.types +++ b/tests/baselines/reference/isolatedModulesImportConstEnum.types @@ -9,11 +9,11 @@ console.log(Foo.BAR); >console.log(Foo.BAR) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.BAR : Foo > : ^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/isolatedModulesPlainFile-AMD.types b/tests/baselines/reference/isolatedModulesPlainFile-AMD.types index 6e9a0ea747dc4..769d5c830ef0f 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-AMD.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-AMD.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types b/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types index 846e95d5835cb..d71cbd7da1b0c 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-ES6.types b/tests/baselines/reference/isolatedModulesPlainFile-ES6.types index 2705d8abee84d..23ea2fd0226b8 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-ES6.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-ES6.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-System.types b/tests/baselines/reference/isolatedModulesPlainFile-System.types index a90c0498f8bbb..71d1484f60057 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-System.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-System.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-UMD.types b/tests/baselines/reference/isolatedModulesPlainFile-UMD.types index f1fe72ea7e822..71cef5fff46d4 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-UMD.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-UMD.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types index 2d154d652024b..493eed099b05c 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.types +++ b/tests/baselines/reference/isomorphicMappedTypeInference.types @@ -82,7 +82,7 @@ function boxify(obj: T): Boxified { >box(obj[k]) : Box]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >box : (x: T_1) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj[k] : T[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T @@ -127,7 +127,7 @@ function unboxify(obj: Boxified): T { >unbox(obj[k]) : T[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj[k] : Boxified[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : Boxified @@ -211,7 +211,7 @@ function f1() { >boxify(v) : Boxified<{ a: number; b: string; c: boolean; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >v : { a: number; b: string; c: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -246,7 +246,7 @@ function f2() { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -256,7 +256,7 @@ function f2() { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -266,7 +266,7 @@ function f2() { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -277,7 +277,7 @@ function f2() { >unboxify(b) : { a: number; b: string; c: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -308,7 +308,7 @@ function f3() { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -318,7 +318,7 @@ function f3() { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -328,7 +328,7 @@ function f3() { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -364,7 +364,7 @@ function f4() { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -374,7 +374,7 @@ function f4() { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -384,7 +384,7 @@ function f4() { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -397,11 +397,11 @@ function f4() { >boxify(unboxify(b)) : Boxified<{ a: number; b: string; c: boolean; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >unboxify(b) : { a: number; b: string; c: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -413,11 +413,11 @@ function f4() { >unboxify(boxify(b)) : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >boxify(b) : Boxified<{ a: Box; b: Box; c: Box; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -455,7 +455,7 @@ function f5(s: string) { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -465,7 +465,7 @@ function f5(s: string) { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -475,7 +475,7 @@ function f5(s: string) { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -486,7 +486,7 @@ function f5(s: string) { >unboxify(b) : { a: string | number | boolean; b: string | number | boolean; c: string | number | boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { a: Box | Box | Box; b: Box | Box | Box; c: Box | Box | Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -536,7 +536,7 @@ function f6(s: string) { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -546,7 +546,7 @@ function f6(s: string) { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -556,7 +556,7 @@ function f6(s: string) { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -567,7 +567,7 @@ function f6(s: string) { >unboxify(b) : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { [x: string]: Box | Box | Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -621,31 +621,31 @@ function f10(foo: Foo) { let x = validate(foo); // { a: number, readonly b: string } >x : { a: number; readonly b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ ^^^ >validate(foo) : { a: number; readonly b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ ^^^ >validate : (obj: { [P in keyof T]?: T[P]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ let y = clone(foo); // { a?: number, b: string } ->y : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->clone(foo) : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>y : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ +>clone(foo) : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ >clone : (obj: { readonly [P in keyof T]: T[P]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ let z = validateAndClone(foo); // { a: number, b: string } >z : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >validateAndClone(foo) : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >validateAndClone : (obj: { readonly [P in keyof T]?: T[P]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ } @@ -685,7 +685,7 @@ var g1 = applySpec({ >applySpec({ sum: (a: any) => 3, nested: { mul: (b: any) => "n" }}) : (...args: any[]) => { sum: number; nested: { mul: string; }; } > : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >applySpec : (obj: Spec) => (...args: any[]) => T -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ sum: (a: any) => 3, nested: { mul: (b: any) => "n" }} : { sum: (a: any) => number; nested: { mul: (b: any) => string; }; } > : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ @@ -722,7 +722,7 @@ var g2 = applySpec({ foo: { bar: { baz: (x: any) => true } } }); >applySpec({ foo: { bar: { baz: (x: any) => true } } }) : (...args: any[]) => { foo: { bar: { baz: boolean; }; }; } > : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >applySpec : (obj: Spec) => (...args: any[]) => T -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { bar: { baz: (x: any) => true } } } : { foo: { bar: { baz: (x: any) => boolean; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >foo : { bar: { baz: (x: any) => boolean; }; } @@ -840,7 +840,7 @@ let x0 = f20({ foo: 42, bar: "hello" }); >f20({ foo: 42, bar: "hello" }) : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (obj: Pick) => T -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -858,7 +858,7 @@ let x1 = f21({ foo: 42, bar: "hello" }); >f21({ foo: 42, bar: "hello" }) : "foo" | "bar" > : ^^^^^^^^^^^^^ >f21 : (obj: Pick) => K -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -876,7 +876,7 @@ let x2 = f22({ foo: { value: 42} , bar: { value: "hello" } }); >f22({ foo: { value: 42} , bar: { value: "hello" } }) : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f22 : (obj: Boxified>) => T -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: { value: 42} , bar: { value: "hello" } } : { foo: { value: number; }; bar: { value: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { value: number; } @@ -902,7 +902,7 @@ let x3 = f23({ foo: 42, bar: "hello" }); >f23({ foo: 42, bar: "hello" }) : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f23 : (obj: Pick) => T -> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -920,7 +920,7 @@ let x4 = f24({ foo: 42, bar: "hello" }); >f24({ foo: 42, bar: "hello" }) : { foo: number; bar: string; } & { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f24 : (obj: Pick) => T & U -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -959,7 +959,7 @@ const o1 = getProps(myAny, ['foo', 'bar']); >getProps(myAny, ['foo', 'bar']) : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^ >getProps : (obj: T, list: K[]) => Pick -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >myAny : any >['foo', 'bar'] : ("foo" | "bar")[] > : ^^^^^^^^^^^^^^^^^ @@ -976,7 +976,7 @@ const o2: { foo: any; bar: any } = getProps(myAny, ['foo', 'bar']); >getProps(myAny, ['foo', 'bar']) : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^ >getProps : (obj: T, list: K[]) => Pick -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >myAny : any >['foo', 'bar'] : ("foo" | "bar")[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/iteratorSpreadInArray6.types b/tests/baselines/reference/iteratorSpreadInArray6.types index 6762d8bf9b941..0cfd7122bb037 100644 --- a/tests/baselines/reference/iteratorSpreadInArray6.types +++ b/tests/baselines/reference/iteratorSpreadInArray6.types @@ -60,11 +60,11 @@ array.concat([...new SymbolIterator]); >array.concat([...new SymbolIterator]) : number[] > : ^^^^^^^^ >array.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >array : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[...new SymbolIterator] : symbol[] > : ^^^^^^^^ >...new SymbolIterator : symbol diff --git a/tests/baselines/reference/iteratorSpreadInArray7.types b/tests/baselines/reference/iteratorSpreadInArray7.types index 9f1a5e391fd7e..e20e37747488d 100644 --- a/tests/baselines/reference/iteratorSpreadInArray7.types +++ b/tests/baselines/reference/iteratorSpreadInArray7.types @@ -54,11 +54,11 @@ array.concat([...new SymbolIterator]); >array.concat([...new SymbolIterator]) : symbol[] > : ^^^^^^^^ >array.concat : { (...items: ConcatArray[]): symbol[]; (...items: (symbol | ConcatArray)[]): symbol[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >array : symbol[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): symbol[]; (...items: (symbol | ConcatArray)[]): symbol[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[...new SymbolIterator] : symbol[] > : ^^^^^^^^ >...new SymbolIterator : symbol diff --git a/tests/baselines/reference/iteratorsAndStrictNullChecks.types b/tests/baselines/reference/iteratorsAndStrictNullChecks.types index 5cea55e6d006f..a5af45e1adc98 100644 --- a/tests/baselines/reference/iteratorsAndStrictNullChecks.types +++ b/tests/baselines/reference/iteratorsAndStrictNullChecks.types @@ -14,11 +14,11 @@ for (const x of ["a", "b"]) { x.substring; >x.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ } // Spread @@ -48,11 +48,11 @@ xs.push(...ys); >xs.push(...ys) : number > : ^^^^^^ >xs.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >xs : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >...ys : number > : ^^^^^^ >ys : number[] diff --git a/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types b/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types index 4c2ccb85f0323..bd9b871ecb2fd 100644 --- a/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types +++ b/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types @@ -9,11 +9,11 @@ function Graphic() { Object.defineProperty(Graphic.prototype, "instance", { >Object.defineProperty(Graphic.prototype, "instance", { get: function() { return this; }}) : any >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Graphic.prototype : any >Graphic : typeof Graphic > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types b/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types index a7f028733e45c..7a4646f943e28 100644 --- a/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types +++ b/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types @@ -40,13 +40,13 @@ class ElementsArray extends Array { static { const superisArray = super.isArray; >superisArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const customIsArray = (arg)=> superisArray(arg); >customIsArray : (arg: any) => arg is any[] @@ -57,7 +57,7 @@ class ElementsArray extends Array { >superisArray(arg) : boolean > : ^^^^^^^ >superisArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : any this.isArray = customIsArray; diff --git a/tests/baselines/reference/jqueryInference.types b/tests/baselines/reference/jqueryInference.types index 4c2845d288a65..942dc294bf5e1 100644 --- a/tests/baselines/reference/jqueryInference.types +++ b/tests/baselines/reference/jqueryInference.types @@ -38,7 +38,7 @@ var p2 = shouldBeIdentity(p1); >shouldBeIdentity(p1) : MyPromise > : ^^^^^^^^^^^^^^^^^^^^^^^ >shouldBeIdentity : (p: DoNothingAlias) => MyPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >p1 : MyPromise > : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types b/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types index d8620b69b8fc8..3ec91157a364f 100644 --- a/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types +++ b/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types @@ -11,11 +11,11 @@ class C { >Object.defineProperty(this, "_prop", { value: {} }) : this > : ^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >"_prop" : "_prop" @@ -31,11 +31,11 @@ class C { >Object.defineProperty(this._prop, "num", { value: 12 }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this._prop : any > : ^^^ >this : this diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration2.types b/tests/baselines/reference/jsContainerMergeTsDeclaration2.types index b7d9048c60cf8..93262416e627f 100644 --- a/tests/baselines/reference/jsContainerMergeTsDeclaration2.types +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration2.types @@ -26,11 +26,11 @@ C.bar = 2; >C.bar = 2 : 2 > : ^ >C.bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/jsDeclarationsClassMethod.types b/tests/baselines/reference/jsDeclarationsClassMethod.types index c68e2aaa983c9..ec0498c5dc179 100644 --- a/tests/baselines/reference/jsDeclarationsClassMethod.types +++ b/tests/baselines/reference/jsDeclarationsClassMethod.types @@ -20,7 +20,7 @@ function C1() { >prop : any > : ^^^ >function (x, y) { return x + y; } : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -55,7 +55,7 @@ C1.prototype.method = function (x, y) { >method : any > : ^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -80,13 +80,13 @@ C1.staticProp = function (x, y) { >C1.staticProp = function (x, y) { return x + y;} : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >C1.staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >C1 : typeof C1 > : ^^^^^^^^^ >staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -139,7 +139,7 @@ C2.prototype.method2 = function (x, y) { >C2.prototype.method2 = function (x, y) { return x + y;} : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >C2.prototype.method2 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >C2.prototype : C2 > : ^^ >C2 : typeof C2 @@ -147,9 +147,9 @@ C2.prototype.method2 = function (x, y) { >prototype : C2 > : ^^ >method2 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -174,13 +174,13 @@ C2.staticProp = function (x, y) { >C2.staticProp = function (x, y) { return x + y;} : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >C2.staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ >staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number diff --git a/tests/baselines/reference/jsDeclarationsEnumTag.types b/tests/baselines/reference/jsDeclarationsEnumTag.types index f159b8deaad56..0a15e726709b9 100644 --- a/tests/baselines/reference/jsDeclarationsEnumTag.types +++ b/tests/baselines/reference/jsDeclarationsEnumTag.types @@ -124,7 +124,7 @@ export function consume(t,s,f) { /** @type {(n: number) => number} */ var fun = f >fun : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : Fs > : ^^ @@ -135,7 +135,7 @@ export function consume(t,s,f) { >Target.START : string > : ^^^^^^ >Target : { START: string; MIDDLE: string; END: string; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >START : string > : ^^^^^^ @@ -160,7 +160,7 @@ export function ff(s) { > : ^^^^^^^ >Target[s] : error >Target : { START: string; MIDDLE: string; END: string; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ @@ -170,7 +170,7 @@ export function ff(s) { return Target[s] >Target[s] : error >Target : { START: string; MIDDLE: string; END: string; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ } diff --git a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types index 4f0a75f4b430e..8f461b53a6937 100644 --- a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types +++ b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types @@ -5,11 +5,11 @@ Object.defineProperty(module.exports, "a", { value: function a() {} }); >Object.defineProperty(module.exports, "a", { value: function a() {} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -31,11 +31,11 @@ Object.defineProperty(module.exports, "b", { value: function b() {} }); >Object.defineProperty(module.exports, "b", { value: function b() {} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -57,11 +57,11 @@ Object.defineProperty(module.exports.b, "cat", { value: "cat" }); >Object.defineProperty(module.exports.b, "cat", { value: "cat" }) : () => void > : ^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports.b : () => void > : ^^^^^^^^^^ >module.exports : typeof module.exports @@ -99,11 +99,11 @@ Object.defineProperty(module.exports, "d", { value: d }); >Object.defineProperty(module.exports, "d", { value: d }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -113,11 +113,11 @@ Object.defineProperty(module.exports, "d", { value: d }); >"d" : "d" > : ^^^ >{ value: d } : { value: (a: number, b: number) => string; } -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >value : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ /** @@ -139,11 +139,11 @@ Object.defineProperty(module.exports, "e", { value: e }); >Object.defineProperty(module.exports, "e", { value: e }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -153,11 +153,11 @@ Object.defineProperty(module.exports, "e", { value: e }); >"e" : "e" > : ^^^ >{ value: e } : { value: (a: T, b: U) => T & U; } -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >value : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ /** * @template T @@ -177,11 +177,11 @@ Object.defineProperty(module.exports, "f", { value: f }); >Object.defineProperty(module.exports, "f", { value: f }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -201,11 +201,11 @@ Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); >Object.defineProperty(module.exports.f, "self", { value: module.exports.f }) : (a: T) => T > : ^ ^^ ^^ ^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports.f : (a: T) => T > : ^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports @@ -241,7 +241,7 @@ function g(a, b) { >g : (a: { x: string; }, b: { y: () => void; }) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: () => void; } > : ^^^^^^^^^^^^^^^^^^ @@ -251,7 +251,7 @@ function g(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -267,11 +267,11 @@ Object.defineProperty(module.exports, "g", { value: g }); >Object.defineProperty(module.exports, "g", { value: g }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -296,7 +296,7 @@ function hh(a, b) { >hh : (a: { x: string; }, b: { y: () => void; }) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: () => void; } > : ^^^^^^^^^^^^^^^^^^ @@ -306,7 +306,7 @@ function hh(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -322,11 +322,11 @@ Object.defineProperty(module.exports, "h", { value: hh }); >Object.defineProperty(module.exports, "h", { value: hh }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -346,11 +346,11 @@ Object.defineProperty(module.exports, "i", { value: function i(){} }); >Object.defineProperty(module.exports, "i", { value: function i(){} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -372,11 +372,11 @@ Object.defineProperty(module.exports, "ii", { value: module.exports.i }); >Object.defineProperty(module.exports, "ii", { value: module.exports.i }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -405,11 +405,11 @@ Object.defineProperty(module.exports, "jj", { value: module.exports.j }); >Object.defineProperty(module.exports, "jj", { value: module.exports.j }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -437,11 +437,11 @@ Object.defineProperty(module.exports, "j", { value: function j() {} }); >Object.defineProperty(module.exports, "j", { value: function j() {} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types index 01fc6799f2f44..5d57ae5bdaf02 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types +++ b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types @@ -132,17 +132,17 @@ function Context(input) { > : ^^^^^ >this.state : any >this : this & { construct(input: Input, handle?: HookHandler | undefined): State; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ >state : any > : ^^^ >this.construct(input) : State > : ^^^^^ >this.construct : (input: Input, handle?: HookHandler | undefined) => State -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ >this : this & { construct(input: Input, handle?: HookHandler | undefined): State; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ >construct : (input: Input, handle?: HookHandler | undefined) => State -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ >input : Input > : ^^^^^ } @@ -154,7 +154,7 @@ Context.prototype = { >Context : typeof Context > : ^^^^^^^^^^^^^^ >prototype : { construct(input: Input, handle?: HookHandler | undefined): State; } -> : ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ >{ /** * @param {Input} input * @param {HookHandler=} handle * @returns {State} */ construct(input, handle = () => void 0) { return input; }} : { construct(input: Input, handle?: HookHandler | undefined): State; } > : ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ @@ -184,13 +184,13 @@ Context.prototype = { } module.exports = Context; >module.exports = Context : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^ >module.exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^ >module : { exports: { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; }; } -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ >exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^ >Context : typeof Context > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types index 5b49f19f16634..829a80b75be55 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types +++ b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types @@ -76,11 +76,11 @@ export function magnitude(p) { >Math.sqrt(p.x ** 2 + p.y ** 2) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >p.x ** 2 + p.y ** 2 : number > : ^^^^^^ >p.x ** 2 : number diff --git a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types index 2ec24b2c2fa90..ea120c2271da2 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types +++ b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types @@ -208,11 +208,11 @@ Vec.prototype = { >Math.sqrt(sum) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sum : number > : ^^^^^^ } @@ -255,11 +255,11 @@ export function Point2D(x, y) { Vec.call(this, 2); >Vec.call(this, 2) : any >Vec.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Vec : typeof Vec > : ^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ >2 : 2 diff --git a/tests/baselines/reference/jsDeclarationsFunctions.types b/tests/baselines/reference/jsDeclarationsFunctions.types index e9cb82130b956..c007e64aa2969 100644 --- a/tests/baselines/reference/jsDeclarationsFunctions.types +++ b/tests/baselines/reference/jsDeclarationsFunctions.types @@ -100,9 +100,9 @@ function g(a, b) { >g : (a: { x: string; }, b: { y: typeof import("index").b; }) => void > : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ return a.x && b.y(); >a.x && b.y() : void @@ -110,7 +110,7 @@ function g(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -118,7 +118,7 @@ function g(a, b) { >b.y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ >y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -135,9 +135,9 @@ function hh(a, b) { >hh : (a: { x: string; }, b: { y: typeof import("index").b; }) => void > : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ return a.x && b.y(); >a.x && b.y() : void @@ -145,7 +145,7 @@ function hh(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -153,7 +153,7 @@ function hh(a, b) { >b.y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ >y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types index 1ef43a4f0785a..250d00c1345c2 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types +++ b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types @@ -104,7 +104,7 @@ module.exports.d = function d(a, b) { return /** @type {*} */(null); } >module.exports.d = function d(a, b) { return /** @type {*} */(null); } : (a: number, b: number) => string > : ^ ^^ ^^ ^^ ^^^^^ >module.exports.d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -112,11 +112,11 @@ module.exports.d = function d(a, b) { return /** @type {*} */(null); } >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function d(a, b) { return /** @type {*} */(null); } : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number @@ -133,7 +133,7 @@ module.exports.e = function e(a, b) { return /** @type {*} */(null); } >module.exports.e = function e(a, b) { return /** @type {*} */(null); } : (a: T, b: U) => T & U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports.e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -141,11 +141,11 @@ module.exports.e = function e(a, b) { return /** @type {*} */(null); } >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >function e(a, b) { return /** @type {*} */(null); } : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : U @@ -216,7 +216,7 @@ function g(a, b) { >g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: { (): void; cat: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -226,7 +226,7 @@ function g(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -263,7 +263,7 @@ function hh(a, b) { >hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: { (): void; cat: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -273,7 +273,7 @@ function hh(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void diff --git a/tests/baselines/reference/jsDeclarationsGetterSetter.types b/tests/baselines/reference/jsDeclarationsGetterSetter.types index b8e57911a8817..4a6817beed614 100644 --- a/tests/baselines/reference/jsDeclarationsGetterSetter.types +++ b/tests/baselines/reference/jsDeclarationsGetterSetter.types @@ -58,11 +58,11 @@ Object.defineProperty(D.prototype, "x", { >Object.defineProperty(D.prototype, "x", { get() { return 12; }}) : D > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >D.prototype : D > : ^ >D : typeof D @@ -92,11 +92,11 @@ Object.defineProperty(E.prototype, "x", { >Object.defineProperty(E.prototype, "x", { /** * @param {number} _arg */ set(_arg) {}}) : E > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >E.prototype : E > : ^ >E : typeof E @@ -127,11 +127,11 @@ Object.defineProperty(F.prototype, "x", { >Object.defineProperty(F.prototype, "x", { get() { return 12; }, /** * @param {number} _arg */ set(_arg) {}}) : F > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >F.prototype : F > : ^ >F : typeof F @@ -171,11 +171,11 @@ Object.defineProperty(G.prototype, "x", { >Object.defineProperty(G.prototype, "x", { /** * @param {number[]} args */ set(...args) {}}) : G > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >G.prototype : G > : ^ >G : typeof G @@ -206,11 +206,11 @@ Object.defineProperty(H.prototype, "x", { >Object.defineProperty(H.prototype, "x", { set() {}}) : H > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >H.prototype : H > : ^ >H : typeof H @@ -237,11 +237,11 @@ Object.defineProperty(I.prototype, "x", { >Object.defineProperty(I.prototype, "x", { /** * @param {number} v */ set: (v) => {}}) : I > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >I.prototype : I > : ^ >I : typeof I @@ -285,11 +285,11 @@ Object.defineProperty(J.prototype, "x", { >Object.defineProperty(J.prototype, "x", { set: jSetter}) : J > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >J.prototype : J > : ^ >J : typeof J @@ -339,11 +339,11 @@ Object.defineProperty(K.prototype, "x", { >Object.defineProperty(K.prototype, "x", { set: Math.random() ? kSetter1 : kSetter2}) : K > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >K.prototype : K > : ^ >K : typeof K @@ -363,11 +363,11 @@ Object.defineProperty(K.prototype, "x", { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >kSetter1 : (v: number) => void > : ^ ^^ ^^^^^^^^^ >kSetter2 : (v: number) => void @@ -405,11 +405,11 @@ Object.defineProperty(L.prototype, "x", { >Object.defineProperty(L.prototype, "x", { set: Math.random() ? lSetter1 : lSetter2}) : L > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >L.prototype : L > : ^ >L : typeof L @@ -429,11 +429,11 @@ Object.defineProperty(L.prototype, "x", { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >lSetter1 : (v: number) => void > : ^ ^^ ^^^^^^^^^ >lSetter2 : (v: string) => void @@ -471,11 +471,11 @@ Object.defineProperty(M.prototype, "x", { >Object.defineProperty(M.prototype, "x", { set: Math.random() ? mSetter1 : mSetter2}) : M > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >M.prototype : M > : ^ >M : typeof M @@ -495,11 +495,11 @@ Object.defineProperty(M.prototype, "x", { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >mSetter1 : (v: number | boolean) => void > : ^ ^^ ^^^^^^^^^ >mSetter2 : (v: string | boolean) => void diff --git a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types index 2973791a8506b..17d640084a106 100644 --- a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types +++ b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types @@ -86,8 +86,8 @@ function testFn(input) { } export {testFn, testFnTypes}; ->testFn : (input: testFnTypes.input) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>testFn : (input: testFnTypes.input) => number | null +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >testFnTypes : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types index d4dc499e2b4a0..f7fc712452b07 100644 --- a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types +++ b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types @@ -70,10 +70,10 @@ module.exports = {testFn, testFnTypes}; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ ->{testFn, testFnTypes} : { testFn: (input: testFnTypes.input) => number; testFnTypes: { [x: string]: any; }; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->testFn : (input: testFnTypes.input) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{testFn, testFnTypes} : { testFn: (input: testFnTypes.input) => number | null; testFnTypes: { [x: string]: any; }; } +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>testFn : (input: testFnTypes.input) => number | null +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >testFnTypes : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsImportTypeBundled.types b/tests/baselines/reference/jsDeclarationsImportTypeBundled.types index f0285f68e0262..996ab29fef56d 100644 --- a/tests/baselines/reference/jsDeclarationsImportTypeBundled.types +++ b/tests/baselines/reference/jsDeclarationsImportTypeBundled.types @@ -19,13 +19,13 @@ const x = {x: 12}; module.exports = x; >module.exports = x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >module.exports : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >module : { exports: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^ >exports : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : Item > : ^^^^ diff --git a/tests/baselines/reference/jsDeclarationsInterfaces.types b/tests/baselines/reference/jsDeclarationsInterfaces.types index edd50ba8cb448..48c74df293ee2 100644 --- a/tests/baselines/reference/jsDeclarationsInterfaces.types +++ b/tests/baselines/reference/jsDeclarationsInterfaces.types @@ -49,23 +49,23 @@ export interface C { method(): number; >method : { (): number; (a: T & Q_1): Q_1 & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ method(a: T & Q): Q & number; >method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : T & Q > : ^^^^^ method(a?: number): number; >method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ method(...args: any[]): number; >method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types index 15569dfe0a56d..696688eb1ec20 100644 --- a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types +++ b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types @@ -68,11 +68,11 @@ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types b/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types index 013cc71668ca3..3e10f81abd6b2 100644 --- a/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types +++ b/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types @@ -15,7 +15,7 @@ function x(y) { } */ function y(func) { return; } >y : (func: (arg0: any[]) => any) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg0: any[]) => any > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsNestedParams.types b/tests/baselines/reference/jsDeclarationsNestedParams.types index 6b25fa4d0d7f1..c2a5dc6faff58 100644 --- a/tests/baselines/reference/jsDeclarationsNestedParams.types +++ b/tests/baselines/reference/jsDeclarationsNestedParams.types @@ -39,7 +39,7 @@ class Y { > : ^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^ >reason : string > : ^^^^^^ ->suberr : { reason: string; code: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>suberr : { reason: string | null; code: string | null; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types index 1be8f72148830..b697f7df055a0 100644 --- a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types +++ b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types @@ -65,10 +65,10 @@ const couldntThinkOfAny = {} * @returns {InstanceType} */ const test = (base) => { ->test : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ ->(base) => { return base;} : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ +>test : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ +>(base) => { return base;} : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ >base : Base > : ^^^^ diff --git a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types index 9d4beac587a89..2a83739f0bef7 100644 --- a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types +++ b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types @@ -55,10 +55,10 @@ module.exports = BaseFactory; * @returns {InstanceType} */ const test = (base) => { ->test : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ ->(base) => { return base;} : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ +>test : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ +>(base) => { return base;} : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ >base : Base > : ^^^^ diff --git a/tests/baselines/reference/jsDeclarationsPrivateFields01.types b/tests/baselines/reference/jsDeclarationsPrivateFields01.types index df0b52bdc915f..6bae529a250e1 100644 --- a/tests/baselines/reference/jsDeclarationsPrivateFields01.types +++ b/tests/baselines/reference/jsDeclarationsPrivateFields01.types @@ -36,13 +36,13 @@ export class C { >this.#hello.toUpperCase() : string > : ^^^^^^ >this.#hello.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.#hello : string > : ^^^^^^ >this : this > : ^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } /** @param value {string} */ set #screamingHello(value) { diff --git a/tests/baselines/reference/jsDeclarationsReactComponents.types b/tests/baselines/reference/jsDeclarationsReactComponents.types index 3035d9c2bf356..ead47f32a6163 100644 --- a/tests/baselines/reference/jsDeclarationsReactComponents.types +++ b/tests/baselines/reference/jsDeclarationsReactComponents.types @@ -154,9 +154,9 @@ import React from "react"; */ const TabbedShowLayout = () => { >TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^ ^ >() => { return (

    ; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types b/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types index b3f289c52f8a0..a5584881a2eb5 100644 --- a/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types +++ b/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types @@ -11,7 +11,7 @@ var f: (x: T, y: U) => T; var f: (x: any, y: any) => any; >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -27,7 +27,7 @@ var g: (x: T, y: U) => T; var g: (x: any, y: any) => any; >g : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -43,7 +43,7 @@ var h: (x: T, y: U) => T; var h: (x: any, y: any) => any; >h : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -59,7 +59,7 @@ var i: (x: T, y: U) => T; var i: (x: any, y: string) => any; >i : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : string @@ -75,7 +75,7 @@ var j: (x: T, y: U) => T; var j: (x: any, y: any) => string; >j : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any diff --git a/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types b/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types index f4f468fd50882..c820265626dd0 100644 --- a/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types +++ b/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types @@ -11,7 +11,7 @@ var f: (x: T, y: U) => T; var f: (x: U, y: T) => U; >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : U > : ^ >y : T diff --git a/tests/baselines/reference/identityRelationNeverTypes.types b/tests/baselines/reference/identityRelationNeverTypes.types index 72b153859a74e..bec78ed2759b1 100644 --- a/tests/baselines/reference/identityRelationNeverTypes.types +++ b/tests/baselines/reference/identityRelationNeverTypes.types @@ -46,21 +46,21 @@ function f1(state: State<{ foo: number }>) { >state.matches('a') : boolean > : ^^^^^^^ >state.matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >state : State<{ foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >'a' : "a" > : ^^^ >state.matches('a.b') : boolean > : ^^^^^^^ >state.matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >state : State<{ foo: number; }> & { value: "a"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >'a.b' : "a.b" > : ^^^^^ diff --git a/tests/baselines/reference/ifDoWhileStatements.types b/tests/baselines/reference/ifDoWhileStatements.types index ffdf6f055c4cc..b97dda14f7308 100644 --- a/tests/baselines/reference/ifDoWhileStatements.types +++ b/tests/baselines/reference/ifDoWhileStatements.types @@ -89,11 +89,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } module N { @@ -117,11 +117,11 @@ module N { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // literals @@ -550,31 +550,31 @@ if (fn()) { } >fn() : I > : ^ >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ while (fn()) { } >fn() : I > : ^ >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ do { }while(fn()) >fn() : I > : ^ >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ if (fn) { } >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ while (fn) { } >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ do { }while(fn) >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/ignoredJsxAttributes.types b/tests/baselines/reference/ignoredJsxAttributes.types index c8de9a5785815..158233eda406f 100644 --- a/tests/baselines/reference/ignoredJsxAttributes.types +++ b/tests/baselines/reference/ignoredJsxAttributes.types @@ -59,7 +59,7 @@ let x1 = ; > : JSX.Element > : ^^^^^^^^^^^ >Yadda : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : string > : ^^^^^^ >data-yadda : number @@ -73,7 +73,7 @@ let x2 = ; // Error > : JSX.Element > : ^^^^^^^^^^^ >Yadda : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : string > : ^^^^^^ >data-yadda : number diff --git a/tests/baselines/reference/implementArrayInterface.types b/tests/baselines/reference/implementArrayInterface.types index bd9f3b903465b..8d7e32cd16a2a 100644 --- a/tests/baselines/reference/implementArrayInterface.types +++ b/tests/baselines/reference/implementArrayInterface.types @@ -15,13 +15,13 @@ declare class MyArray implements Array { concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : U[] > : ^^^ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ @@ -69,13 +69,13 @@ declare class MyArray implements Array { splice(start: number): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ splice(start: number, deleteCount: number, ...items: T[]): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -177,7 +177,7 @@ declare class MyArray implements Array { reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -193,7 +193,7 @@ declare class MyArray implements Array { reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -209,7 +209,7 @@ declare class MyArray implements Array { reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -225,7 +225,7 @@ declare class MyArray implements Array { reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U diff --git a/tests/baselines/reference/implicitAnyFromCircularInference.types b/tests/baselines/reference/implicitAnyFromCircularInference.types index 65a5e6f6bc200..01cee0ae77c5f 100644 --- a/tests/baselines/reference/implicitAnyFromCircularInference.types +++ b/tests/baselines/reference/implicitAnyFromCircularInference.types @@ -120,7 +120,7 @@ class C { >foo(this) : string > : ^^^^^^ >foo : (x: A) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types index 7b01c82798d4b..b9ef09d20d7a9 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types @@ -101,7 +101,7 @@ testFuncLiteral(funcL); >testFuncLiteral : (funcLit: (y2: any) => number) => void > : ^ ^^ ^^^ ^^^^^^^^^ >funcL : (y2: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ var k = temp1(null); >k : void diff --git a/tests/baselines/reference/implicitAnyGenerics.types b/tests/baselines/reference/implicitAnyGenerics.types index b33477a8d1715..07cf56c42e57d 100644 --- a/tests/baselines/reference/implicitAnyGenerics.types +++ b/tests/baselines/reference/implicitAnyGenerics.types @@ -106,12 +106,12 @@ foo() >foo() : unknown > : ^^^^^^^ >foo : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ foo(); >foo() : any >foo : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/implicitAnyWidenToAny.types b/tests/baselines/reference/implicitAnyWidenToAny.types index 60f1a788bfc49..fd148986b0e40 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.types +++ b/tests/baselines/reference/implicitAnyWidenToAny.types @@ -129,7 +129,7 @@ var obj0 = new objLit(1); >new objLit(1) : any > : ^^^ >objLit : new (n: number) => any -> : ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -139,5 +139,5 @@ var obj1 = anyReturnFunc(); >anyReturnFunc() : any > : ^^^ >anyReturnFunc : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/implicitConstParameters.types b/tests/baselines/reference/implicitConstParameters.types index 87fd39e11054b..778394a6e2ed2 100644 --- a/tests/baselines/reference/implicitConstParameters.types +++ b/tests/baselines/reference/implicitConstParameters.types @@ -11,7 +11,7 @@ function doSomething(cb: () => void) { >cb() : void > : ^^^^ >cb : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } function fn(x: number | string) { @@ -40,11 +40,11 @@ function fn(x: number | string) { >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } diff --git a/tests/baselines/reference/implicitIndexSignatures.types b/tests/baselines/reference/implicitIndexSignatures.types index 28d4450b24dd8..e967e4fc9d366 100644 --- a/tests/baselines/reference/implicitIndexSignatures.types +++ b/tests/baselines/reference/implicitIndexSignatures.types @@ -85,11 +85,11 @@ map = names1; map = names2; >map = names2 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >map : StringMap > : ^^^^^^^^^ >names2 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ declare function getStringIndexValue(map: { [x: string]: T }): T; >getStringIndexValue : (map: { [x: string]: T; }) => T @@ -139,7 +139,7 @@ function f1() { >getStringIndexValue(o1) : number > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,9 +149,9 @@ function f1() { >getStringIndexValue(o2) : number > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f2() { @@ -186,7 +186,7 @@ function f2() { >getStringIndexValue(o1) : string > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -196,9 +196,9 @@ function f2() { >getStringIndexValue(o2) : string > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f3() { @@ -233,7 +233,7 @@ function f3() { >getStringIndexValue(o1) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -243,9 +243,9 @@ function f3() { >getStringIndexValue(o2) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f4() { @@ -286,7 +286,7 @@ function f4() { >getStringIndexValue(o1) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { 0: string; 1: string; count: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -296,9 +296,9 @@ function f4() { >getStringIndexValue(o2) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { 0: string; 1: string; count: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ const v3 = getNumberIndexValue(o1); >v3 : string @@ -306,7 +306,7 @@ function f4() { >getNumberIndexValue(o1) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { 0: string; 1: string; count: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -316,9 +316,9 @@ function f4() { >getNumberIndexValue(o2) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { 0: string; 1: string; count: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ } function f5() { @@ -363,7 +363,7 @@ function f5() { >getStringIndexValue(E1) : string | E1 > : ^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E1 : typeof E1 > : ^^^^^^^^^ @@ -373,7 +373,7 @@ function f5() { >getStringIndexValue(E2) : E2 > : ^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E2 : typeof E2 > : ^^^^^^^^^ @@ -383,7 +383,7 @@ function f5() { >getStringIndexValue(E3) : string | E3.A > : ^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E3 : typeof E3 > : ^^^^^^^^^ @@ -393,7 +393,7 @@ function f5() { >getNumberIndexValue(E1) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E1 : typeof E1 > : ^^^^^^^^^ @@ -403,7 +403,7 @@ function f5() { >getNumberIndexValue(E2) : unknown > : ^^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E2 : typeof E2 > : ^^^^^^^^^ @@ -413,7 +413,7 @@ function f5() { >getNumberIndexValue(E3) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E3 : typeof E3 > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/impliedNodeFormatInterop1.types b/tests/baselines/reference/impliedNodeFormatInterop1.types index 0ef0fe7f90421..edf0ac628dde0 100644 --- a/tests/baselines/reference/impliedNodeFormatInterop1.types +++ b/tests/baselines/reference/impliedNodeFormatInterop1.types @@ -39,11 +39,11 @@ hljs.highlight("code"); >hljs.highlight("code") : string > : ^^^^^^ >hljs.highlight : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hljs : import("highlight.js").HighlightAPI > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >highlight : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"code" : "code" > : ^^^^^^ diff --git a/tests/baselines/reference/importAliasFromNamespace.types b/tests/baselines/reference/importAliasFromNamespace.types index 03f4d93c0242e..e7997446fa2ed 100644 --- a/tests/baselines/reference/importAliasFromNamespace.types +++ b/tests/baselines/reference/importAliasFromNamespace.types @@ -31,11 +31,11 @@ namespace SomeOther.Thing { >Internal.getThing() : void > : ^^^^ >Internal.getThing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Internal : typeof Internal > : ^^^^^^^^^^^^^^^ >getThing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Internal.WhichThing.A ? "foo" : "bar"; >Internal.WhichThing.A ? "foo" : "bar" : "foo" | "bar" diff --git a/tests/baselines/reference/importAliasModuleExports.types b/tests/baselines/reference/importAliasModuleExports.types index de546b8411347..97087497eaacc 100644 --- a/tests/baselines/reference/importAliasModuleExports.types +++ b/tests/baselines/reference/importAliasModuleExports.types @@ -74,11 +74,11 @@ Object.defineProperty(A.prototype, "def", { value: 0 }); >Object.defineProperty(A.prototype, "def", { value: 0 }) : A > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >A.prototype : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/importAssertion1(module=commonjs).types b/tests/baselines/reference/importAssertion1(module=commonjs).types index be6af0ffc3360..8c64e06b78f3e 100644 --- a/tests/baselines/reference/importAssertion1(module=commonjs).types +++ b/tests/baselines/reference/importAssertion1(module=commonjs).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAssertion1(module=es2015).types b/tests/baselines/reference/importAssertion1(module=es2015).types index be6af0ffc3360..8c64e06b78f3e 100644 --- a/tests/baselines/reference/importAssertion1(module=es2015).types +++ b/tests/baselines/reference/importAssertion1(module=es2015).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAssertion1(module=esnext).types b/tests/baselines/reference/importAssertion1(module=esnext).types index be6af0ffc3360..8c64e06b78f3e 100644 --- a/tests/baselines/reference/importAssertion1(module=esnext).types +++ b/tests/baselines/reference/importAssertion1(module=esnext).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAssertionNonstring.types b/tests/baselines/reference/importAssertionNonstring.types index 5522ed95cc248..23f42c74e574a 100644 --- a/tests/baselines/reference/importAssertionNonstring.types +++ b/tests/baselines/reference/importAssertionNonstring.types @@ -53,9 +53,9 @@ import * as thing6 from "./mod.mjs" assert {type: "json", field: 0..toString()} >0..toString() : string > : ^^^^^^ >0..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0. : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/importAttributes1(module=commonjs).types b/tests/baselines/reference/importAttributes1(module=commonjs).types index 4d1a86d315948..0f7c22f0c7e7e 100644 --- a/tests/baselines/reference/importAttributes1(module=commonjs).types +++ b/tests/baselines/reference/importAttributes1(module=commonjs).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAttributes1(module=es2015).types b/tests/baselines/reference/importAttributes1(module=es2015).types index 4d1a86d315948..0f7c22f0c7e7e 100644 --- a/tests/baselines/reference/importAttributes1(module=es2015).types +++ b/tests/baselines/reference/importAttributes1(module=es2015).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAttributes1(module=esnext).types b/tests/baselines/reference/importAttributes1(module=esnext).types index 4d1a86d315948..0f7c22f0c7e7e 100644 --- a/tests/baselines/reference/importAttributes1(module=esnext).types +++ b/tests/baselines/reference/importAttributes1(module=esnext).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAttributes6.types b/tests/baselines/reference/importAttributes6.types index 0c5a2b442e7f7..bb218f496175f 100644 --- a/tests/baselines/reference/importAttributes6.types +++ b/tests/baselines/reference/importAttributes6.types @@ -53,9 +53,9 @@ import * as thing6 from "./mod.mjs" with { type: "json", field: 0..toString() }; >0..toString() : string > : ^^^^^^ >0..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0. : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/importCallExpression1ES2020.types b/tests/baselines/reference/importCallExpression1ES2020.types index 257de1156da76..7e7f771fa9eba 100644 --- a/tests/baselines/reference/importCallExpression1ES2020.types +++ b/tests/baselines/reference/importCallExpression1ES2020.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpression2ES2020.types b/tests/baselines/reference/importCallExpression2ES2020.types index 3a9b0d1396ea1..75ef1139e1af5 100644 --- a/tests/baselines/reference/importCallExpression2ES2020.types +++ b/tests/baselines/reference/importCallExpression2ES2020.types @@ -23,11 +23,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpression4ES2020.types b/tests/baselines/reference/importCallExpression4ES2020.types index 3bd37a7b8f818..1625b91206eb3 100644 --- a/tests/baselines/reference/importCallExpression4ES2020.types +++ b/tests/baselines/reference/importCallExpression4ES2020.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpression5ES2020.types b/tests/baselines/reference/importCallExpression5ES2020.types index 3ce91050ea578..fc834692b56ed 100644 --- a/tests/baselines/reference/importCallExpression5ES2020.types +++ b/tests/baselines/reference/importCallExpression5ES2020.types @@ -38,7 +38,7 @@ const specify = bar() ? "./0" : undefined; >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./0" : "./0" > : ^^^^^ >undefined : undefined @@ -70,7 +70,7 @@ let myModule2 = import(bar() ? "./1" : null); >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./1" : "./1" > : ^^^^^ diff --git a/tests/baselines/reference/importCallExpression6ES2020.types b/tests/baselines/reference/importCallExpression6ES2020.types index 18d64b7eb2ea4..31095f9d23e49 100644 --- a/tests/baselines/reference/importCallExpression6ES2020.types +++ b/tests/baselines/reference/importCallExpression6ES2020.types @@ -38,7 +38,7 @@ const specify = bar() ? "./0" : undefined; >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./0" : "./0" > : ^^^^^ >undefined : undefined @@ -70,7 +70,7 @@ let myModule2 = import(bar() ? "./1" : null); >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./1" : "./1" > : ^^^^^ diff --git a/tests/baselines/reference/importCallExpressionDeclarationEmit1.types b/tests/baselines/reference/importCallExpressionDeclarationEmit1.types index 7bf962bfdf2ab..b86fd3bea8cb1 100644 --- a/tests/baselines/reference/importCallExpressionDeclarationEmit1.types +++ b/tests/baselines/reference/importCallExpressionDeclarationEmit1.types @@ -23,7 +23,7 @@ import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var p0 = import(`${directory}\\${moduleFile}`); >p0 : Promise @@ -45,7 +45,7 @@ var p1 = import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >p2 : Promise @@ -59,7 +59,7 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"defaulPath" : "defaulPath" > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/importCallExpressionDeclarationEmit3.types b/tests/baselines/reference/importCallExpressionDeclarationEmit3.types index 0e0788c3069a8..22b32bd860271 100644 --- a/tests/baselines/reference/importCallExpressionDeclarationEmit3.types +++ b/tests/baselines/reference/importCallExpressionDeclarationEmit3.types @@ -32,7 +32,7 @@ export var p0: Promise = import(getPath()); >getPath() : string > : ^^^^^^ >getPath : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ export var p1: Promise = import("./0"); >p1 : Promise diff --git a/tests/baselines/reference/importCallExpressionES5AMD.types b/tests/baselines/reference/importCallExpressionES5AMD.types index caa82337bc39c..8e24cd582f7cb 100644 --- a/tests/baselines/reference/importCallExpressionES5AMD.types +++ b/tests/baselines/reference/importCallExpressionES5AMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES5CJS.types b/tests/baselines/reference/importCallExpressionES5CJS.types index 7a9f8b9102da1..501c43763a188 100644 --- a/tests/baselines/reference/importCallExpressionES5CJS.types +++ b/tests/baselines/reference/importCallExpressionES5CJS.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES5System.types b/tests/baselines/reference/importCallExpressionES5System.types index 4931d2cd42dca..8c63aeff3a55f 100644 --- a/tests/baselines/reference/importCallExpressionES5System.types +++ b/tests/baselines/reference/importCallExpressionES5System.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES5UMD.types b/tests/baselines/reference/importCallExpressionES5UMD.types index aea570380e1ad..113dcde37851d 100644 --- a/tests/baselines/reference/importCallExpressionES5UMD.types +++ b/tests/baselines/reference/importCallExpressionES5UMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6AMD.types b/tests/baselines/reference/importCallExpressionES6AMD.types index 35effdf19789d..93766fb50580f 100644 --- a/tests/baselines/reference/importCallExpressionES6AMD.types +++ b/tests/baselines/reference/importCallExpressionES6AMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6CJS.types b/tests/baselines/reference/importCallExpressionES6CJS.types index 0465e146e40ab..1e644e40682ef 100644 --- a/tests/baselines/reference/importCallExpressionES6CJS.types +++ b/tests/baselines/reference/importCallExpressionES6CJS.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6System.types b/tests/baselines/reference/importCallExpressionES6System.types index 76e02ae679ed5..c300a7caed931 100644 --- a/tests/baselines/reference/importCallExpressionES6System.types +++ b/tests/baselines/reference/importCallExpressionES6System.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6UMD.types b/tests/baselines/reference/importCallExpressionES6UMD.types index 168eed45a98f3..cda6980518b1c 100644 --- a/tests/baselines/reference/importCallExpressionES6UMD.types +++ b/tests/baselines/reference/importCallExpressionES6UMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionErrorInES2015.types b/tests/baselines/reference/importCallExpressionErrorInES2015.types index c426d343794f4..8203a0a0657de 100644 --- a/tests/baselines/reference/importCallExpressionErrorInES2015.types +++ b/tests/baselines/reference/importCallExpressionErrorInES2015.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInAMD1.types b/tests/baselines/reference/importCallExpressionInAMD1.types index bc471cca81d63..0bd12b6af9f2d 100644 --- a/tests/baselines/reference/importCallExpressionInAMD1.types +++ b/tests/baselines/reference/importCallExpressionInAMD1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInAMD2.types b/tests/baselines/reference/importCallExpressionInAMD2.types index 3510478dc8354..24545d8db1bd5 100644 --- a/tests/baselines/reference/importCallExpressionInAMD2.types +++ b/tests/baselines/reference/importCallExpressionInAMD2.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInAMD4.types b/tests/baselines/reference/importCallExpressionInAMD4.types index fa4e57159a654..868eb740fcdcb 100644 --- a/tests/baselines/reference/importCallExpressionInAMD4.types +++ b/tests/baselines/reference/importCallExpressionInAMD4.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInCJS1.types b/tests/baselines/reference/importCallExpressionInCJS1.types index 002bf24f0fff6..ec1c939c0418a 100644 --- a/tests/baselines/reference/importCallExpressionInCJS1.types +++ b/tests/baselines/reference/importCallExpressionInCJS1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInCJS3.types b/tests/baselines/reference/importCallExpressionInCJS3.types index a15a20ad3e5ff..8ec0be061f1b7 100644 --- a/tests/baselines/reference/importCallExpressionInCJS3.types +++ b/tests/baselines/reference/importCallExpressionInCJS3.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInCJS5.types b/tests/baselines/reference/importCallExpressionInCJS5.types index aaab394f010b9..02345e1540084 100644 --- a/tests/baselines/reference/importCallExpressionInCJS5.types +++ b/tests/baselines/reference/importCallExpressionInCJS5.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInSystem1.types b/tests/baselines/reference/importCallExpressionInSystem1.types index e6b6a7dddffdd..419e45ed1231a 100644 --- a/tests/baselines/reference/importCallExpressionInSystem1.types +++ b/tests/baselines/reference/importCallExpressionInSystem1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInSystem2.types b/tests/baselines/reference/importCallExpressionInSystem2.types index f632af1959562..57a802e9b8602 100644 --- a/tests/baselines/reference/importCallExpressionInSystem2.types +++ b/tests/baselines/reference/importCallExpressionInSystem2.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInSystem4.types b/tests/baselines/reference/importCallExpressionInSystem4.types index 89457e72a94dc..775a95336e576 100644 --- a/tests/baselines/reference/importCallExpressionInSystem4.types +++ b/tests/baselines/reference/importCallExpressionInSystem4.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInUMD1.types b/tests/baselines/reference/importCallExpressionInUMD1.types index dba91104dd84f..b406128931f54 100644 --- a/tests/baselines/reference/importCallExpressionInUMD1.types +++ b/tests/baselines/reference/importCallExpressionInUMD1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInUMD2.types b/tests/baselines/reference/importCallExpressionInUMD2.types index 05d08bd6d2313..463bd298d3cb9 100644 --- a/tests/baselines/reference/importCallExpressionInUMD2.types +++ b/tests/baselines/reference/importCallExpressionInUMD2.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInUMD4.types b/tests/baselines/reference/importCallExpressionInUMD4.types index ce7c826622ecf..c3f06ea8005b7 100644 --- a/tests/baselines/reference/importCallExpressionInUMD4.types +++ b/tests/baselines/reference/importCallExpressionInUMD4.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types index 536a40f6a6c49..0cfec665db959 100644 --- a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types +++ b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types @@ -58,7 +58,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -66,7 +66,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types index 590aec6c47a9b..d568f760841df 100644 --- a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types +++ b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types @@ -46,7 +46,7 @@ import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var p1 = import(ValidSomeCondition() ? "./0" : "externalModule"); >p1 : Promise @@ -58,7 +58,7 @@ var p1 = import(ValidSomeCondition() ? "./0" : "externalModule"); >ValidSomeCondition() : boolean > : ^^^^^^^ >ValidSomeCondition : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./0" : "./0" > : ^^^^^ >"externalModule" : "externalModule" @@ -72,7 +72,7 @@ var p1: Promise = import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var p11: Promise = import(getSpecifier()); >p11 : Promise @@ -84,7 +84,7 @@ var p11: Promise = import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") as Promise; >p2 : Promise @@ -100,7 +100,7 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") as PromisegetSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"defaulPath" : "defaulPath" > : ^^^^^^^^^^^^ >defaultModule : typeof defaultModule @@ -110,11 +110,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise > : ^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any > : ^ ^^^^^^^^^^^^^ >zero : any @@ -147,7 +147,7 @@ var p3: Promise = import(j=getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ function * loadModule(directories: string[]) { >loadModule : (directories: string[]) => Generator diff --git a/tests/baselines/reference/importCallExpressionShouldNotGetParen.types b/tests/baselines/reference/importCallExpressionShouldNotGetParen.types index b7f454722ddc6..9b6e655b78586 100644 --- a/tests/baselines/reference/importCallExpressionShouldNotGetParen.types +++ b/tests/baselines/reference/importCallExpressionShouldNotGetParen.types @@ -11,7 +11,7 @@ import(`./locales/${localeName}.js`).then(bar => { >import(`./locales/${localeName}.js`).then(bar => { let x = bar;}) : Promise > : ^^^^^^^^^^^^^ >import(`./locales/${localeName}.js`).then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import(`./locales/${localeName}.js`) : Promise > : ^^^^^^^^^^^^ >`./locales/${localeName}.js` : "./locales/zh-CN.js" @@ -19,7 +19,7 @@ import(`./locales/${localeName}.js`).then(bar => { >localeName : "zh-CN" > : ^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >bar => { let x = bar;} : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >bar : any @@ -34,7 +34,7 @@ import("./locales/" + localeName + ".js").then(bar => { >import("./locales/" + localeName + ".js").then(bar => { let x = bar;}) : Promise > : ^^^^^^^^^^^^^ >import("./locales/" + localeName + ".js").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./locales/" + localeName + ".js") : Promise > : ^^^^^^^^^^^^ >"./locales/" + localeName + ".js" : string @@ -48,7 +48,7 @@ import("./locales/" + localeName + ".js").then(bar => { >".js" : ".js" > : ^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >bar => { let x = bar;} : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >bar : any diff --git a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types index 10fd9e2e5ee7d..83336624b178f 100644 --- a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types +++ b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types @@ -16,7 +16,7 @@ import(getSpecifier()); >getSpecifier() : boolean > : ^^^^^^^ >getSpecifier : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var p1 = import(getSpecifier()); >p1 : Promise @@ -26,7 +26,7 @@ var p1 = import(getSpecifier()); >getSpecifier() : boolean > : ^^^^^^^ >getSpecifier : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >p2 : Promise @@ -40,7 +40,7 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >getSpecifier() : boolean > : ^^^^^^^ >getSpecifier : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"defaulPath" : "defaulPath" > : ^^^^^^^^^^^^ @@ -48,11 +48,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise > : ^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any > : ^ ^^^^^^^^^^^^^ >zero : any diff --git a/tests/baselines/reference/importElisionExportNonExportAndDefault.types b/tests/baselines/reference/importElisionExportNonExportAndDefault.types index 5ed35cd0838b3..002a98a0fabde 100644 --- a/tests/baselines/reference/importElisionExportNonExportAndDefault.types +++ b/tests/baselines/reference/importElisionExportNonExportAndDefault.types @@ -31,11 +31,11 @@ export const MyFunction = ({ msg }: MyFunction) => console.log(`Got message "${m >console.log(`Got message "${msg}"`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Got message "${msg}"` : string > : ^^^^^^ >msg : string diff --git a/tests/baselines/reference/importEquals3.types b/tests/baselines/reference/importEquals3.types index 00e676811c0e9..6bd4c1841f07b 100644 --- a/tests/baselines/reference/importEquals3.types +++ b/tests/baselines/reference/importEquals3.types @@ -73,11 +73,11 @@ console.log(x); >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 0 > : ^ diff --git a/tests/baselines/reference/importHelpersInAmbientContext.types b/tests/baselines/reference/importHelpersInAmbientContext.types index ebd41767428d3..b9085d78a887c 100644 --- a/tests/baselines/reference/importHelpersInAmbientContext.types +++ b/tests/baselines/reference/importHelpersInAmbientContext.types @@ -45,7 +45,7 @@ export var { a, ...x } : Foo; >a : number > : ^^^^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ === b.ts === export {}; @@ -95,7 +95,7 @@ declare namespace N { >a : number > : ^^^^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } === tslib.d.ts === diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=es5).types b/tests/baselines/reference/importMeta(module=commonjs,target=es5).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=es5).types +++ b/tests/baselines/reference/importMeta(module=commonjs,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types b/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=es2020,target=es5).types b/tests/baselines/reference/importMeta(module=es2020,target=es5).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=es5).types +++ b/tests/baselines/reference/importMeta(module=es2020,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=es2020,target=esnext).types b/tests/baselines/reference/importMeta(module=es2020,target=esnext).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=es2020,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=esnext,target=es5).types b/tests/baselines/reference/importMeta(module=esnext,target=es5).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=es5).types +++ b/tests/baselines/reference/importMeta(module=esnext,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=esnext,target=esnext).types b/tests/baselines/reference/importMeta(module=esnext,target=esnext).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=esnext,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=system,target=es5).types b/tests/baselines/reference/importMeta(module=system,target=es5).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=system,target=es5).types +++ b/tests/baselines/reference/importMeta(module=system,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=system,target=esnext).types b/tests/baselines/reference/importMeta(module=system,target=esnext).types index 10d502701cbc2..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=system,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=system,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMetaNarrowing(module=es2020).types b/tests/baselines/reference/importMetaNarrowing(module=es2020).types index fd6d033785ece..b74da8891c3ae 100644 --- a/tests/baselines/reference/importMetaNarrowing(module=es2020).types +++ b/tests/baselines/reference/importMetaNarrowing(module=es2020).types @@ -9,24 +9,24 @@ declare global { interface ImportMeta {foo?: () => void} }; if (import.meta.foo) { >import.meta.foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ import.meta.foo(); >import.meta.foo() : void > : ^^^^ >import.meta.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/importMetaNarrowing(module=esnext).types b/tests/baselines/reference/importMetaNarrowing(module=esnext).types index fd6d033785ece..b74da8891c3ae 100644 --- a/tests/baselines/reference/importMetaNarrowing(module=esnext).types +++ b/tests/baselines/reference/importMetaNarrowing(module=esnext).types @@ -9,24 +9,24 @@ declare global { interface ImportMeta {foo?: () => void} }; if (import.meta.foo) { >import.meta.foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ import.meta.foo(); >import.meta.foo() : void > : ^^^^ >import.meta.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/importMetaNarrowing(module=system).types b/tests/baselines/reference/importMetaNarrowing(module=system).types index fd6d033785ece..b74da8891c3ae 100644 --- a/tests/baselines/reference/importMetaNarrowing(module=system).types +++ b/tests/baselines/reference/importMetaNarrowing(module=system).types @@ -9,24 +9,24 @@ declare global { interface ImportMeta {foo?: () => void} }; if (import.meta.foo) { >import.meta.foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ import.meta.foo(); >import.meta.foo() : void > : ^^^^ >import.meta.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/importNonExportedMember.types b/tests/baselines/reference/importNonExportedMember.types index 139566bce0e28..bf509c426e7a9 100644 --- a/tests/baselines/reference/importNonExportedMember.types +++ b/tests/baselines/reference/importNonExportedMember.types @@ -11,16 +11,16 @@ declare function bar(): any; export { foo, bar as baz }; >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >baz : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === b.ts === import { foo, bar } from "./a"; >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar : any > : ^^^ diff --git a/tests/baselines/reference/importNonExportedMember1.types b/tests/baselines/reference/importNonExportedMember1.types index a37d448ba60c2..acb86d75a235a 100644 --- a/tests/baselines/reference/importNonExportedMember1.types +++ b/tests/baselines/reference/importNonExportedMember1.types @@ -11,7 +11,7 @@ declare function bar(): any; export { foo }; >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === b.ts === import { bar } from "./a"; diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types index babfefafb0358..41627883f030f 100644 --- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types +++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types @@ -21,7 +21,7 @@ export declare function makeThing(): Thing; === index.ts === import { makeThing } from "umd"; >makeThing : () => import("node_modules/umd").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ export const thing = makeThing(); >thing : import("node_modules/umd").Thing @@ -29,5 +29,5 @@ export const thing = makeThing(); >makeThing() : import("node_modules/umd").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >makeThing : () => import("node_modules/umd").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ diff --git a/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types b/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types index d81d4c6729171..06465cd4faead 100644 --- a/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types +++ b/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types @@ -16,7 +16,7 @@ declare module "module" { === index.ts === import { fn } from "module"; >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ export const fail1 = fn((x: T): T => x); >fail1 : import("module").Modifier<((x: T) => T)> @@ -24,7 +24,7 @@ export const fail1 = fn((x: T): T => x); >fn((x: T): T => x) : import("module").Modifier<((x: T) => T)> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(x: T): T => x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -38,7 +38,7 @@ export const fail2 = fn(function(x: T): T { >fn(function(x: T): T { return x;}) : import("module").Modifier<((x: T) => T)> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >function(x: T): T { return x;} : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -56,7 +56,7 @@ export const works1 = fn((x: number) => x); >fn((x: number) => x) : import("module").Modifier<(x: number) => number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(x: number) => x : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -76,7 +76,7 @@ export const works2 = fn(x => x); >fn(x => x) : import("module").Modifier > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x => x : (x: T) => T > : ^^^^ ^^^^^^^^^ >x : T diff --git a/tests/baselines/reference/importTypeInJSDoc.types b/tests/baselines/reference/importTypeInJSDoc.types index 024ef3cc704d7..3ff67f242d631 100644 --- a/tests/baselines/reference/importTypeInJSDoc.types +++ b/tests/baselines/reference/importTypeInJSDoc.types @@ -70,15 +70,15 @@ a = new Foo({doer: Foo.Bar}); >Foo : typeof import("externs") > : ^^^^^^^^^^^^^^^^^^^^^^^^ >{doer: Foo.Bar} : { doer: (x: string, y?: number) => void; } -> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^ >doer : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Foo.Bar : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Foo : typeof import("externs") > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Bar : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ const q = /** @type {import("./externs").Bar} */({ doer: q => q }); >q : import("externs").Bar @@ -98,9 +98,9 @@ const q = /** @type {import("./externs").Bar} */({ doer: q => q }); const r = /** @type {typeof import("./externs").Bar} */(r => r); >r : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(r => r) : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >r => r : (r: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >r : string diff --git a/tests/baselines/reference/importTypeTypeofClassStaticLookup.types b/tests/baselines/reference/importTypeTypeofClassStaticLookup.types index 3308bdf4c4097..8f16d6d9ad05b 100644 --- a/tests/baselines/reference/importTypeTypeofClassStaticLookup.types +++ b/tests/baselines/reference/importTypeTypeofClassStaticLookup.types @@ -13,7 +13,7 @@ export declare class A { === index.d.ts === export const foo: typeof import("./a").A.foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >A : any > : ^^^ >foo : any diff --git a/tests/baselines/reference/importUsedInGenericImportResolves.types b/tests/baselines/reference/importUsedInGenericImportResolves.types index 1bf9376a37884..41ec7e365aff8 100644 --- a/tests/baselines/reference/importUsedInGenericImportResolves.types +++ b/tests/baselines/reference/importUsedInGenericImportResolves.types @@ -17,7 +17,7 @@ export declare const theme: { a: string } === test3.ts === export const a: import("./test1").T = null as any; >a : import("test1").T<{ a: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >theme : error >null as any : any diff --git a/tests/baselines/reference/import_reference-exported-alias.types b/tests/baselines/reference/import_reference-exported-alias.types index 3c4a15d05a11c..d2d317989b72a 100644 --- a/tests/baselines/reference/import_reference-exported-alias.types +++ b/tests/baselines/reference/import_reference-exported-alias.types @@ -27,13 +27,13 @@ var x = new UserServices().getUserName(); >new UserServices().getUserName() : string > : ^^^^^^ >new UserServices().getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new UserServices() : Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^ >UserServices : typeof Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === file1.ts === module App { diff --git a/tests/baselines/reference/import_reference-to-type-alias.types b/tests/baselines/reference/import_reference-to-type-alias.types index 6dfd87dcfe03e..0ee619113d5f1 100644 --- a/tests/baselines/reference/import_reference-to-type-alias.types +++ b/tests/baselines/reference/import_reference-to-type-alias.types @@ -21,7 +21,7 @@ var x = new Services.UserServices().getUserName(); >new Services.UserServices().getUserName() : string > : ^^^^^^ >new Services.UserServices().getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Services.UserServices() : Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^ >Services.UserServices : typeof Services.UserServices @@ -31,7 +31,7 @@ var x = new Services.UserServices().getUserName(); >UserServices : typeof Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === file1.ts === export module App { diff --git a/tests/baselines/reference/importingExportingTypes.types b/tests/baselines/reference/importingExportingTypes.types index 4f80564b60245..9a4b3e12f9f8c 100644 --- a/tests/baselines/reference/importingExportingTypes.types +++ b/tests/baselines/reference/importingExportingTypes.types @@ -24,7 +24,7 @@ declare module "fs" { === /index.js === import { writeFile, WriteFileOptions, WriteFileOptions as OtherName } from "fs"; >writeFile : (path: string, data: any, options: WriteFileOptions, callback: (err: Error) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >WriteFileOptions : any > : ^^^ >WriteFileOptions : any diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.types b/tests/baselines/reference/importsNotUsedAsValues_error.types index 8ace1859d0ec0..3f439eeaf5389 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.types +++ b/tests/baselines/reference/importsNotUsedAsValues_error.types @@ -37,11 +37,11 @@ console.log(a, b); >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -68,11 +68,11 @@ console.log(a, b); >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : Default > : ^^^^^^^ >b : named.B @@ -99,11 +99,11 @@ console.log(a, b); >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : typeof A > : ^^^^^^^^ >b : Default @@ -161,11 +161,11 @@ console.log(c, d); >console.log(c, d) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >c : C.Two > : ^^^^^ >d : C.Two @@ -190,11 +190,11 @@ console.log(c, d); >console.log(c, d) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >c : C > : ^ >d : C.Two @@ -224,11 +224,11 @@ console.log(h); >console.log(h) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >h : H > : ^ diff --git a/tests/baselines/reference/inKeywordAndIntersection.types b/tests/baselines/reference/inKeywordAndIntersection.types index 4a843105cbef7..88803f0ef3e1b 100644 --- a/tests/baselines/reference/inKeywordAndIntersection.types +++ b/tests/baselines/reference/inKeywordAndIntersection.types @@ -29,13 +29,13 @@ function f10(obj: A & { x: string } | B) { >obj instanceof Object : boolean > : ^^^^^^^ >obj : B | (A & { x: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ obj; // A & { x: string } | B >obj : B | (A & { x: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ } else { obj; // Error @@ -84,16 +84,16 @@ if (instance instanceof ClassOne) { >instance : InstanceOne | InstanceTwo > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >ClassOne : (new () => InstanceOne) & { foo: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ instance.one(); >instance.one() : void > : ^^^^ >instance.one : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >instance : InstanceOne > : ^^^^^^^^^^^ >one : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types b/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types index 32fae2ad92a17..b6ceb2de378e2 100644 --- a/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types +++ b/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types @@ -17,7 +17,7 @@ function f1(obj: Record) { >invariant("test" in obj) : void > : ^^^^ >invariant : (condition: boolean) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"test" in obj : boolean > : ^^^^^^^ >"test" : "test" @@ -120,11 +120,11 @@ function f4(obj: Record) { >obj.hasOwnProperty("test") : boolean > : ^^^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record > : ^^^^^^^^^^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).types b/tests/baselines/reference/inKeywordTypeguard(strict=false).types index 659b0e1d639ba..eaf32e71c8c0b 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).types @@ -188,11 +188,11 @@ function negativeTestClassesWithMembers(x: AWithMethod | BWithMethod) { >x.a() : string > : ^^^^^^ >x.a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : AWithMethod > : ^^^^^^^^^^^ >a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.b(); >x.b() : any @@ -479,7 +479,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ let s: string = x.a; >s : string @@ -487,7 +487,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >x.a : string > : ^^^^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -543,7 +543,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"l" : "l" > : ^^^ >x : { l: number; } | { r: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ v = x.l; >v = x.l : number @@ -553,7 +553,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.l : number > : ^^^^^^ >x : { l: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >l : number > : ^^^^^^ } @@ -563,7 +563,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"r" : "r" > : ^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ v = x.r; >v = x.r : number @@ -573,7 +573,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.r : number > : ^^^^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >r : number > : ^^^^^^ } @@ -613,7 +613,7 @@ if (isAOrB(x)) { >isAOrB(x) : boolean > : ^^^^^^^ >isAOrB : (x: unknown) => x is AOrB -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -629,7 +629,7 @@ if (isAOrB(x)) { >x.aProp : number > : ^^^^^^ >x : { aProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ } @@ -639,13 +639,13 @@ if (isAOrB(x)) { >"bProp" : "bProp" > : ^^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ x.bProp; >x.bProp : number > : ^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >bProp : number > : ^^^^^^ } @@ -680,20 +680,20 @@ function negativeIntersectionTest() { window.ontouchstart >window.ontouchstart : ((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ontouchstart : ((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } else { window.ontouchstart >window.ontouchstart : ((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ontouchstart : ((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } } @@ -1055,13 +1055,13 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -1075,25 +1075,25 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" in x : boolean > : ^^^^^^^ >"b" : "b" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" in x : boolean > : ^^^^^^^ >"c" : "c" > : ^^^ >x : { a: string; } & Record<"b", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ @@ -1101,7 +1101,7 @@ function f4(x: { a: string }) { >x.b : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : unknown > : ^^^^^^^ @@ -1109,7 +1109,7 @@ function f4(x: { a: string }) { >x.c : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : unknown > : ^^^^^^^ } @@ -1131,11 +1131,11 @@ function f5(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("b" in x) { >"b" in x : boolean @@ -1143,11 +1143,11 @@ function f5(x: { a: string } | { b: string }) { >"b" : "b" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; // never @@ -1172,11 +1172,11 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("a" in x) { >"a" in x : boolean @@ -1184,16 +1184,16 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } & Record<"a", unknown> >x : { b: string; } & Record<"a", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -1221,11 +1221,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ x; >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } else { x; // never @@ -1238,11 +1238,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ y; >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } else { y; // never @@ -1417,11 +1417,11 @@ function f10(x: { a: unknown }) { >"a" : "a" > : ^^^ >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1444,11 +1444,11 @@ function f11(x: { a: any }) { >"a" : "a" > : ^^^ >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1471,11 +1471,11 @@ function f12(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1498,16 +1498,16 @@ function f13(x: { a?: string }) { >"a" : "a" > : ^^^ >x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ x; >x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } else { x; >x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } } @@ -1524,12 +1524,12 @@ function f14(x: { a: string | undefined }) { > : ^^^^^^^ >"a" : "a" > : ^^^ ->x : { a: string; } -> : ^^^^^^^^^^^^^^ +>x : { a: string | undefined; } +> : ^^^^^ ^^^ x; ->x : { a: string; } -> : ^^^^^^^^^^^^^^ +>x : { a: string | undefined; } +> : ^^^^^ ^^^ } else { x; @@ -1551,17 +1551,17 @@ function f15(x: { a?: string | undefined }) { > : ^^^^^^^ >"a" : "a" > : ^^^ ->x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +>x : { a?: string | undefined; } +> : ^^^^^^ ^^^ x; ->x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +>x : { a?: string | undefined; } +> : ^^^^^^ ^^^ } else { x; ->x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +>x : { a?: string | undefined; } +> : ^^^^^^ ^^^ } } @@ -1711,11 +1711,11 @@ function test1>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' in obj : boolean @@ -1746,11 +1746,11 @@ function test2>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).types b/tests/baselines/reference/inKeywordTypeguard(strict=true).types index d6af3eb215a4f..118e1c698a636 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).types @@ -191,11 +191,11 @@ function negativeTestClassesWithMembers(x: AWithMethod | BWithMethod) { >x.a() : string > : ^^^^^^ >x.a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : AWithMethod > : ^^^^^^^^^^^ >a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.b(); >x.b() : any @@ -482,7 +482,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ let s: string = x.a; >s : string @@ -490,7 +490,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >x.a : string > : ^^^^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -546,7 +546,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"l" : "l" > : ^^^ >x : { l: number; } | { r: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ v = x.l; >v = x.l : number @@ -556,7 +556,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.l : number > : ^^^^^^ >x : { l: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >l : number > : ^^^^^^ } @@ -566,7 +566,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"r" : "r" > : ^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ v = x.r; >v = x.r : number @@ -576,7 +576,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.r : number > : ^^^^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >r : number > : ^^^^^^ } @@ -616,7 +616,7 @@ if (isAOrB(x)) { >isAOrB(x) : boolean > : ^^^^^^^ >isAOrB : (x: unknown) => x is AOrB -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -632,7 +632,7 @@ if (isAOrB(x)) { >x.aProp : number > : ^^^^^^ >x : { aProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ } @@ -642,13 +642,13 @@ if (isAOrB(x)) { >"bProp" : "bProp" > : ^^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ x.bProp; >x.bProp : number > : ^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >bProp : number > : ^^^^^^ } @@ -683,20 +683,20 @@ function negativeIntersectionTest() { window.ontouchstart >window.ontouchstart : (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any)) | null | undefined -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ontouchstart : (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any)) | null | undefined -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ } else { window.ontouchstart >window.ontouchstart : (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any)) | null | undefined -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ontouchstart : (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any)) | null | undefined -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ } } @@ -1058,13 +1058,13 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -1078,25 +1078,25 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" in x : boolean > : ^^^^^^^ >"b" : "b" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" in x : boolean > : ^^^^^^^ >"c" : "c" > : ^^^ >x : { a: string; } & Record<"b", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ @@ -1104,7 +1104,7 @@ function f4(x: { a: string }) { >x.b : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : unknown > : ^^^^^^^ @@ -1112,7 +1112,7 @@ function f4(x: { a: string }) { >x.c : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : unknown > : ^^^^^^^ } @@ -1134,11 +1134,11 @@ function f5(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("b" in x) { >"b" in x : boolean @@ -1146,11 +1146,11 @@ function f5(x: { a: string } | { b: string }) { >"b" : "b" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; // never @@ -1175,11 +1175,11 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("a" in x) { >"a" in x : boolean @@ -1187,16 +1187,16 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } & Record<"a", unknown> >x : { b: string; } & Record<"a", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -1224,11 +1224,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ x; >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } else { x; // never @@ -1241,11 +1241,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ y; >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } else { y; // never @@ -1420,11 +1420,11 @@ function f10(x: { a: unknown }) { >"a" : "a" > : ^^^ >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1447,11 +1447,11 @@ function f11(x: { a: any }) { >"a" : "a" > : ^^^ >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1474,11 +1474,11 @@ function f12(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1500,17 +1500,17 @@ function f13(x: { a?: string }) { > : ^^^^^^^ >"a" : "a" > : ^^^ ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ x; ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ } else { x; ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ } } @@ -1528,11 +1528,11 @@ function f14(x: { a: string | undefined }) { >"a" : "a" > : ^^^ >x : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1555,16 +1555,16 @@ function f15(x: { a?: string | undefined }) { >"a" : "a" > : ^^^ >x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ x; >x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } else { x; >x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } } @@ -1714,11 +1714,11 @@ function test1>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' in obj : boolean @@ -1749,11 +1749,11 @@ function test2>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/incompatibleTypes.types b/tests/baselines/reference/incompatibleTypes.types index 8d8489b31b811..88c180f1d1637 100644 --- a/tests/baselines/reference/incompatibleTypes.types +++ b/tests/baselines/reference/incompatibleTypes.types @@ -89,19 +89,19 @@ class C4 implements IFoo4 { // incompatible on the property type function if1(i: IFoo1): void; >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : IFoo1 > : ^^^^^ function if1(i: IFoo2): void; >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : IFoo2 > : ^^^^^ function if1(a: any) { } >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ @@ -117,14 +117,14 @@ if1(c1); >if1(c1) : void > : ^^^^ >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c1 : C1 > : ^^ function of1(n: { a: { a: string; }; b: string; }): number; >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { a: { a: string; }; b: string; } > : ^^^^^ ^^^^^ ^^^ >a : { a: string; } @@ -136,7 +136,7 @@ function of1(n: { a: { a: string; }; b: string; }): number; function of1(s: { c: { b: string; }; d: string; }): string; >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : { c: { b: string; }; d: string; } > : ^^^^^ ^^^^^ ^^^ >c : { b: string; } @@ -148,7 +148,7 @@ function of1(s: { c: { b: string; }; d: string; }): string; function of1(a: any) { return null; } >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ @@ -156,7 +156,7 @@ of1({ e: 0, f: 0 }); >of1({ e: 0, f: 0 }) : never > : ^^^^^ >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ e: 0, f: 0 } : { e: number; f: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >e : number diff --git a/tests/baselines/reference/incorrectClassOverloadChain.types b/tests/baselines/reference/incorrectClassOverloadChain.types index 9f043d40dd038..110d18b6e9453 100644 --- a/tests/baselines/reference/incorrectClassOverloadChain.types +++ b/tests/baselines/reference/incorrectClassOverloadChain.types @@ -7,11 +7,11 @@ class C { foo(): string; >foo : { (): string; (x: any): number; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ foo(x): number; >foo : { (): string; (x: any): number; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types b/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types index 99cc7a412711b..22ad927669c38 100644 --- a/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types +++ b/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types @@ -41,7 +41,7 @@ fn({ >fn({ a: {x: 'X', y: 'Y'}, b: {},}) : string > : ^^^^^^ >fn : (opts: Opts) => string -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^ >{ a: {x: 'X', y: 'Y'}, b: {},} : { a: { x: string; y: string; }; b: {}; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types index 4ac1fee0107bd..03e41340c7ee1 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types @@ -114,7 +114,7 @@ var ResultIsNumber4 = ++obj; >++obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber5 = ++obj1; >ResultIsNumber5 : number @@ -154,7 +154,7 @@ var ResultIsNumber9 = obj++; >obj++ : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = obj1++; >ResultIsNumber10 : number @@ -218,7 +218,7 @@ var ResultIsNumber17 = ++foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber18 = ++A.foo(); >ResultIsNumber18 : number @@ -228,11 +228,11 @@ var ResultIsNumber18 = ++A.foo(); >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber19 = ++(null + undefined); >ResultIsNumber19 : number @@ -302,7 +302,7 @@ var ResultIsNumber24 = foo()++; >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber25 = A.foo()++; >ResultIsNumber25 : number @@ -312,11 +312,11 @@ var ResultIsNumber25 = A.foo()++; >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber26 = (null + undefined)++; >ResultIsNumber26 : number diff --git a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types index 834dd2b72efae..299a8e780b006 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types +++ b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types @@ -168,7 +168,7 @@ var ResultIsNumber9 = ++foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = ++A.foo(); >ResultIsNumber10 : number @@ -206,7 +206,7 @@ var ResultIsNumber12 = foo()++; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber13 = A.foo()++; >ResultIsNumber13 : number @@ -255,7 +255,7 @@ var ResultIsNumber14 = (NUMBER + NUMBER)++; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ 1++; >1++ : number @@ -275,5 +275,5 @@ foo()++; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types index ce89db4738e76..dddb7b2114d85 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types @@ -182,7 +182,7 @@ var ResultIsNumber11 = ++foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber12 = ++A.foo(); >ResultIsNumber12 : number @@ -206,7 +206,7 @@ var ResultIsNumber13 = foo()++; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = A.foo()++; >ResultIsNumber14 : number @@ -265,7 +265,7 @@ var ResultIsNumber16 = M.n++; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ++objA.a; >++objA.a : number @@ -323,7 +323,7 @@ foo()++; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ objA.a++; >objA.a++ : number diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types index 42c9a6c4e97a7..c5396240487f1 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types @@ -220,7 +220,7 @@ var ResultIsNumber14 = ++foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = ++A.foo(); >ResultIsNumber15 : number @@ -294,7 +294,7 @@ var ResultIsNumber20 = foo()++; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber21 = A.foo()++; >ResultIsNumber21 : number @@ -359,7 +359,7 @@ var ResultIsNumber22 = (STRING + STRING)++; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ++objA.a; >++objA.a : number @@ -433,7 +433,7 @@ foo()++; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ objA.a++; >objA.a++ : number diff --git a/tests/baselines/reference/independentPropertyVariance.types b/tests/baselines/reference/independentPropertyVariance.types index 49b3d81626b54..4d846fdc12ec6 100644 --- a/tests/baselines/reference/independentPropertyVariance.types +++ b/tests/baselines/reference/independentPropertyVariance.types @@ -23,7 +23,7 @@ x === y; >x === y : boolean > : ^^^^^^^ >x : { a: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : { a: number; b: "a"; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/indexAt(target=es2022).types b/tests/baselines/reference/indexAt(target=es2022).types index 3477b84eec342..d9ed90c20579c 100644 --- a/tests/baselines/reference/indexAt(target=es2022).types +++ b/tests/baselines/reference/indexAt(target=es2022).types @@ -4,180 +4,180 @@ [0].at(0); >[0].at(0) : number > : ^^^^^^ ->[0].at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>[0].at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ "foo".at(0); >"foo".at(0) : string > : ^^^^^^ ->"foo".at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>"foo".at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ ->at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int8Array().at(0); >new Int8Array().at(0) : number > : ^^^^^^ ->new Int8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8Array().at(0); >new Uint8Array().at(0) : number > : ^^^^^^ ->new Uint8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8ClampedArray().at(0); >new Uint8ClampedArray().at(0) : number > : ^^^^^^ ->new Uint8ClampedArray().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8ClampedArray().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int16Array().at(0); >new Int16Array().at(0) : number > : ^^^^^^ ->new Int16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint16Array().at(0); >new Uint16Array().at(0) : number > : ^^^^^^ ->new Uint16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int32Array().at(0); >new Int32Array().at(0) : number > : ^^^^^^ ->new Int32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint32Array().at(0); >new Uint32Array().at(0) : number > : ^^^^^^ ->new Uint32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float32Array().at(0); >new Float32Array().at(0) : number > : ^^^^^^ ->new Float32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float64Array().at(0); >new Float64Array().at(0) : number > : ^^^^^^ ->new Float64Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float64Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigInt64Array().at(0); >new BigInt64Array().at(0) : bigint > : ^^^^^^ ->new BigInt64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigInt64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigUint64Array().at(0); >new BigUint64Array().at(0) : bigint > : ^^^^^^ ->new BigUint64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigUint64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/indexAt(target=esnext).types b/tests/baselines/reference/indexAt(target=esnext).types index 3477b84eec342..d9ed90c20579c 100644 --- a/tests/baselines/reference/indexAt(target=esnext).types +++ b/tests/baselines/reference/indexAt(target=esnext).types @@ -4,180 +4,180 @@ [0].at(0); >[0].at(0) : number > : ^^^^^^ ->[0].at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>[0].at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ "foo".at(0); >"foo".at(0) : string > : ^^^^^^ ->"foo".at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>"foo".at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ ->at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int8Array().at(0); >new Int8Array().at(0) : number > : ^^^^^^ ->new Int8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8Array().at(0); >new Uint8Array().at(0) : number > : ^^^^^^ ->new Uint8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8ClampedArray().at(0); >new Uint8ClampedArray().at(0) : number > : ^^^^^^ ->new Uint8ClampedArray().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8ClampedArray().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int16Array().at(0); >new Int16Array().at(0) : number > : ^^^^^^ ->new Int16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint16Array().at(0); >new Uint16Array().at(0) : number > : ^^^^^^ ->new Uint16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int32Array().at(0); >new Int32Array().at(0) : number > : ^^^^^^ ->new Int32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint32Array().at(0); >new Uint32Array().at(0) : number > : ^^^^^^ ->new Uint32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float32Array().at(0); >new Float32Array().at(0) : number > : ^^^^^^ ->new Float32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float64Array().at(0); >new Float64Array().at(0) : number > : ^^^^^^ ->new Float64Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float64Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigInt64Array().at(0); >new BigInt64Array().at(0) : bigint > : ^^^^^^ ->new BigInt64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigInt64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigUint64Array().at(0); >new BigUint64Array().at(0) : bigint > : ^^^^^^ ->new BigUint64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigUint64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types b/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types index 6d46e8baca898..c4bda1e353206 100644 --- a/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types +++ b/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types @@ -57,7 +57,7 @@ f(stooges); // Should throw >f(stooges) : unknown > : ^^^^^^^ >f : (x: { [x: string]: T; }) => T -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ >stooges : { name: string; age: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignatureTypeInference.types b/tests/baselines/reference/indexSignatureTypeInference.types index 0c0216f0f7611..44c4297bbbdab 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.types +++ b/tests/baselines/reference/indexSignatureTypeInference.types @@ -43,7 +43,7 @@ var v1 = numberMapToArray(numberMap); // Ok >numberMapToArray(numberMap) : Function[] > : ^^^^^^^^^^ >numberMapToArray : (object: NumberMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >numberMap : NumberMap > : ^^^^^^^^^^^^^^^^^^^ @@ -53,7 +53,7 @@ var v1 = numberMapToArray(stringMap); // Ok >numberMapToArray(stringMap) : Function[] > : ^^^^^^^^^^ >numberMapToArray : (object: NumberMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringMap : StringMap > : ^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ var v1 = stringMapToArray(numberMap); // Error expected here >stringMapToArray(numberMap) : unknown[] > : ^^^^^^^^^ >stringMapToArray : (object: StringMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >numberMap : NumberMap > : ^^^^^^^^^^^^^^^^^^^ @@ -73,7 +73,7 @@ var v1 = stringMapToArray(stringMap); // Ok >stringMapToArray(stringMap) : Function[] > : ^^^^^^^^^^ >stringMapToArray : (object: StringMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringMap : StringMap > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignatures1.types b/tests/baselines/reference/indexSignatures1.types index c4d108a16a92b..f33d4ebdf16eb 100644 --- a/tests/baselines/reference/indexSignatures1.types +++ b/tests/baselines/reference/indexSignatures1.types @@ -31,19 +31,19 @@ function gg3(x: { [key: string]: string }, y: { [key: symbol]: string }, z: { [s x = z; >x = z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >x : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ y = z; // Error >y = z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >y : { [key: symbol]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } // Overlapping index signatures @@ -1247,7 +1247,7 @@ plugins[system][SomeSytePlugin] = () => console.log('awsome'); >plugins[system][SomeSytePlugin] = () => console.log('awsome') : () => void > : ^^^^^^^^^^ >plugins[system][SomeSytePlugin] : (...args: any) => unknown -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >plugins[system] : Plugs > : ^^^^^ >plugins : { user: Plugs; [system]: Plugs; } @@ -1261,11 +1261,11 @@ plugins[system][SomeSytePlugin] = () => console.log('awsome'); >console.log('awsome') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'awsome' : "awsome" > : ^^^^^^^^ @@ -1273,7 +1273,7 @@ plugins[system][SomeSytePlugin](); >plugins[system][SomeSytePlugin]() : unknown > : ^^^^^^^ >plugins[system][SomeSytePlugin] : (...args: any) => unknown -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >plugins[system] : Plugs > : ^^^^^ >plugins : { user: Plugs; [system]: Plugs; } @@ -1343,7 +1343,7 @@ let case1 = foo({ >foo({ [directive]: (x: string) => 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,}) : void > : ^^^^ >foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ [directive]: (x: string) => 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,} : { [directive]: (x: string) => "str"; addOne: (x: number) => number; double: (x: number) => number; } > : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ @@ -1395,7 +1395,7 @@ let case2 = foo({ >foo({ addOne: (x: number) => x + 1, double: (x: number) => x + x, [directive]: (x: string) => 'str',}) : void > : ^^^^ >foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ addOne: (x: number) => x + 1, double: (x: number) => x + x, [directive]: (x: string) => 'str',} : { addOne: (x: number) => number; double: (x: number) => number; [directive]: (x: string) => "str"; } > : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ @@ -1447,7 +1447,7 @@ let case3 = foo({ >foo({ [directive]: 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,}) : void > : ^^^^ >foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ [directive]: 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,} : { [directive]: string; addOne: (x: number) => number; double: (x: number) => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignaturesInferentialTyping.types b/tests/baselines/reference/indexSignaturesInferentialTyping.types index 826f903e37004..7fabdd84f722e 100644 --- a/tests/baselines/reference/indexSignaturesInferentialTyping.types +++ b/tests/baselines/reference/indexSignaturesInferentialTyping.types @@ -27,7 +27,7 @@ var x1 = foo({ 0: 0, 1: 1 }); // type should be number >foo({ 0: 0, 1: 1 }) : number > : ^^^^^^ >foo : (items: { [index: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: 0, 1: 1 } : { 0: number; 1: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : number @@ -45,7 +45,7 @@ var x2 = bar({ 0: 0, 1: 1 }); >bar({ 0: 0, 1: 1 }) : number > : ^^^^^^ >bar : (items: { [index: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: 0, 1: 1 } : { 0: number; 1: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : number @@ -63,7 +63,7 @@ var x3 = bar({ zero: 0, one: 1 }); // type should be number >bar({ zero: 0, one: 1 }) : number > : ^^^^^^ >bar : (items: { [index: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ zero: 0, one: 1 } : { zero: number; one: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : number diff --git a/tests/baselines/reference/indexedAccessAndNullableNarrowing.types b/tests/baselines/reference/indexedAccessAndNullableNarrowing.types index 4111df4cc04fc..b2cd3aae039cf 100644 --- a/tests/baselines/reference/indexedAccessAndNullableNarrowing.types +++ b/tests/baselines/reference/indexedAccessAndNullableNarrowing.types @@ -143,7 +143,7 @@ export function syncStoreProp< >hasOwnProperty(props, key) : boolean > : ^^^^^^^ >hasOwnProperty : (object: T, prop: PropertyKey) => prop is keyof T -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >props : P > : ^ >key : string | number | symbol @@ -169,11 +169,11 @@ export function syncStoreProp< >store.setState(key, value) : void > : ^^^^ >store.setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >store : Store > : ^^^^^^^^ >setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >key : K > : ^ >value : P[K] & ({} | null) @@ -191,11 +191,11 @@ export function syncStoreProp< >store.setState(key, value) : void > : ^^^^ >store.setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >store : Store > : ^^^^^^^^ >setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >key : K > : ^ >value : P[K] & ({} | null) diff --git a/tests/baselines/reference/indexedAccessCanBeHighOrder.types b/tests/baselines/reference/indexedAccessCanBeHighOrder.types index 14d05ac0d5ee8..d1ebf975098f1 100644 --- a/tests/baselines/reference/indexedAccessCanBeHighOrder.types +++ b/tests/baselines/reference/indexedAccessCanBeHighOrder.types @@ -29,7 +29,7 @@ function impl(a: A, b: B) { >get(a, b) : A[B] > : ^^^^ >get : (x: U, y: Y) => U[Y] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -39,7 +39,7 @@ function impl(a: A, b: B) { >find(item) : [A, B] > : ^^^^^^ >find : (o: T[K]) => [T, K] -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >item : A[B] > : ^^^^ } diff --git a/tests/baselines/reference/indexedAccessNormalization.types b/tests/baselines/reference/indexedAccessNormalization.types index 10e7388e8b413..7d373821593d1 100644 --- a/tests/baselines/reference/indexedAccessNormalization.types +++ b/tests/baselines/reference/indexedAccessNormalization.types @@ -42,7 +42,7 @@ function f1(mymap: MyMap, k: keyof M) { >g(elemofM) : void > : ^^^^ >g : (value?: T) => void -> : ^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >elemofM : MyMap[keyof M] > : ^^^^^^^^^^^^^^^^^ } @@ -63,18 +63,18 @@ function f2(mymap: MyMap, k: keyof M, z: { x: number }) { >q1 : MyMap[keyof M] > : ^^^^^^^^^^^^^^^^^ >z : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const q2: MyMap[keyof M] | undefined = z; >q2 : MyMap[keyof M] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const q3: MyMap[keyof M] | string = z; >q3 : string | MyMap[keyof M] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } diff --git a/tests/baselines/reference/indexedAccessTypeConstraints.types b/tests/baselines/reference/indexedAccessTypeConstraints.types index 75539dd0a19b4..29721e2e95ce5 100644 --- a/tests/baselines/reference/indexedAccessTypeConstraints.types +++ b/tests/baselines/reference/indexedAccessTypeConstraints.types @@ -57,17 +57,17 @@ export class Foo extends Parent> { >this.getData().get('content') : C > : ^ >this.getData().get : (prop: K) => IData[K] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >this.getData() : Data> > : ^^^^^^^^^^^^^^ >this.getData : () => Data> -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ >this : this > : ^^^^ >getData : () => Data> -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ >get : (prop: K) => IData[K] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >'content' : "content" > : ^^^^^^^^^ } @@ -87,17 +87,17 @@ export class Bar> extends Parent { >this.getData().get('content') : T["content"] > : ^^^^^^^^^^^^ >this.getData().get : (prop: K) => T[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ >this.getData() : Data > : ^^^^^^^ >this.getData : () => Data -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ^ >this : this > : ^^^^ >getData : () => Data -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ^ >get : (prop: K) => T[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ >'content' : "content" > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/indexerReturningTypeParameter1.types b/tests/baselines/reference/indexerReturningTypeParameter1.types index 280ff6c378076..bfc9e18a33534 100644 --- a/tests/baselines/reference/indexerReturningTypeParameter1.types +++ b/tests/baselines/reference/indexerReturningTypeParameter1.types @@ -18,11 +18,11 @@ var r = a.groupBy(); >a.groupBy() : { [key: string]: unknown[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : f > : ^ >groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ class c { >c : c @@ -47,9 +47,9 @@ var r2 = a2.groupBy(); >a2.groupBy() : { [key: string]: unknown[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a2.groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a2 : c > : ^ >groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/indexingTypesWithNever.types b/tests/baselines/reference/indexingTypesWithNever.types index 84d801ffa565e..2ee4cf8e349a1 100644 --- a/tests/baselines/reference/indexingTypesWithNever.types +++ b/tests/baselines/reference/indexingTypesWithNever.types @@ -42,7 +42,7 @@ const result3 = genericFn1({ c: "ctest", d: "dtest" }); >genericFn1({ c: "ctest", d: "dtest" }) : never > : ^^^^^ >genericFn1 : (obj: T) => T[never] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ c: "ctest", d: "dtest" } : { c: string; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >c : string @@ -73,7 +73,7 @@ const result4 = genericFn2({ e: "etest", f: "ftest" }); >genericFn2({ e: "etest", f: "ftest" }) : never > : ^^^^^ >genericFn2 : (obj: T) => T[never] -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ e: "etest", f: "ftest" } : { e: string; f: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >e : string @@ -107,7 +107,7 @@ const result5 = genericFn3({ g: "gtest", h: "htest" }, "g", "h"); // 'g' & 'h' w >genericFn3({ g: "gtest", h: "htest" }, "g", "h") : never > : ^^^^^ >genericFn3 : (obj: T, u: U, v: V) => T[U & V] -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ g: "gtest", h: "htest" } : { g: string; h: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >g : string @@ -142,7 +142,7 @@ const result6 = obj[key] >obj[key] : never > : ^^^^^ >obj : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : never > : ^^^^^ diff --git a/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types b/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types index 0e6c5cf73e624..219b6414f94c8 100644 --- a/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types +++ b/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types @@ -35,7 +35,7 @@ thing({ >thing({ type: foo1, abc: "hello!"}) : void > : ^^^^ >thing : (blah: Blah) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type: foo1, abc: "hello!"} : { type: string; abc: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ thing({ >thing({ type: foo2, abc: "hello!", extra: 123,}) : void > : ^^^^ >thing : (blah: Blah) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type: foo2, abc: "hello!", extra: 123,} : { type: string; abc: string; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -97,7 +97,7 @@ thing({ >thing({ type: bar, xyz: 123, extra: 123,}) : void > : ^^^^ >thing : (blah: Blah) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type: bar, xyz: 123, extra: 123,} : { type: string; xyz: number; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types index 6003f038d368e..8712cb2a3e9df 100644 --- a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types +++ b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types @@ -14,7 +14,7 @@ const Symbol = globalThis.Symbol; [][Symbol.iterator]; >[][Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/indirectTypeParameterReferences.types b/tests/baselines/reference/indirectTypeParameterReferences.types index 161f6c20a095e..b4165f151e9be 100644 --- a/tests/baselines/reference/indirectTypeParameterReferences.types +++ b/tests/baselines/reference/indirectTypeParameterReferences.types @@ -52,11 +52,11 @@ const flowtypes = (b: B) => { const {combined, literal} = flowtypes<{a: string}>({b: 'b-value'}) >combined : (fn: (combined: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >literal : (fn: (aPlusB: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >flowtypes<{a: string}>({b: 'b-value'}) : { combined: (fn: (combined: { a: string; } & B) => void) => any; literal: (fn: (aPlusB: { a: string; } & B) => void) => any; } -> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ >flowtypes : (b: B) => { combined: (fn: (combined: A & B) => void) => any; literal: (fn: (aPlusB: A & B) => void) => any; } > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >a : string @@ -71,17 +71,17 @@ const {combined, literal} = flowtypes<{a: string}>({b: 'b-value'}) literal(aPlusB => { >literal(aPlusB => { aPlusB.b aPlusB.a}) : any >literal : (fn: (aPlusB: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >aPlusB => { aPlusB.b aPlusB.a} : (aPlusB: { a: string; } & B) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >aPlusB : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ aPlusB.b >aPlusB.b : string > : ^^^^^^ >aPlusB : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >b : string > : ^^^^^^ @@ -89,7 +89,7 @@ literal(aPlusB => { >aPlusB.a : string > : ^^^^^^ >aPlusB : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >a : string > : ^^^^^^ @@ -98,17 +98,17 @@ literal(aPlusB => { combined(comb => { >combined(comb => { comb.b comb.a}) : any >combined : (fn: (combined: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >comb => { comb.b comb.a} : (comb: { a: string; } & B) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >comb : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ comb.b >comb.b : string > : ^^^^^^ >comb : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >b : string > : ^^^^^^ @@ -116,7 +116,7 @@ combined(comb => { >comb.a : string > : ^^^^^^ >comb : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >a : string > : ^^^^^^ @@ -141,8 +141,8 @@ let n: number = f(2).a; > : ^^^^^^ >f(2) : { a: number; } > : ^^^^^^^^^^^^^^ ->f : (a: T) => { a: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +>f : (a: T) => { a: typeof a; } +> : ^ ^^ ^^ ^^^^^ >2 : 2 > : ^ >a : number diff --git a/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types b/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types index 07b6e4e4350df..f3fa286b820cc 100644 --- a/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types +++ b/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types @@ -31,7 +31,7 @@ export function f() { >rand() : boolean > : ^^^^^^^ >rand : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : unique symbol > : ^^^^^^^^^^^^^ >y : unique symbol diff --git a/tests/baselines/reference/inferFromBindingPattern.types b/tests/baselines/reference/inferFromBindingPattern.types index c97505655e982..0c1ba7f3b83aa 100644 --- a/tests/baselines/reference/inferFromBindingPattern.types +++ b/tests/baselines/reference/inferFromBindingPattern.types @@ -21,7 +21,7 @@ let x1 = f1(); // string >f1() : string > : ^^^^^^ >f1 : () => T -> : ^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let [x2] = f2(); // string >x2 : string @@ -29,7 +29,7 @@ let [x2] = f2(); // string >f2() : [string] > : ^^^^^^^^ >f2 : () => [T] -> : ^^^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let { x: x3 } = f3(); // string >x : any @@ -39,7 +39,7 @@ let { x: x3 } = f3(); // string >f3() : { x: string; } > : ^^^^^^^^^^^^^^ >f3 : () => { x: T; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ // Repro from #30379 @@ -60,7 +60,7 @@ const [x] = foo(); // [number] >foo() : [number] > : ^^^^^^^^ >foo : () => [T] -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ // Repro from #35291 @@ -98,7 +98,7 @@ const [person] = selectJohn(); >selectJohn() : SelectResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >selectJohn : (props?: SelectProps) => SelectResult -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const [any, whatever] = selectJohn(); >any : Person @@ -108,7 +108,7 @@ const [any, whatever] = selectJohn(); >selectJohn() : SelectResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >selectJohn : (props?: SelectProps) => SelectResult -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const john = selectJohn(); >john : SelectResult @@ -116,7 +116,7 @@ const john = selectJohn(); >selectJohn() : SelectResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >selectJohn : (props?: SelectProps) => SelectResult -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const [personAgain, nufinspecial] = john; >personAgain : Person @@ -146,11 +146,11 @@ const isStringTuple = makeTuple(stringy()); // [string] >makeTuple(stringy()) : [string] > : ^^^^^^^^ >makeTuple : (arg: T1) => [T1] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringy() : string > : ^^^^^^ >stringy : (arg?: T) => T -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const [isAny] = makeTuple(stringy()); // [string] >isAny : string @@ -158,9 +158,9 @@ const [isAny] = makeTuple(stringy()); // [string] >makeTuple(stringy()) : [string] > : ^^^^^^^^ >makeTuple : (arg: T1) => [T1] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringy() : string > : ^^^^^^ >stringy : (arg?: T) => T -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types index bbac6725974c0..22a3f43f5ab93 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types @@ -22,7 +22,7 @@ class SetOf { >this._store.push(a) : number > : ^^^^^^ >this._store.push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >this._store : A[] > : ^^^ >this : this @@ -30,7 +30,7 @@ class SetOf { >_store : A[] > : ^^^ >push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >a : A > : ^ } @@ -47,7 +47,7 @@ class SetOf { >transformer(this) : SetOf > : ^^^^^^^^ >transformer : (a: SetOf) => SetOf -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -66,7 +66,7 @@ class SetOf { >this._store.forEach((a, i) => fn(a, i)) : void > : ^^^^ >this._store.forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >this._store : A[] > : ^^^ >this : this @@ -74,7 +74,7 @@ class SetOf { >_store : A[] > : ^^^ >forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >(a, i) => fn(a, i) : (a: A, i: number) => void > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^ >a : A @@ -84,7 +84,7 @@ class SetOf { >fn(a, i) : void > : ^^^^ >fn : (a: A, index: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >i : number @@ -127,7 +127,7 @@ function compose( /* ... etc ... */ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >fns : ((x: T) => T)[] > : ^^ ^^ ^^^^^ ^^^ >x : T @@ -143,21 +143,21 @@ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >fns.reduce((prev, fn) => fn(prev), x) : T > : ^ >fns.reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >fns : ((x: T) => T)[] -> : ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >(prev, fn) => fn(prev) : (prev: T, fn: (x: T) => T) => T -> : ^ ^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^ ^^^^^ ^^^^^^ >prev : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >fn(prev) : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >prev : T > : ^ >x : T @@ -192,11 +192,11 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >a.forEach(x => b.add(fn(x))) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => b.add(fn(x)) : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -212,7 +212,7 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >fn(x) : B > : ^ >fn : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ @@ -250,11 +250,11 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >a.forEach(x => { if (predicate(x)) result.add(x); }) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => { if (predicate(x)) result.add(x); } : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -264,7 +264,7 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >predicate(x) : boolean > : ^^^^^^^ >predicate : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ >result.add(x) : void @@ -333,23 +333,23 @@ testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) )) : SetOf > : ^^^^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -367,9 +367,9 @@ testSet.transform( map(x => x + x), >map(x => x + x) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -383,9 +383,9 @@ testSet.transform( map(x => x + '!!!'), >map(x => x + '!!!') : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + '!!!' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -399,9 +399,9 @@ testSet.transform( map(x => x.toUpperCase()) >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -409,11 +409,11 @@ testSet.transform( >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ) ) @@ -422,23 +422,23 @@ testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), map(x => x + x), map(x => 123), // Whoops a bug map(x => x.toUpperCase()) // causes an error! )) : SetOf > : ^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), map(x => x + x), map(x => 123), // Whoops a bug map(x => x.toUpperCase()) // causes an error! ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -456,9 +456,9 @@ testSet.transform( map(x => x + x), >map(x => x + x) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -472,9 +472,9 @@ testSet.transform( map(x => 123), // Whoops a bug >map(x => 123) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => 123 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -484,9 +484,9 @@ testSet.transform( map(x => x.toUpperCase()) // causes an error! >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types index 5356384c16069..ae79c3944e7eb 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types @@ -59,7 +59,7 @@ let f2: Mapper = wrap(s => s.length); >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -77,11 +77,11 @@ let f3: Mapper = arrayize(wrap(s => s.length)); >arrayize(wrap(s => s.length)) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^^ >arrayize : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -99,11 +99,11 @@ let f4: Mapper = combine(wrap(s => s.length), wrap(n => n >= 10 >combine(wrap(s => s.length), wrap(n => n >= 10)) : (x: string) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -117,7 +117,7 @@ let f4: Mapper = combine(wrap(s => s.length), wrap(n => n >= 10 >wrap(n => n >= 10) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n => n >= 10 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -133,11 +133,11 @@ foo(wrap(s => s.length)); >foo(wrap(s => s.length)) : void > : ^^^^ >foo : (f: Mapper) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -155,7 +155,7 @@ let a1 = ["a", "b"].map(s => s.length); >["a", "b"].map(s => s.length) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -163,7 +163,7 @@ let a1 = ["a", "b"].map(s => s.length); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -181,7 +181,7 @@ let a2 = ["a", "b"].map(wrap(s => s.length)); >["a", "b"].map(wrap(s => s.length)) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -189,11 +189,11 @@ let a2 = ["a", "b"].map(wrap(s => s.length)); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -211,7 +211,7 @@ let a3 = ["a", "b"].map(wrap(arrayize(s => s.length))); >["a", "b"].map(wrap(arrayize(s => s.length))) : number[][] > : ^^^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -219,15 +219,15 @@ let a3 = ["a", "b"].map(wrap(arrayize(s => s.length))); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >wrap(arrayize(s => s.length)) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >arrayize(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^^ >arrayize : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -245,7 +245,7 @@ let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))) : boolean[] > : ^^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -253,15 +253,15 @@ let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >combine(wrap(s => s.length), wrap(n => n > 10)) : (x: string) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -275,7 +275,7 @@ let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >wrap(n => n > 10) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n => n > 10 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -293,7 +293,7 @@ let a5 = ["a", "b"].map(combine(identity, wrap(s => s.length))); >["a", "b"].map(combine(identity, wrap(s => s.length))) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -301,17 +301,17 @@ let a5 = ["a", "b"].map(combine(identity, wrap(s => s.length))); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >combine(identity, wrap(s => s.length)) : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -329,7 +329,7 @@ let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >["a", "b"].map(combine(wrap(s => s.length), identity)) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -337,15 +337,15 @@ let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >combine(wrap(s => s.length), identity) : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -357,7 +357,7 @@ let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >length : number > : ^^^^^^ >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // This is a contrived class. We could do the same thing with Observables, etc. class SetOf { @@ -378,7 +378,7 @@ class SetOf { >this._store.push(a) : number > : ^^^^^^ >this._store.push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >this._store : A[] > : ^^^ >this : this @@ -386,7 +386,7 @@ class SetOf { >_store : A[] > : ^^^ >push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >a : A > : ^ } @@ -403,7 +403,7 @@ class SetOf { >transformer(this) : SetOf > : ^^^^^^^^ >transformer : (a: SetOf) => SetOf -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -422,7 +422,7 @@ class SetOf { >this._store.forEach((a, i) => fn(a, i)) : void > : ^^^^ >this._store.forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >this._store : A[] > : ^^^ >this : this @@ -430,7 +430,7 @@ class SetOf { >_store : A[] > : ^^^ >forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >(a, i) => fn(a, i) : (a: A, i: number) => void > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^ >a : A @@ -440,7 +440,7 @@ class SetOf { >fn(a, i) : void > : ^^^^ >fn : (a: A, index: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >i : number @@ -483,7 +483,7 @@ function compose( /* ... etc ... */ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >fns : ((x: T) => T)[] > : ^^ ^^ ^^^^^ ^^^ >x : T @@ -499,21 +499,21 @@ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >fns.reduce((prev, fn) => fn(prev), x) : T > : ^ >fns.reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >fns : ((x: T) => T)[] -> : ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >(prev, fn) => fn(prev) : (prev: T, fn: (x: T) => T) => T -> : ^ ^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^ ^^^^^ ^^^^^^ >prev : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >fn(prev) : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >prev : T > : ^ >x : T @@ -548,11 +548,11 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >a.forEach(x => b.add(fn(x))) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => b.add(fn(x)) : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -568,7 +568,7 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >fn(x) : B > : ^ >fn : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ @@ -606,11 +606,11 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >a.forEach(x => { if (predicate(x)) result.add(x); }) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => { if (predicate(x)) result.add(x); } : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -620,7 +620,7 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >predicate(x) : boolean > : ^^^^^^^ >predicate : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ >result.add(x) : void @@ -691,23 +691,23 @@ const t1 = testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) )) : SetOf > : ^^^^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -725,9 +725,9 @@ const t1 = testSet.transform( map(x => x + x), >map(x => x + x) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -741,9 +741,9 @@ const t1 = testSet.transform( map(x => x + '!!!'), >map(x => x + '!!!') : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + '!!!' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -757,9 +757,9 @@ const t1 = testSet.transform( map(x => x.toUpperCase()) >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -767,11 +767,11 @@ const t1 = testSet.transform( >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ) ) @@ -788,23 +788,23 @@ const t2 = testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), identity, map(x => x + '!!!'), map(x => x.toUpperCase()) )) : SetOf > : ^^^^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), identity, map(x => x + '!!!'), map(x => x.toUpperCase()) ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -822,13 +822,13 @@ const t2 = testSet.transform( identity, >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ map(x => x + '!!!'), >map(x => x + '!!!') : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + '!!!' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -842,9 +842,9 @@ const t2 = testSet.transform( map(x => x.toUpperCase()) >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -852,11 +852,11 @@ const t2 = testSet.transform( >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ) ) diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index 6c7488428384e..12b302a629e52 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -13,11 +13,11 @@ function truePromise(): Promise { >Promise.resolve(true) : Promise > : ^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >true : true > : ^^^^ } @@ -49,7 +49,7 @@ function wrappedFoo(): Wrap<'foo'> { >wrap('foo') : Wrap<"foo"> > : ^^^^^^^^^^^ >wrap : (value: T) => Wrap -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ } @@ -83,7 +83,7 @@ function wrappedBar(): Wrap<'bar'> { >wrapBar(value) : Wrap<"bar"> > : ^^^^^^^^^^^ >wrapBar : (value: "bar") => Wrap<"bar"> -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "bar" > : ^^^^^ @@ -93,7 +93,7 @@ function wrappedBar(): Wrap<'bar'> { >wrapBar('bar') : Wrap<"bar"> > : ^^^^^^^^^^^ >wrapBar : (value: "bar") => Wrap<"bar"> -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bar' : "bar" > : ^^^^^ @@ -109,7 +109,7 @@ function wrappedBar(): Wrap<'bar'> { >wrapBar(value2) : Wrap<"bar"> > : ^^^^^^^^^^^ >wrapBar : (value: "bar") => Wrap<"bar"> -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value2 : string > : ^^^^^^ @@ -117,7 +117,7 @@ function wrappedBar(): Wrap<'bar'> { >wrap(value) : Wrap<"bar"> > : ^^^^^^^^^^^ >wrap : (value: T) => Wrap -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : "bar" > : ^^^^^ } @@ -136,7 +136,7 @@ function wrappedBaz(): Wrap<'baz'> { >wrap(value) : Wrap<"baz"> > : ^^^^^^^^^^^ >wrap : (value: T) => Wrap -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : "baz" > : ^^^^^ } @@ -163,7 +163,7 @@ a = [1, 2, 3, 4, 5].map(v => ({ type: 'folder' })); >[1, 2, 3, 4, 5].map(v => ({ type: 'folder' })) : { type: "folder"; }[] > : ^^^^^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4, 5].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4, 5] : number[] > : ^^^^^^^^ >1 : 1 @@ -177,7 +177,7 @@ a = [1, 2, 3, 4, 5].map(v => ({ type: 'folder' })); >5 : 5 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >v => ({ type: 'folder' }) : (v: number) => { type: "folder"; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : number @@ -211,11 +211,11 @@ let mappedArr: Array<[number, number]> = arr.map(([x, y]) => { >arr.map(([x, y]) => { return [x, y];}) : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >arr.map : (callbackfn: (value: [number, number], index: number, array: [number, number][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arr : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: [number, number], index: number, array: [number, number][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >([x, y]) => { return [x, y];} : ([x, y]: [number, number]) => [number, number] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -300,11 +300,11 @@ function bug(): Diagnostic[] { >values.map((value) => { return { severity: DiagnosticSeverity.Error, message: 'message' } }) : { severity: 1; message: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >values.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >values : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(value) => { return { severity: DiagnosticSeverity.Error, message: 'message' } } : (value: any) => { severity: 1; message: string; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any @@ -349,19 +349,19 @@ function objectToMap(obj: any) { >Object.keys(obj).map(key => [key, obj[key]]) : [string, any][] > : ^^^^^^^^^^^^^^^ >Object.keys(obj).map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >Object.keys(obj) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : any > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >key => [key, obj[key]] : (key: string) => [string, any] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -407,13 +407,13 @@ function createPerson(): Person { >[1].map(() => ({ __typename: 'PhoneNumber' })) : { __typename: "PhoneNumber"; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >() => ({ __typename: 'PhoneNumber' }) : () => { __typename: "PhoneNumber"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ __typename: 'PhoneNumber' }) : { __typename: "PhoneNumber"; } @@ -465,7 +465,7 @@ let zz: Box = box({ type: 'draw' }); >box({ type: 'draw' }) : Box<{ type: "draw"; }> > : ^^^^^^^^^^^^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ type: 'draw' } : { type: "draw"; } > : ^^^^^^^^^^^^^^^^^ >type : "draw" @@ -483,7 +483,7 @@ let yy: Box = box('draw'); >box('draw') : Box<"draw"> > : ^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'draw' : "draw" > : ^^^^^^ @@ -529,7 +529,7 @@ let result: OK<[string, number]> = ok(["hello", 12]); >ok(["hello", 12]) : OK<[string, number]> > : ^^^^^^^^^^^^^^^^^^^^ >ok : (value: T) => OK -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["hello", 12] : [string, number] > : ^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -555,7 +555,7 @@ const a3: I[] = ['a', 'b'].map(name => { >['a', 'b'].map(name => { return { code: 'mapped', name, }}) : { code: "mapped"; name: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >['a', 'b'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >['a', 'b'] : string[] > : ^^^^^^^^ >'a' : "a" @@ -563,7 +563,7 @@ const a3: I[] = ['a', 'b'].map(name => { >'b' : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >name => { return { code: 'mapped', name, }} : (name: string) => { code: "mapped"; name: string; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -619,11 +619,11 @@ const f1: F = () => { >Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]) : Promise<({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ] : ({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ { @@ -693,7 +693,7 @@ let res: boolean = foldLeft(true, (acc, t) => acc && t); // Error >foldLeft(true, (acc, t) => acc && t) : boolean > : ^^^^^^^ >foldLeft : (z: U, f: (acc: U, t: boolean) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ >(acc, t) => acc && t : (acc: boolean, t: boolean) => boolean @@ -735,7 +735,7 @@ let x: Foo[] = bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]); >bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]) : { state: State.A; }[] > : ^^^^^^^^^^^^^^^^^^^^^ >bar : (f: () => T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => !!true ? [{ state: State.A }] : [{ state: State.B }] : () => { state: State.A; }[] | { state: State.B; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >!!true ? [{ state: State.A }] : [{ state: State.B }] : { state: State.A; }[] | { state: State.B; }[] @@ -860,11 +860,11 @@ baz(makeFoo(Enum.A), makeFoo(Enum.A)); >baz(makeFoo(Enum.A), makeFoo(Enum.A)) : void > : ^^^^ >baz : (x: Func, y: Func) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >makeFoo(Enum.A) : Func > : ^^^^^^^^^^ >makeFoo : (x: T) => Func -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Enum.A : Enum.A > : ^^^^^^ >Enum : typeof Enum @@ -874,7 +874,7 @@ baz(makeFoo(Enum.A), makeFoo(Enum.A)); >makeFoo(Enum.A) : Func > : ^^^^^^^^^^ >makeFoo : (x: T) => Func -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Enum.A : Enum.A > : ^^^^^^ >Enum : typeof Enum diff --git a/tests/baselines/reference/inferFromNestedSameShapeTuple.types b/tests/baselines/reference/inferFromNestedSameShapeTuple.types index 4cdbd56ff3758..423bf38a71dd9 100644 --- a/tests/baselines/reference/inferFromNestedSameShapeTuple.types +++ b/tests/baselines/reference/inferFromNestedSameShapeTuple.types @@ -79,7 +79,7 @@ const foo = getIds(items) >getIds(items) : ("a" | "b")[] > : ^^^^^^^^^^^^^ >getIds : (items: readonly Recursive[]) => Id[] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >items : readonly [{ readonly id: "a"; readonly children: readonly [{ readonly id: "b"; readonly children: readonly []; }]; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -90,7 +90,7 @@ const foo2 = getIds([{ >getIds([{ id: 'a', children: [{ id: 'b', children: [] }]}] as const) : ("a" | "b")[] > : ^^^^^^^^^^^^^ >getIds : (items: readonly Recursive[]) => Id[] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[{ id: 'a', children: [{ id: 'b', children: [] }]}] as const : readonly [{ readonly id: "a"; readonly children: readonly [{ readonly id: "b"; readonly children: readonly []; }]; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[{ id: 'a', children: [{ id: 'b', children: [] }]}] : readonly [{ readonly id: "a"; readonly children: readonly [{ readonly id: "b"; readonly children: readonly []; }]; }] diff --git a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types index bf62d28fc7c40..b228174004c60 100644 --- a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types +++ b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types @@ -25,7 +25,7 @@ const x = inference1(two); >inference1(two) : { a: any; d: any; } > : ^^^^^^^^^^^^^^^^^^^ >inference1 : (name: keyof T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >two : "a" | "d" > : ^^^^^^^^^ @@ -35,7 +35,7 @@ const y = inference2({ a: 1, b: 2, c: 3, d(n) { return n } }, two); >inference2({ a: 1, b: 2, c: 3, d(n) { return n } }, two) : { a: number; b: number; c: number; d(n: any): any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >inference2 : (target: T, name: keyof T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: 2, c: 3, d(n) { return n } } : { a: number; b: number; c: number; d(n: any): any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/inferParameterWithMethodCallInitializer.types b/tests/baselines/reference/inferParameterWithMethodCallInitializer.types index 33659728bdfff..180a5207374b2 100644 --- a/tests/baselines/reference/inferParameterWithMethodCallInitializer.types +++ b/tests/baselines/reference/inferParameterWithMethodCallInitializer.types @@ -29,11 +29,11 @@ class Example { >this.getNumber() : number > : ^^^^^^ >this.getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : number > : ^^^^^^ @@ -52,11 +52,11 @@ function weird(this: Example, a = this.getNumber()) { >this.getNumber() : number > : ^^^^^^ >this.getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : Example > : ^^^^^^^ >getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return a; >a : number @@ -76,11 +76,11 @@ class Weird { >this.getNumber() : number > : ^^^^^^ >this.getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : Example > : ^^^^^^^ >getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return a; >a : number diff --git a/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types b/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types index fd6cc5cff7615..08a2b11f7301e 100644 --- a/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types +++ b/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types @@ -25,7 +25,7 @@ repro({ >repro({ params: 1, callback: () => { return a => a + 1 },}) : void > : ^^^^ >repro : (config: { params: T; callback: () => (params: T) => number; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ params: 1, callback: () => { return a => a + 1 },} : { params: number; callback: () => (a: number) => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inferRestArgumentsMappedTuple.types b/tests/baselines/reference/inferRestArgumentsMappedTuple.types index f0c8234c427e0..33169cbccaa35 100644 --- a/tests/baselines/reference/inferRestArgumentsMappedTuple.types +++ b/tests/baselines/reference/inferRestArgumentsMappedTuple.types @@ -34,7 +34,7 @@ const myPrimitiveTupleOld: [string, number] = extractPrimitivesOld({ primitive: >extractPrimitivesOld({ primitive: "" }, { primitive: 0 }) : [string, number] > : ^^^^^^^^^^^^^^^^ >extractPrimitivesOld : (...mappedTypes: TupleMapperOld) => Tuple -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ primitive: "" } : { primitive: string; } > : ^^^^^^^^^^^^^^^^^^^^^^ >primitive : string @@ -71,7 +71,7 @@ const myPrimitiveTupleNew: [string, number] = extractPrimitivesNew({ primitive: >extractPrimitivesNew({ primitive: "" }, { primitive: 0 }) : [string, number] > : ^^^^^^^^^^^^^^^^ >extractPrimitivesNew : (...mappedTypes: TupleMapperNew) => Tuple -> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ primitive: "" } : { primitive: string; } > : ^^^^^^^^^^^^^^^^^^^^^^ >primitive : string diff --git a/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types b/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types index f31ee9ed5774d..944daace64895 100644 --- a/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types +++ b/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types @@ -23,7 +23,7 @@ function func1() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] @@ -47,7 +47,7 @@ function func1() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] @@ -78,7 +78,7 @@ function func2() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] @@ -113,7 +113,7 @@ function func3() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] diff --git a/tests/baselines/reference/inferThis.types b/tests/baselines/reference/inferThis.types index 8ef3cc0f21e34..575320075141a 100644 --- a/tests/baselines/reference/inferThis.types +++ b/tests/baselines/reference/inferThis.types @@ -40,11 +40,11 @@ const a = C.a(); >C.a() : typeof C > : ^^^^^^^^ >C.a : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >C : typeof C > : ^^^^^^^^ >a : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ a; // typeof C >a : typeof C @@ -64,11 +64,11 @@ const b = c.b(); >c.b() : C > : ^ >c.b : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >c : C > : ^ >b : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ b; // C >b : C diff --git a/tests/baselines/reference/inferThisType.types b/tests/baselines/reference/inferThisType.types index 1e801ab49715a..d29d3a3a1ba83 100644 --- a/tests/baselines/reference/inferThisType.types +++ b/tests/baselines/reference/inferThisType.types @@ -19,9 +19,9 @@ f(h) >f(h) : number > : ^^^^^^ >f : (g: (this: T) => void) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >h : (this: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // works with infer types as well type Check = T extends (this: infer U, ...args: any[]) => any ? string : unknown; diff --git a/tests/baselines/reference/inferTupleFromBindingPattern.types b/tests/baselines/reference/inferTupleFromBindingPattern.types index 09ff823a1212e..7506ede632962 100644 --- a/tests/baselines/reference/inferTupleFromBindingPattern.types +++ b/tests/baselines/reference/inferTupleFromBindingPattern.types @@ -17,7 +17,7 @@ const [e1, e2, e3] = f(() => [1, "hi", true]); >f(() => [1, "hi", true]) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (cb: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => [1, "hi", true] : () => [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1, "hi", true] : [number, string, true] diff --git a/tests/baselines/reference/inferTypePredicates.types b/tests/baselines/reference/inferTypePredicates.types index 8bdedfc9c3532..7c31001eda6eb 100644 --- a/tests/baselines/reference/inferTypePredicates.types +++ b/tests/baselines/reference/inferTypePredicates.types @@ -23,11 +23,11 @@ const filteredNumsTruthy: number[] = numsOrNull.filter(x => !!x); // should err >numsOrNull.filter(x => !!x) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >numsOrNull.filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >numsOrNull : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => !!x : (x: number | null) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -45,11 +45,11 @@ const filteredNumsNonNullish: number[] = numsOrNull.filter(x => x !== null); // >numsOrNull.filter(x => x !== null) : number[] > : ^^^^^^^^ >numsOrNull.filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >numsOrNull : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => x !== null : (x: number | null) => x is number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -67,11 +67,11 @@ const evenSquaresInline: number[] = // should error >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(x => !!x) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -85,7 +85,7 @@ const evenSquaresInline: number[] = // should error .map(x => x % 2 === 0 ? x * x : null) >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x % 2 === 0 ? x * x : null : (x: number) => number | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -111,7 +111,7 @@ const evenSquaresInline: number[] = // should error .filter(x => !!x); // tests truthiness, not non-nullishness >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => !!x : (x: number | null) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -145,11 +145,11 @@ const evenSquares: number[] = // should error >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(isTruthy) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -163,7 +163,7 @@ const evenSquares: number[] = // should error .map(x => x % 2 === 0 ? x * x : null) >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x % 2 === 0 ? x * x : null : (x: number) => number | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -189,7 +189,7 @@ const evenSquares: number[] = // should error .filter(isTruthy); >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >isTruthy : (x: number | null) => boolean > : ^ ^^ ^^^^^^^^^^^^ @@ -201,11 +201,11 @@ const evenSquaresNonNull: number[] = // should ok >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(x => x !== null) : number[] > : ^^^^^^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -219,7 +219,7 @@ const evenSquaresNonNull: number[] = // should ok .map(x => x % 2 === 0 ? x * x : null) >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x % 2 === 0 ? x * x : null : (x: number) => number | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -245,7 +245,7 @@ const evenSquaresNonNull: number[] = // should ok .filter(x => x !== null); >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => x !== null : (x: number | null) => x is number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -326,7 +326,7 @@ const mySecondGuard = (o: string | undefined) => myGuard(o); >myGuard(o) : boolean > : ^^^^^^^ >myGuard : (o: string | undefined) => o is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -357,35 +357,35 @@ const result = myArray >myArray .map((arr) => arr.list) .filter((arr) => arr && arr.length) .map((arr) => arr // should error .filter((obj) => obj && obj.data) .map(obj => JSON.parse(obj.data)) // should error ) : any[][] > : ^^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => arr && arr.length) .map : (callbackfn: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => arr && arr.length) : (MyObj[] | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >myArray .map((arr) => arr.list) .filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >myArray .map((arr) => arr.list) : (MyObj[] | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->myArray .map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +>myArray .map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray : MyArray > : ^^^^^^^ .map((arr) => arr.list) ->map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ->(arr) => arr.list : (arr: { list?: MyObj[] | undefined; }) => MyObj[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ +>(arr) => arr.list : (arr: { list?: MyObj[]; }) => MyObj[] | undefined +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >arr.list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ .filter((arr) => arr && arr.length) >filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(arr) => arr && arr.length : (arr: MyObj[] | undefined) => number | undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] | undefined @@ -403,7 +403,7 @@ const result = myArray .map((arr) => arr // should error >map : (callbackfn: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(arr) => arr // should error .filter((obj) => obj && obj.data) .map(obj => JSON.parse(obj.data)) : (arr: MyObj[] | undefined) => any[] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] | undefined @@ -411,17 +411,17 @@ const result = myArray >arr // should error .filter((obj) => obj && obj.data) .map(obj => JSON.parse(obj.data)) : any[] > : ^^^^^ >arr // should error .filter((obj) => obj && obj.data) .map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arr // should error .filter((obj) => obj && obj.data) : MyObj[] > : ^^^^^^^ >arr // should error .filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >arr : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ .filter((obj) => obj && obj.data) >filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >(obj) => obj && obj.data : (obj: MyObj) => string | undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -439,7 +439,7 @@ const result = myArray .map(obj => JSON.parse(obj.data)) // should error >map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >obj => JSON.parse(obj.data) : (obj: MyObj) => any > : ^ ^^^^^^^^^^^^^^^ >obj : MyObj @@ -447,11 +447,11 @@ const result = myArray >JSON.parse(obj.data) : any > : ^^^ >JSON.parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >JSON : JSON > : ^^^^ >parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >obj.data : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -467,39 +467,39 @@ const result2 = myArray >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter(arr => arr.length) .map((arr) => arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map(obj => JSON.parse(obj.data)) ) : any[][] > : ^^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter(arr => arr.length) .map : (callbackfn: (value: MyObj[], index: number, array: MyObj[][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter(arr => arr.length) : MyObj[][] > : ^^^^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter : { (predicate: (value: MyObj[], index: number, array: MyObj[][]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[], index: number, array: MyObj[][]) => unknown, thisArg?: any): MyObj[][]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) : MyObj[][] > : ^^^^^^^^^ >myArray .map((arr) => arr.list) .filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >myArray .map((arr) => arr.list) : (MyObj[] | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->myArray .map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +>myArray .map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray : MyArray > : ^^^^^^^ .map((arr) => arr.list) ->map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ->(arr) => arr.list : (arr: { list?: MyObj[] | undefined; }) => MyObj[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ +>(arr) => arr.list : (arr: { list?: MyObj[]; }) => MyObj[] | undefined +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >arr.list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ .filter((arr) => !!arr) >filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(arr) => !!arr : (arr: MyObj[] | undefined) => arr is MyObj[] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] | undefined @@ -513,7 +513,7 @@ const result2 = myArray .filter(arr => arr.length) >filter : { (predicate: (value: MyObj[], index: number, array: MyObj[][]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[], index: number, array: MyObj[][]) => unknown, thisArg?: any): MyObj[][]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >arr => arr.length : (arr: MyObj[]) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] @@ -527,7 +527,7 @@ const result2 = myArray .map((arr) => arr // should ok >map : (callbackfn: (value: MyObj[], index: number, array: MyObj[][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(arr) => arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map(obj => JSON.parse(obj.data)) : (arr: MyObj[]) => any[] > : ^ ^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] @@ -535,21 +535,21 @@ const result2 = myArray >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map(obj => JSON.parse(obj.data)) : any[] > : ^^^^^ >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) : MyObj[] > : ^^^^^^^ >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >arr // should ok .filter((obj) => obj) : MyObj[] > : ^^^^^^^ >arr // should ok .filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >arr : MyObj[] > : ^^^^^^^ .filter((obj) => obj) >filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >(obj) => obj : (obj: MyObj) => MyObj > : ^ ^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -560,7 +560,7 @@ const result2 = myArray // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) >filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >obj => !!obj.data : (obj: MyObj) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -578,7 +578,7 @@ const result2 = myArray .map(obj => JSON.parse(obj.data)) >map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >obj => JSON.parse(obj.data) : (obj: MyObj) => any > : ^ ^^^^^^^^^^^^^^^ >obj : MyObj @@ -586,11 +586,11 @@ const result2 = myArray >JSON.parse(obj.data) : any > : ^^^ >JSON.parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >JSON : JSON > : ^^^^ >parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >obj.data : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -630,11 +630,11 @@ const resultBars: Bar[] = list.filter((value) => 'bar' in value); // should ok >list.filter((value) => 'bar' in value) : Bar[] > : ^^^^^ >list.filter : { (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => value is S, thisArg?: any): S[]; (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => unknown, thisArg?: any): (Foo | Bar)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >list : (Foo | Bar)[] > : ^^^^^^^^^^^^^ >filter : { (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => value is S, thisArg?: any): S[]; (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => unknown, thisArg?: any): (Foo | Bar)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >(value) => 'bar' in value : (value: Foo | Bar) => value is Bar > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : Foo | Bar @@ -697,7 +697,7 @@ const a = [1, "foo", 2, "bar"].filter(x => typeof x === "string"); >[1, "foo", 2, "bar"].filter(x => typeof x === "string") : string[] > : ^^^^^^^^ >[1, "foo", 2, "bar"].filter : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): (string | number)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >[1, "foo", 2, "bar"] : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -709,7 +709,7 @@ const a = [1, "foo", 2, "bar"].filter(x => typeof x === "string"); >"bar" : "bar" > : ^^^^^ >filter : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): (string | number)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >x => typeof x === "string" : (x: string | number) => x is string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | number @@ -727,11 +727,11 @@ a.push(10); >a.push(10) : number > : ^^^^^^ >a.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >a : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >10 : 10 > : ^^ @@ -819,11 +819,11 @@ function flakyIsString(x: string | number) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ } @@ -883,11 +883,11 @@ function flakyIsDate(x: object) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ } @@ -960,11 +960,11 @@ function irrelevantIsNumber(x: string | number) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"string" : "string" @@ -1004,11 +1004,11 @@ function irrelevantIsNumberDestructuring(x: string | number) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"string" : "string" @@ -1341,11 +1341,11 @@ if (isShortString(str)) { >str.charAt(0) : string > : ^^^^^^ >str.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -1354,11 +1354,11 @@ if (isShortString(str)) { >str.charAt(0) : string > : ^^^^^^ >str.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } @@ -1391,11 +1391,11 @@ if (isStringFromUnknown(str)) { >str.charAt(0) : string > : ^^^^^^ >str.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -1614,19 +1614,19 @@ declare const foobar: const foobarPred = (fb: typeof foobar) => fb.type === "foo"; >foobarPred : (fb: typeof foobar) => fb is { type: "foo"; foo: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >(fb: typeof foobar) => fb.type === "foo" : (fb: typeof foobar) => fb is { type: "foo"; foo: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >fb : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foobar : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >fb.type === "foo" : boolean > : ^^^^^^^ >fb.type : "bar" | "foo" > : ^^^^^^^^^^^^^ >fb : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >type : "bar" | "foo" > : ^^^^^^^^^^^^^ >"foo" : "foo" @@ -1636,15 +1636,15 @@ if (foobarPred(foobar)) { >foobarPred(foobar) : boolean > : ^^^^^^^ >foobarPred : (fb: typeof foobar) => fb is { type: "foo"; foo: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foobar : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ foobar.foo; >foobar.foo : number > : ^^^^^^ >foobar : { type: "foo"; foo: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : number > : ^^^^^^ } diff --git a/tests/baselines/reference/inferTypes1.types b/tests/baselines/reference/inferTypes1.types index 025f2a01d009e..23e9586745ede 100644 --- a/tests/baselines/reference/inferTypes1.types +++ b/tests/baselines/reference/inferTypes1.types @@ -561,15 +561,15 @@ const z2: string = ex.obj.nested.attr; >ex.obj.nested.attr : string > : ^^^^^^ >ex.obj.nested : JsonifiedObject<{ attr: Date; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >ex.obj : JsonifiedObject<{ prop: "property"; clz: MyClass; nested: { attr: Date; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^ >ex : JsonifiedObject > : ^^^^^^^^^^^^^^^^^^^^^^^^ >obj : JsonifiedObject<{ prop: "property"; clz: MyClass; nested: { attr: Date; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^ >nested : JsonifiedObject<{ attr: Date; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >attr : string > : ^^^^^^ @@ -690,9 +690,9 @@ const result = invoker('test', true)({ test: (a: boolean) => 123 }) >invoker('test', true)({ test: (a: boolean) => 123 }) : number > : ^^^^^^ >invoker('test', true) : any>>(obj: T) => ReturnType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^ ^^^^^^ >invoker : (key: K, ...args: A) => any>>(obj: T) => ReturnType -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'test' : "test" > : ^^^^^^ >true : true diff --git a/tests/baselines/reference/inferTypes2.types b/tests/baselines/reference/inferTypes2.types index b3fc8cf55fe61..6c47293cf8049 100644 --- a/tests/baselines/reference/inferTypes2.types +++ b/tests/baselines/reference/inferTypes2.types @@ -11,15 +11,15 @@ export declare function foo(obj: T): T extends () => infer P ? P : never; export function bar(obj: T) { >bar : (obj: T) => T extends () => infer P ? P : never -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >obj : T > : ^ return foo(obj); >foo(obj) : T extends () => infer P ? P : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >foo : (obj: T_1) => T_1 extends () => infer P ? P : never -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : T > : ^ } @@ -45,8 +45,8 @@ export function bar2(obj: T) { return foo2(obj); >foo2(obj) : T extends { x: infer P extends number ? infer P : string; } ? P : never > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo2 : (obj: T_1) => T_1 extends { x: infer P extends number ? infer P : string; } ? P : never -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo2 : (obj: T_1) => T_1 extends { [K in keyof BadNested]: BadNested[K]; } ? P : never +> : ^ ^^ ^^ ^^^^^ >obj : T > : ^ } diff --git a/tests/baselines/reference/inferTypesWithExtends1.js b/tests/baselines/reference/inferTypesWithExtends1.js index 0aea5af6173cc..298199e4b9042 100644 --- a/tests/baselines/reference/inferTypesWithExtends1.js +++ b/tests/baselines/reference/inferTypesWithExtends1.js @@ -294,7 +294,7 @@ type X21_T4 = X21<1 | 2, 2 | 3>; type X21_T5 = X21<1 | 2, 3>; type IfEquals = (() => T extends X ? 1 : 2) extends () => T extends Y ? 1 : 2 ? A : B; declare const x1: () => (T extends infer U extends number ? 1 : 0); -declare function f1(): () => T extends infer U extends number ? 1 : 0; +declare function f1(): () => (T extends infer U extends number ? 1 : 0); type ExpectNumber = T; declare const x2: () => (T extends ExpectNumber ? 1 : 0); -declare function f2(): () => T extends infer U extends number ? 1 : 0; +declare function f2(): () => (T extends ExpectNumber ? 1 : 0); diff --git a/tests/baselines/reference/inferTypesWithExtends1.types b/tests/baselines/reference/inferTypesWithExtends1.types index 566aee3c0df0d..e24355d4ff35a 100644 --- a/tests/baselines/reference/inferTypesWithExtends1.types +++ b/tests/baselines/reference/inferTypesWithExtends1.types @@ -435,12 +435,12 @@ declare const x1: () => (T extends infer U extends number ? 1 : 0); > : ^ ^^^^^^^ function f1() { ->f1 : () => () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f1 : () => () => (T extends infer U extends number ? 1 : 0) +> : ^^^^^^^ ^^^^^^^ return x1; ->x1 : () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x1 : () => (T extends infer U extends number ? 1 : 0) +> : ^ ^^^^^^^ } type ExpectNumber = T; @@ -452,10 +452,10 @@ declare const x2: () => (T extends ExpectNumber ? 1 : 0); > : ^ ^^^^^^^ function f2() { ->f2 : () => () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f2 : () => () => (T extends ExpectNumber ? 1 : 0) +> : ^^^^^^^ ^^^^^^^ return x2; ->x2 : () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x2 : () => (T extends ExpectNumber ? 1 : 0) +> : ^ ^^^^^^^ } diff --git a/tests/baselines/reference/inferenceAndHKTs.types b/tests/baselines/reference/inferenceAndHKTs.types index 03f01611e7878..fb4b865f063fe 100644 --- a/tests/baselines/reference/inferenceAndHKTs.types +++ b/tests/baselines/reference/inferenceAndHKTs.types @@ -64,12 +64,12 @@ declare const a: T; > : ^^^^^^^^^ const x1 = map(typeClass); ->x1 : (a: T, f: (a: A) => B) => T -> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ->map(typeClass) : (a: T, f: (a: A) => B) => T -> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>x1 : (a: T, f: (a: A) => B) => Apply +> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ +>map(typeClass) : (a: T, f: (a: A) => B) => Apply +> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >map : (F: TypeClass) => (a: Apply, f: (a: A) => B) => Apply -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >typeClass : TypeClass > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -78,10 +78,10 @@ const x2 = map(typeClass)(a, (_) => _); // T > : ^^^^^^^^^ >map(typeClass)(a, (_) => _) : T > : ^^^^^^^^^ ->map(typeClass) : (a: T, f: (a: A) => B) => T -> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>map(typeClass) : (a: T, f: (a: A) => B) => Apply +> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >map : (F: TypeClass) => (a: Apply, f: (a: A) => B) => Apply -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >typeClass : TypeClass > : ^^^^^^^^^^^^^^^^^^^^^^ >a : T diff --git a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types index c068e97bf96a5..a843f17dad318 100644 --- a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types +++ b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types @@ -19,13 +19,13 @@ interface Node { declare function toArray(value: T | T[]): T[]; >toArray : { (value: T | T[]): T[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : T | T[] > : ^^^^^^^ declare function toArray(value: T | readonly T[]): readonly T[]; >toArray : { (value: T_1 | T_1[]): T_1[]; (value: T | readonly T[]): readonly T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : T | readonly T[] > : ^^^^^^^^^^^^^^^^ @@ -49,11 +49,11 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | >node.forEachChild(child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } }) : void | undefined > : ^^^^^^^^^^^^^^^^ >node.forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >node : Node > : ^^^^ >forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } } : (child: Node) => void > : ^ ^^^^^^^^^^^^^^^ >child : Node @@ -64,8 +64,8 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cb(child) : T | readonly T[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->cb : (child: Node) => T | readonly T[] | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cb : (child: Node) => readonly T[] | T | undefined +> : ^ ^^ ^^^^^ >child : Node > : ^^^^ @@ -81,17 +81,17 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | >result.push(...toArray(value)) : number > : ^^^^^^ >result.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >...toArray(value) : T > : ^ >toArray(value) : readonly T[] > : ^^^^^^^^^^^^ >toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : readonly T[] | (T & ({} | null)) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -121,11 +121,11 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | >node.forEachChild(child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } }) : void | undefined > : ^^^^^^^^^^^^^^^^ >node.forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >node : Node > : ^^^^ >forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } } : (child: Node) => void > : ^ ^^^^^^^^^^^^^^^ >child : Node @@ -136,8 +136,8 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | > : ^^^^^^^^^^^^^^^^^^^^^^^ >cb(child) : T | readonly T[] | null > : ^^^^^^^^^^^^^^^^^^^^^^^ ->cb : (child: Node) => T | readonly T[] | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cb : (child: Node) => readonly T[] | T | null +> : ^ ^^ ^^^^^ >child : Node > : ^^^^ @@ -151,17 +151,17 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | >result.push(...toArray(value)) : number > : ^^^^^^ >result.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >...toArray(value) : T > : ^ >toArray(value) : readonly T[] > : ^^^^^^^^^^^^ >toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : readonly T[] | (T & ({} | undefined)) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/inferenceExactOptionalProperties2.types b/tests/baselines/reference/inferenceExactOptionalProperties2.types index 14e548b740a59..8f0e9d5dcbfd1 100644 --- a/tests/baselines/reference/inferenceExactOptionalProperties2.types +++ b/tests/baselines/reference/inferenceExactOptionalProperties2.types @@ -126,47 +126,47 @@ setup({ >setup({ actors: { counter: counterLogic },}).createMachine({ entry: assign((spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; }),}) : void > : ^^^^ >setup({ actors: { counter: counterLogic },}).createMachine : ; }>>(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >setup({ actors: { counter: counterLogic },}) : { createMachine: ; }>>(config: TConfig) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >setup : = {}>(implementations?: { actors?: { [K in keyof TActors]: TActors[K]; }; }) => { createMachine: >>(config: TConfig) => void; } -> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^ >{ actors: { counter: counterLogic },} : { actors: { counter: ActorLogic<{ type: "INCREMENT"; }>; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ actors: { counter: counterLogic }, >actors : { counter: ActorLogic<{ type: "INCREMENT"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >{ counter: counterLogic } : { counter: ActorLogic<{ type: "INCREMENT"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >counter : ActorLogic<{ type: "INCREMENT"; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^ >counterLogic : ActorLogic<{ type: "INCREMENT"; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^ }).createMachine({ >createMachine : ; }>>(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >{ entry: assign((spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; }),} : { entry: AssignAction<{ src: "counter"; logic: ActorLogic<{ type: "INCREMENT"; }>; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ entry: assign((spawn) => { >entry : AssignAction<{ src: "counter"; logic: ActorLogic<{ type: "INCREMENT"; }>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >assign((spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; }) : AssignAction<{ src: "counter"; logic: ActorLogic<{ type: "INCREMENT"; }>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >assign : (_: (spawn: (actor: TActor["src"]) => void) => {}) => AssignAction -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; } : (spawn: (actor: "counter") => void) => {} -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ >spawn : (actor: "counter") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ spawn("counter"); // ok >spawn("counter") : void > : ^^^^ >spawn : (actor: "counter") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >"counter" : "counter" > : ^^^^^^^^^ @@ -174,7 +174,7 @@ setup({ >spawn("alarm") : void > : ^^^^ >spawn : (actor: "counter") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >"alarm" : "alarm" > : ^^^^^^^ @@ -190,13 +190,13 @@ setup().createMachine({ >setup().createMachine({ entry: assign(() => ({})),}) : void > : ^^^^ >setup().createMachine : >(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >setup() : { createMachine: >(config: TConfig) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >setup : = {}>(implementations?: { actors?: { [K in keyof TActors]: TActors[K]; }; }) => { createMachine: >>(config: TConfig) => void; } -> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^ >createMachine : >(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >{ entry: assign(() => ({})),} : { entry: AssignAction; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -206,7 +206,7 @@ setup().createMachine({ >assign(() => ({})) : AssignAction > : ^^^^^^^^^^^^^^^^^^^ >assign : (_: (spawn: (actor: TActor["src"]) => void) => {}) => AssignAction -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >() => ({}) : () => {} > : ^^^^^^^^ >({}) : {} diff --git a/tests/baselines/reference/inferenceFromIncompleteSource.types b/tests/baselines/reference/inferenceFromIncompleteSource.types index 0efabf9e93f84..e634c003fdbde 100644 --- a/tests/baselines/reference/inferenceFromIncompleteSource.types +++ b/tests/baselines/reference/inferenceFromIncompleteSource.types @@ -27,7 +27,7 @@ Component({items: [{name:' string'}], itemKey: 'name' }); >Component({items: [{name:' string'}], itemKey: 'name' }) : void > : ^^^^ >Component : (x: ListProps) => void -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{items: [{name:' string'}], itemKey: 'name' } : { items: { name: string; }[]; itemKey: "name"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >items : { name: string; }[] diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types index e5a7a2fdf95e1..5e462a6227fa0 100644 --- a/tests/baselines/reference/inferenceLimit.types +++ b/tests/baselines/reference/inferenceLimit.types @@ -31,11 +31,11 @@ export class BrokenClass { >MyModule : any > : ^^^ >(resolve, reject) => { let result: Array = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }); } : (resolve: (value: MyModule.MyModel[] | PromiseLike) => void, reject: (reason?: any) => void) => Promise -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ >resolve : (value: MyModule.MyModel[] | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ let result: Array = []; >result : MyModule.MyModel[] @@ -58,17 +58,17 @@ export class BrokenClass { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ this.doStuff(order.id) >this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }) : Promise > : ^^^^^^^^^^^^^ >this.doStuff(order.id) .then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.doStuff(order.id) : Promise > : ^^^^^^^^^^^^^ >this.doStuff : (id: number) => Promise @@ -85,7 +85,7 @@ export class BrokenClass { .then((items) => { >then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(items) => { order.items = items; resolve(order); } : (items: void) => void > : ^ ^^^^^^^^^^^^^^^ >items : void @@ -106,7 +106,7 @@ export class BrokenClass { >resolve(order) : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >order : any }); @@ -117,29 +117,29 @@ export class BrokenClass { >Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }) : Promise > : ^^^^^^^^^^^^^ >Promise.all(result.map(populateItems)) .then : (onfulfilled?: (value: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.all(result.map(populateItems)) : Promise > : ^^^^^^^^^^^^^^^^^^ >Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >result.map(populateItems) : Promise[] > : ^^^^^^^^^^^^^^^^^^ >result.map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >result : MyModule.MyModel[] > : ^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >populateItems : (order: any) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ .then((orders: Array) => { >then : (onfulfilled?: (value: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(orders: Array) => { resolve(orders); } : (orders: Array) => void > : ^ ^^ ^^^^^^^^^ >orders : MyModule.MyModel[] @@ -151,7 +151,7 @@ export class BrokenClass { >resolve(orders) : void > : ^^^^ >resolve : (value: MyModule.MyModel[] | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >orders : MyModule.MyModel[] > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inferenceOptionalProperties.types b/tests/baselines/reference/inferenceOptionalProperties.types index f2b27775df477..785bb6f8de3bf 100644 --- a/tests/baselines/reference/inferenceOptionalProperties.types +++ b/tests/baselines/reference/inferenceOptionalProperties.types @@ -31,9 +31,9 @@ const y1 = test(x1); >test(x1) : string | number > : ^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x1 : { a?: string; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ const y2 = test(x2); >y2 : string | number | undefined @@ -41,9 +41,9 @@ const y2 = test(x2); >test(x2) : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x2 : { a?: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ var v1: Required<{ a?: string, b?: number }>; >v1 : Required<{ a?: string; b?: number; }> @@ -55,7 +55,7 @@ var v1: Required<{ a?: string, b?: number }>; var v1: { a: string, b: number }; >v1 : Required<{ a?: string; b?: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number @@ -71,7 +71,7 @@ var v2: Required<{ a?: string, b?: number | undefined }>; var v2: { a: string, b: number | undefined }; >v2 : Required<{ a?: string; b?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number | undefined @@ -87,7 +87,7 @@ var v3: Partial<{ a: string, b: string }>; var v3: { a?: string, b?: string }; >v3 : Partial<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -103,7 +103,7 @@ var v4: Partial<{ a: string, b: string | undefined }>; var v4: { a?: string, b?: string | undefined }; >v4 : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -119,7 +119,7 @@ var v5: Required>; var v5: { a: string, b: string }; >v5 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -135,7 +135,7 @@ var v6: Required>; var v6: { a: string, b: string | undefined }; >v6 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string | undefined diff --git a/tests/baselines/reference/inferenceOptionalPropertiesStrict.types b/tests/baselines/reference/inferenceOptionalPropertiesStrict.types index db42a8eacf409..a9f80e3f56a13 100644 --- a/tests/baselines/reference/inferenceOptionalPropertiesStrict.types +++ b/tests/baselines/reference/inferenceOptionalPropertiesStrict.types @@ -31,9 +31,9 @@ const y1 = test(x1); >test(x1) : string | number > : ^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x1 : { a?: string; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ const y2 = test(x2); >y2 : string | number | undefined @@ -41,9 +41,9 @@ const y2 = test(x2); >test(x2) : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x2 : { a?: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ var v1: Required<{ a?: string, b?: number }>; >v1 : Required<{ a?: string; b?: number; }> @@ -55,7 +55,7 @@ var v1: Required<{ a?: string, b?: number }>; var v1: { a: string, b: number }; >v1 : Required<{ a?: string; b?: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number @@ -71,7 +71,7 @@ var v2: Required<{ a?: string, b?: number | undefined }>; var v2: { a: string, b: number | undefined }; >v2 : Required<{ a?: string; b?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number | undefined @@ -87,7 +87,7 @@ var v3: Partial<{ a: string, b: string }>; var v3: { a?: string, b?: string }; >v3 : Partial<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -103,7 +103,7 @@ var v4: Partial<{ a: string, b: string | undefined }>; var v4: { a?: string, b?: string | undefined }; >v4 : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -119,7 +119,7 @@ var v5: Required>; var v5: { a: string, b: string }; >v5 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -135,7 +135,7 @@ var v6: Required>; var v6: { a: string, b: string | undefined }; >v6 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string | undefined diff --git a/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types b/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types index 0b0a5e9f9e590..c10b0f3425374 100644 --- a/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types +++ b/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types @@ -47,9 +47,9 @@ let a1 = foo(x1); // string | number >foo(x1) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x1 : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ let a2 = foo(x2); // string | number | undefined >a2 : string | number | undefined @@ -57,9 +57,9 @@ let a2 = foo(x2); // string | number | undefined >foo(x2) : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x2 : { a: string; b: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ let a3 = foo(x3); // string | number >a3 : string | number @@ -67,9 +67,9 @@ let a3 = foo(x3); // string | number >foo(x3) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ ->x3 : { a: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>x3 : { a: string; b?: number; } +> : ^^^^^ ^^^^^^ ^^^ let a4 = foo(x4); // string | number >a4 : string | number @@ -77,9 +77,9 @@ let a4 = foo(x4); // string | number >foo(x4) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x4 : { a: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ // Repro from #43045 @@ -93,11 +93,11 @@ const param2 = Math.random() < 0.5 ? 'value2' : null; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >'value2' : "value2" @@ -137,23 +137,23 @@ const query = Object.entries(obj).map( >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join('&') : string > : ^^^^^^ >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`) : string[] > : ^^^^^^^^ >Object.entries(obj).map : (callbackfn: (value: [string, string], index: number, array: [string, string][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >Object.entries(obj) : [string, string][] > : ^^^^^^^^^^^^^^^^^^ >Object.entries : { (o: { [s: string]: T; } | ArrayLike): [string, T][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >entries : { (o: { [s: string]: T; } | ArrayLike): [string, T][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { param2?: string | undefined; param1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: [string, string], index: number, array: [string, string][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ([k, v]) => `${k}=${encodeURIComponent(v)}` >([k, v]) => `${k}=${encodeURIComponent(v)}` : ([k, v]: [string, string]) => string @@ -169,13 +169,13 @@ const query = Object.entries(obj).map( >encodeURIComponent(v) : string > : ^^^^^^ >encodeURIComponent : (uriComponent: string | number | boolean) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v : string > : ^^^^^^ ).join('&'); >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'&' : "&" > : ^^^ diff --git a/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types b/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types index 0ad2a8153849a..ea3cff709321a 100644 --- a/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types +++ b/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types @@ -110,11 +110,11 @@ export class Foo extends Base { >Object.assign(this.t, { x: 1 }) : T & { x: number; } > : ^^^^^^^^^^^^^^^^^^ >Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this.t : T > : ^ >this : this @@ -130,10 +130,10 @@ export class Foo extends Base { return new Foo(v); >new Foo(v) : Foo> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >v : Assign -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^ } } diff --git a/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types b/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types index 593ef92537018..4019055ec321a 100644 --- a/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types +++ b/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types @@ -13,11 +13,11 @@ function logLength(arg: { [K in U]: T }[U]): >console.log(arg.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >arg.length : number > : ^^^^^^ >arg : { [K in U]: T; }[U] @@ -33,7 +33,7 @@ logLength(42); // error >logLength(42) : string > : ^^^^^^ >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -49,7 +49,7 @@ z = logLength(42); // no error; T is inferred as `any` >logLength(42) : string > : ^^^^^^ >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -63,11 +63,11 @@ function logFirstLength(arg: { [K in U]: T >console.log(arg[0].length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >arg[0].length : number > : ^^^^^^ >arg[0] : string @@ -87,7 +87,7 @@ logFirstLength([42]); // error >logFirstLength([42]) : string[] > : ^^^^^^^^ >logFirstLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[42] : number[] > : ^^^^^^^^ >42 : 42 @@ -103,15 +103,15 @@ zz.push(logLength(42)); // no error; T is inferred as `any` >zz.push(logLength(42)) : number > : ^^^^^^ >zz.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >zz : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >logLength(42) : string > : ^^^^^^ >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -123,7 +123,7 @@ zz = logFirstLength([42]); // no error; T is inferred as `any[]` >logFirstLength([42]) : string[] > : ^^^^^^^^ >logFirstLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[42] : number[] > : ^^^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types b/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types index 7411f7adbfd1a..b7e8b5a574056 100644 --- a/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types +++ b/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types @@ -66,11 +66,11 @@ const test: RowRenderer = { >value.toString() : string > : ^^^^^^ >value.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >value : Date > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'-' : "-" > : ^^^ } diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types index 2a82ba53b3e5b..a7810422c9cc4 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types @@ -22,7 +22,7 @@ foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } } >foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string > : ^^^^^^ >foo : (x: T, y: Int, z: Int) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >{ method(p1) { return p1.length } } : { method(p1: string): number; } diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types index 0b8ba0af4cfcd..084f93e089b0d 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types @@ -22,7 +22,7 @@ foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } } >foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string > : ^^^^^^ >foo : (x: T, y: Int, z: Int) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >{ method(p1) { return p1.length } } : { method(p1: string): number; } diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType1.types b/tests/baselines/reference/inferentialTypingUsingApparentType1.types index dc8898845b193..22ece40629b22 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType1.types +++ b/tests/baselines/reference/inferentialTypingUsingApparentType1.types @@ -18,7 +18,7 @@ foo(x => x.length); >foo(x => x.length) : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : number>(x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType2.types b/tests/baselines/reference/inferentialTypingUsingApparentType2.types index 245d13890b8e5..ae4c56f616612 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType2.types +++ b/tests/baselines/reference/inferentialTypingUsingApparentType2.types @@ -20,7 +20,7 @@ foo({ m(x) { return x.length } }); >foo({ m(x) { return x.length } }) : { m(x: string): number; } > : ^^^^ ^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ m(x) { return x.length } } : { m(x: string): number; } > : ^^^^ ^^^^^^^^^^^^^^^^^^^^ >m : (x: string) => number diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType.types b/tests/baselines/reference/inferentialTypingWithFunctionType.types index c16599d2271af..bad6c1ba9a134 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionType.types @@ -23,9 +23,9 @@ var s = map("", identity); >map("", identity) : string > : ^^^^^^ >map : (x: T, f: (s: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType2.types b/tests/baselines/reference/inferentialTypingWithFunctionType2.types index cc18197a3113c..934dc28effa6c 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType2.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionType2.types @@ -19,7 +19,7 @@ var x = [1, 2, 3].map(identity)[0]; >[1, 2, 3].map(identity) : number[] > : ^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -29,9 +29,9 @@ var x = [1, 2, 3].map(identity)[0]; >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >identity : (a: A) => A -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types index 18696233b313c..de69d871f2db6 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types @@ -25,15 +25,15 @@ var s = map("", () => { return { x: identity }; }); >map("", () => { return { x: identity }; }) : string > : ^^^^^^ >map : (x: T, f: () => { x: (s: T) => U; }) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >() => { return { x: identity }; } : () => { x: (y: string) => string; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >{ x: identity } : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types index f0fcfdfef51bb..7253f75b4b071 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types @@ -24,13 +24,13 @@ var s: string; // dotted name var dottedIdentity = { x: identity }; >dottedIdentity : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >{ x: identity } : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ s = map("", dottedIdentity.x); >s = map("", dottedIdentity.x) : string @@ -40,15 +40,15 @@ s = map("", dottedIdentity.x); >map("", dottedIdentity.x) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >dottedIdentity.x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dottedIdentity : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // index expression s = map("", dottedIdentity['x']); @@ -59,13 +59,13 @@ s = map("", dottedIdentity['x']); >map("", dottedIdentity['x']) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >dottedIdentity['x'] : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dottedIdentity : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >'x' : "x" > : ^^^ @@ -78,23 +78,23 @@ s = map("", (() => identity)()); >map("", (() => identity)()) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >(() => identity)() : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(() => identity) : () => (y: V) => V -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >() => identity : () => (y: V) => V -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // construct interface IdentityConstructor { new (): typeof identity; >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } var ic: IdentityConstructor; >ic : IdentityConstructor @@ -108,11 +108,11 @@ s = map("", new ic()); >map("", new ic()) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >new ic() : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ic : IdentityConstructor > : ^^^^^^^^^^^^^^^^^^^ @@ -128,14 +128,14 @@ s = map("", t = identity); >map("", t = identity) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >t = identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t : any >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // type assertion s = map("", identity); @@ -146,15 +146,15 @@ s = map("", identity); >map("", identity) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // parenthesized expression s = map("", (identity)); @@ -165,13 +165,13 @@ s = map("", (identity)); >map("", (identity)) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >(identity) : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // comma s = map("", ("", identity)); @@ -182,15 +182,15 @@ s = map("", ("", identity)); >map("", ("", identity)) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >("", identity) : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"", identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types index 3099e967ea2ee..e606f9e44bb3a 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types @@ -33,7 +33,7 @@ var result = zipWith([1, 2], ['a', 'b'], pair); >zipWith([1, 2], ['a', 'b'], pair) : { x: number; y: unknown; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zipWith : (a: T[], b: S[], f: (x: T) => (y: S) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -47,7 +47,7 @@ var result = zipWith([1, 2], ['a', 'b'], pair); >'b' : "b" > : ^^^ >pair : (x: T) => (y: S) => { x: T; y: S; } -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var i = result[0].x; // number >i : number diff --git a/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types b/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types index 0bb0dedb2f97c..35f438956e0f2 100644 --- a/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types +++ b/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types @@ -23,7 +23,7 @@ f({ x: [null] }, { x: [1] }).x[0] = "" // ok >f({ x: [null] }, { x: [1] }) : { x: number[]; } > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: [null] } : { x: null[]; } > : ^^^^^^^^^^^^^^ >x : null[] @@ -55,7 +55,7 @@ f({ x: [1] }, { x: [null] }).x[0] = "" // was error TS2011: Cannot convert 'stri >f({ x: [1] }, { x: [null] }) : { x: number[]; } > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: [1] } : { x: number[]; } > : ^^^^^^^^^^^^^^^^ >x : number[] diff --git a/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types b/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types index 71d01b1e8e6ff..a4076b3bab91b 100644 --- a/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types +++ b/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types @@ -27,7 +27,7 @@ foo([]).bar; >foo([]) : any > : ^^^ >foo : (arr: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >bar : any diff --git a/tests/baselines/reference/inferingFromAny.types b/tests/baselines/reference/inferingFromAny.types index 0481a28a09929..2e6b90e4585ed 100644 --- a/tests/baselines/reference/inferingFromAny.types +++ b/tests/baselines/reference/inferingFromAny.types @@ -147,14 +147,14 @@ var a = f1(a); >a : any >f1(a) : any >f1 : (t: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f2(a); >a : any >f2(a) : any >f2 : (t: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var t = f3(a); @@ -163,63 +163,63 @@ var t = f3(a); >f3(a) : [any, any] > : ^^^^^^^^^^ >f3 : (t: [T, U]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var a = f4(a); >a : any >f4(a) : any >f4 : (x: { bar: T; baz: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f5(a); >a : any >f5(a) : any >f5 : (x: (a: T) => void) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f6(a); >a : any >f6(a) : any >f6 : (x: new (a: T) => {}) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f7(a); >a : any >f7(a) : any >f7 : (x: (a: any) => a is T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f8(a); >a : any >f8(a) : any >f8 : (x: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f9(a); >a : any >f9(a) : any >f9 : (x: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f10(a); >a : any >f10(a) : any >f10 : (x: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f11(a); >a : any >f11(a) : any >f11 : (x: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var t = f12(a); @@ -228,7 +228,7 @@ var t = f12(a); >f12(a) : [any, any] > : ^^^^^^^^^^ >f12 : (x: T | U) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var t = f13(a); @@ -237,7 +237,7 @@ var t = f13(a); >f13(a) : [any, any] > : ^^^^^^^^^^ >f13 : (x: T & U) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var t = f14(a); @@ -246,42 +246,42 @@ var t = f14(a); >f14(a) : [any, any] > : ^^^^^^^^^^ >f14 : (x: { a: T | U; b: U & T; }) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var a = f15(a); >a : any >f15(a) : any >f15 : (x: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f16(a); >a : any >f16(a) : any >f16 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f17(a); >a : any >f17(a) : any >f17 : (x: { [P in keyof T]: K; }) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var a = f18(a); >a : any >f18(a) : any >f18 : (x: { [P in K]: T[P]; }) => T -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any var a = f19(a, a); >a : any >f19(a, a) : any >f19 : (k: K, x: T[K]) => T -> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any >a : any diff --git a/tests/baselines/reference/inferringAnyFunctionType1.types b/tests/baselines/reference/inferringAnyFunctionType1.types index 8559ecd64cfaa..2b2b5d3a8f21c 100644 --- a/tests/baselines/reference/inferringAnyFunctionType1.types +++ b/tests/baselines/reference/inferringAnyFunctionType1.types @@ -22,7 +22,7 @@ var v = f([x => x]); >f([x => x]) : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >f : number; }>(p: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[x => x] : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number diff --git a/tests/baselines/reference/inferringAnyFunctionType2.types b/tests/baselines/reference/inferringAnyFunctionType2.types index 375e0abea0202..1ba79c223a99c 100644 --- a/tests/baselines/reference/inferringAnyFunctionType2.types +++ b/tests/baselines/reference/inferringAnyFunctionType2.types @@ -20,7 +20,7 @@ var v = f([x => x]); >f([x => x]) : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >f : number]>(p: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[x => x] : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number diff --git a/tests/baselines/reference/inferringAnyFunctionType3.types b/tests/baselines/reference/inferringAnyFunctionType3.types index af8cf3b8ea0f9..ef3bdfedb840e 100644 --- a/tests/baselines/reference/inferringAnyFunctionType3.types +++ b/tests/baselines/reference/inferringAnyFunctionType3.types @@ -20,7 +20,7 @@ var v = f([x => x]); >f([x => x]) : ((x: number) => number)[] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ >f : number)[]>(p: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[x => x] : ((x: number) => number)[] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number diff --git a/tests/baselines/reference/inferringAnyFunctionType4.types b/tests/baselines/reference/inferringAnyFunctionType4.types index ac81ebf6a4e58..f5ffc70a7d121 100644 --- a/tests/baselines/reference/inferringAnyFunctionType4.types +++ b/tests/baselines/reference/inferringAnyFunctionType4.types @@ -20,7 +20,7 @@ var v = f(x => x); >f(x => x) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f : number>(p: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/inferringAnyFunctionType5.types b/tests/baselines/reference/inferringAnyFunctionType5.types index d2233caf9a146..44ab2e3efd0c4 100644 --- a/tests/baselines/reference/inferringAnyFunctionType5.types +++ b/tests/baselines/reference/inferringAnyFunctionType5.types @@ -22,7 +22,7 @@ var v = f({ q: x => x }); >f({ q: x => x }) : { q: (x: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >f : number; }>(p: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ q: x => x } : { q: (x: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >q : (x: number) => number diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments.types b/tests/baselines/reference/inferringClassMembersFromAssignments.types index 74b1d2f7c548b..54e19c4414ddd 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments.types +++ b/tests/baselines/reference/inferringClassMembersFromAssignments.types @@ -10,11 +10,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inConstructor = 0; >this.inConstructor = 0 : 0 @@ -61,11 +61,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inMethod = 0; >this.inMethod = 0 : 0 @@ -148,11 +148,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inNestedArrowFunction = 0; >this.inNestedArrowFunction = 0 : 0 @@ -189,11 +189,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inGetter = 0; >this.inGetter = 0 : 0 @@ -252,11 +252,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inSetter = 0; >this.inSetter = 0 : 0 @@ -294,11 +294,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inPropertyDeclaration = 0; >this.inPropertyDeclaration = 0 : 0 @@ -334,11 +334,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticMethod = 0; >this.inStaticMethod = 0 : 0 @@ -376,11 +376,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticNestedArrowFunction = 0; >this.inStaticNestedArrowFunction = 0 : 0 @@ -417,11 +417,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticGetter = 0; >this.inStaticGetter = 0 : 0 @@ -457,11 +457,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticSetter = 0; >this.inStaticSetter = 0 : 0 @@ -499,11 +499,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticPropertyDeclaration = 0; >this.inStaticPropertyDeclaration = 0 : 0 diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments6.types b/tests/baselines/reference/inferringClassMembersFromAssignments6.types index e73b81d4ca35d..3531a4c7a13ae 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments6.types +++ b/tests/baselines/reference/inferringClassMembersFromAssignments6.types @@ -37,11 +37,11 @@ function Foonly() { >console.log(self.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self.x : number > : ^^^^^^ >self : this diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments7.types b/tests/baselines/reference/inferringClassMembersFromAssignments7.types index 6898c167e5703..473ef99d9e563 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments7.types +++ b/tests/baselines/reference/inferringClassMembersFromAssignments7.types @@ -38,11 +38,11 @@ class C { >console.log(self.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self.x : number > : ^^^^^^ >self : this diff --git a/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types b/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types index c203924a0d990..1df958c235d90 100644 --- a/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types +++ b/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types @@ -57,7 +57,7 @@ function g(type: new () => T): T { >new type() : T > : ^ >type : new () => T -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ } const g1 = g(GenericObject); @@ -66,7 +66,7 @@ const g1 = g(GenericObject); >g(GenericObject) : GenericObject<{}> > : ^^^^^^^^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericObject : typeof GenericObject > : ^^^^^^^^^^^^^^^^^^^^ @@ -88,7 +88,7 @@ const g2 = g(GenericNumber); >g(GenericNumber) : GenericNumber > : ^^^^^^^^^^^^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericNumber : typeof GenericNumber > : ^^^^^^^^^^^^^^^^^^^^ @@ -110,7 +110,7 @@ const g3 = g(GenericNumberOrString); >g(GenericNumberOrString) : GenericNumberOrString > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericNumberOrString : typeof GenericNumberOrString > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,7 +149,7 @@ const g4 = g(C); >g(C) : C > : ^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ diff --git a/tests/baselines/reference/infiniteConstraints.types b/tests/baselines/reference/infiniteConstraints.types index 0c70f92d8e2d6..db1a3468d2e26 100644 --- a/tests/baselines/reference/infiniteConstraints.types +++ b/tests/baselines/reference/infiniteConstraints.types @@ -39,7 +39,7 @@ const out = myBug({obj1: {a: "test"}}) >myBug({obj1: {a: "test"}}) : { obj1: { a: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >myBug : ? U : never; }>(arg: T) => T -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{obj1: {a: "test"}} : { obj1: { a: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >obj1 : { a: string; } @@ -80,7 +80,7 @@ const noError = ensureNoDuplicates({main: value("test"), alternate: value("test2 >ensureNoDuplicates({main: value("test"), alternate: value("test2")}) : void > : ^^^^ >ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{main: value("test"), alternate: value("test2")} : { main: Value<"test">; alternate: Value<"test2">; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >main : Value<"test"> @@ -88,7 +88,7 @@ const noError = ensureNoDuplicates({main: value("test"), alternate: value("test2 >value("test") : Value<"test"> > : ^^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ >alternate : Value<"test2"> @@ -96,7 +96,7 @@ const noError = ensureNoDuplicates({main: value("test"), alternate: value("test2 >value("test2") : Value<"test2"> > : ^^^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"test2" : "test2" > : ^^^^^^^ @@ -106,7 +106,7 @@ const shouldBeNoError = ensureNoDuplicates({main: value("test")}); >ensureNoDuplicates({main: value("test")}) : void > : ^^^^ >ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{main: value("test")} : { main: Value<"test">; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >main : Value<"test"> @@ -114,7 +114,7 @@ const shouldBeNoError = ensureNoDuplicates({main: value("test")}); >value("test") : Value<"test"> > : ^^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ @@ -124,7 +124,7 @@ const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value(" >ensureNoDuplicates({main: value("dup"), alternate: value("dup")}) : void > : ^^^^ >ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{main: value("dup"), alternate: value("dup")} : { main: Value<"dup">; alternate: Value<"dup">; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >main : Value<"dup"> @@ -132,7 +132,7 @@ const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value(" >value("dup") : Value<"dup"> > : ^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"dup" : "dup" > : ^^^^^ >alternate : Value<"dup"> @@ -140,7 +140,7 @@ const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value(" >value("dup") : Value<"dup"> > : ^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"dup" : "dup" > : ^^^^^ diff --git a/tests/baselines/reference/infiniteExpansionThroughTypeInference.types b/tests/baselines/reference/infiniteExpansionThroughTypeInference.types index f5fab085dd5ce..8e6650bc24c07 100644 --- a/tests/baselines/reference/infiniteExpansionThroughTypeInference.types +++ b/tests/baselines/reference/infiniteExpansionThroughTypeInference.types @@ -21,7 +21,7 @@ function ff(g: G): void { >ff(g) : void > : ^^^^ >ff : (g: G) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : G > : ^^^^ } diff --git a/tests/baselines/reference/infinitelyExpandingTypes2.types b/tests/baselines/reference/infinitelyExpandingTypes2.types index 94f772743ddc4..c463db4614b5b 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes2.types +++ b/tests/baselines/reference/infinitelyExpandingTypes2.types @@ -23,11 +23,11 @@ function f(p: Foo) { >console.log(p) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >p : Foo > : ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/infinitelyExpandingTypes5.types b/tests/baselines/reference/infinitelyExpandingTypes5.types index d405e07e27c92..35c4f2d582a9a 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes5.types +++ b/tests/baselines/reference/infinitelyExpandingTypes5.types @@ -21,19 +21,19 @@ interface Enumerator { function from(array: T[]): Query; >from : { (array: T[]): Query; (enumerator: Enumerator): Query; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >array : T[] > : ^^^ function from(enumerator: Enumerator): Query; >from : { (array: T_1[]): Query; (enumerator: Enumerator): Query; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >enumerator : Enumerator > : ^^^^^^^^^^^^^ function from(arg: any): any { >from : { (array: T[]): Query; (enumerator: Enumerator): Query; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >arg : any return undefined; diff --git a/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types b/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types index ff65ca9749f72..5caec9e1b7900 100644 --- a/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types +++ b/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types @@ -11,15 +11,15 @@ class a { get x() { >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return this.__x; >this.__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } set x(aValue: () => string) { >x : () => string @@ -29,15 +29,15 @@ class a { this.__x = aValue; >this.__x = aValue : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >aValue : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types b/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types index eb08c05e4b279..bf87233f4e145 100644 --- a/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types +++ b/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types @@ -13,7 +13,7 @@ class a { } static set x(aValue: () => string) { >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >aValue : () => string > : ^^^^^^ } diff --git a/tests/baselines/reference/inheritedModuleMembersForClodule.types b/tests/baselines/reference/inheritedModuleMembersForClodule.types index 7c378d7c1e9e3..08dad5b828d18 100644 --- a/tests/baselines/reference/inheritedModuleMembersForClodule.types +++ b/tests/baselines/reference/inheritedModuleMembersForClodule.types @@ -51,11 +51,11 @@ class E extends D { >this.foo() : number > : ^^^^^^ >this.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : typeof E > : ^^^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types index d0c72a15309ce..22cace144811d 100644 --- a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types +++ b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types @@ -22,7 +22,7 @@ b('foo').charAt(0); >b('foo').charAt(0) : string > : ^^^^^^ >b('foo').charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b('foo') : string > : ^^^^^^ >b : B @@ -30,7 +30,7 @@ b('foo').charAt(0); >'foo' : "foo" > : ^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types +++ b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types +++ b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializedDestructuringAssignmentTypes.types b/tests/baselines/reference/initializedDestructuringAssignmentTypes.types index 1448d1981e352..c366c677aa9c7 100644 --- a/tests/baselines/reference/initializedDestructuringAssignmentTypes.types +++ b/tests/baselines/reference/initializedDestructuringAssignmentTypes.types @@ -12,12 +12,12 @@ const [, a = ''] = ''.match('') || []; > : ^^^^^^^^^^^^^^^^^^^^^ >''.match('') : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->''.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>''.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >[] : [] diff --git a/tests/baselines/reference/inlineJsxAndJsxFragPragma.types b/tests/baselines/reference/inlineJsxAndJsxFragPragma.types index 6fc680639edc9..397ae5084e48c 100644 --- a/tests/baselines/reference/inlineJsxAndJsxFragPragma.types +++ b/tests/baselines/reference/inlineJsxAndJsxFragPragma.types @@ -32,9 +32,9 @@ export function Fragment(): void; */ import {h, Fragment} from "./renderer"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <>